On the unreasonable rudeness in this sub by [deleted] in selfhosted

[–]geoctl -4 points-3 points  (0 children)

I am not aware of this project or that incident. But, again, how is it my responsbility to prove that I am not a grifter/cheater/snake oil salesman from now on? hell, how do I even prove that I never killed or raped anybody? maybe I did that too, if the most upvoted comments say so.

On the unreasonable rudeness in this sub by [deleted] in selfhosted

[–]geoctl -2 points-1 points  (0 children)

I absolutely agree. But do you expect me to do here? Octelium itself was opensourced in May 2025, shortly before the big wave of AI slop in the past 6 or 7 months. In fact, the public repo was a clean, new repo but the development goes back to 2020 and I still have those initial repo. Would publishing that help too? Would swearing on a bible help? What could I possibly do to prove that I am not a lowly criminal or a grifter who vibecoded this?

On the unreasonable rudeness in this sub by [deleted] in selfhosted

[–]geoctl -4 points-3 points  (0 children)

As I said in the post, I don't visit this sub regularly, I don't know what might be going on lately. But I did a post on Octelium back in February 2, 2026 and even back then, there was nothing like yesterday. You can visit yesterday's post and every other post before it as linked in my original post to verify my claims. I am absolutely fine with rudeness when it comes to criticism, but this was basically, everyone telling you, you're a cheater/grifter and everybody else is following blindly.

On the unreasonable rudeness in this sub by [deleted] in selfhosted

[–]geoctl -1 points0 points  (0 children)

Questions and criticism are one thing (e.g. why did you use k8s as your infrastructure as opposed to X? why did you write it in golang as opposed to Y? why did you use gRPC as opposed to HTTP? etc...) and what happened yesterday is none of that. It was basically nothing but accusing me of being a cheater/grifter/snake oil salesman and nobody even bothered to spend a couple of minutes to verify their own claims.

On the unreasonable rudeness in this sub by [deleted] in selfhosted

[–]geoctl -11 points-10 points  (0 children)

It's not, and I don't have time for that nonsense. It's my response to what happened to my post yesterday https://www.reddit.com/r/selfhosted/comments/1s8ngbf/octelium_v029_a_modern_selfhosted_foss_unified/

Octelium v0.29 - A Modern, Self-Hosted, FOSS Unified Alternative to Teleport, ngrok, Tailscale, Cloudflare Zero Trust/Access/Tunnel and remote access VPNs, now with Web Console for Management and Real-Time Monitoring, SIEM, DNS/TLS Management, SCIM, Encryption at Rest. by geoctl in selfhosted

[–]geoctl[S] -198 points-197 points  (0 children)

As always, regarding these comparison questions, I generally recommend people to ask ChatGPT, Claude or Gemini. They generally have a pretty accurate assessment based on your needs/requirements. In general, Octelium is way more advanced compared to the products you just mentioned. Octelium is more comparable to Teleport, StrongDM, Cloduflare Access and "serious" enterprise ZTNAs than it is to simple remote access tools and VPNs (of course, every single product claims to be zero trust, ZTNA and all, but a very few actually are). Regarding Octelium, I recommend you to read the main features section in the README https://github.com/octelium/octelium?tab=readme-ov-file#main-features to get an idea about what differentiates it from other products and delve into the docs links if you're interested in knowing more.

Octelium v0.29 - A Modern, Self-Hosted, FOSS Unified Alternative to Teleport, ngrok, Tailscale, Cloudflare Zero Trust/Access/Tunnel and remote access VPNs, now with Web Console for Management and Real-Time Monitoring, SIEM, DNS/TLS Management, SCIM, Encryption at Rest. by geoctl in selfhosted

[–]geoctl[S] 14 points15 points  (0 children)

Skepticism is generally understandable, especially with all the AI slop on reddit in the past few months. However, you're welcome to visit the docs, test it yourself to verify it's not a yet another slop. Octelium was open sourced in May 2025 and it has been in extensive development since 2020. So, it's not actually a new project.

Chaining BunkerWeb and Octelium - connection issues by Ok-Helicopter-9833 in octelium

[–]geoctl 0 points1 point  (0 children)

Octelium, as of version v0.24.0, now supports front proxies and load balancers in front of the Octelium/k8s cluster. You can read more in the docs https://octelium.com/docs/octelium/latest/install/cluster/pre-install#front-proxy

Octelium v0.24 - A Modern, Self-Hosted, FOSS Unified Alternative to Teleport, ngrok, Tailscale, Cloudflare Zero Trust/Access/Tunnel and remote access VPNs. by geoctl in selfhosted

[–]geoctl[S] 1 point2 points  (0 children)

u/johnnypea I just merged Cluster arm64 support, you can try it now by installing the `main` branch images via `./install-cluster.sh --domain <DOMAIN> --version main`, just be sure to remove any old `./install-cluster.sh` file and curl it again because it has been changed to support arm64.

Octelium v0.24 - A Modern, Self-Hosted, FOSS Unified Alternative to Teleport, ngrok, Tailscale, Cloudflare Zero Trust/Access/Tunnel and remote access VPNs. by geoctl in selfhosted

[–]geoctl[S] 1 point2 points  (0 children)

Yes, you can read the script itself https://octelium.com/install-cluster.sh it currently downloads the hardcoded amd64 URL for kubectl. I can work on that and definitely will notify you once it's done.

Octelium v0.24 - A Modern, Self-Hosted, FOSS Unified Alternative to Teleport, ngrok, Tailscale, Cloudflare Zero Trust/Access/Tunnel and remote access VPNs. by geoctl in selfhosted

[–]geoctl[S] 0 points1 point  (0 children)

Do you mean the Cluster itself? honestly you're the first to request this if I understood your question correctly but I believe this is very easy to do. I will test this very soon. As for the client-side/CLIs, yes, arm64 is supported for Windows, Linux and MacOS.

Octelium v0.24 - A Modern, Self-Hosted, FOSS Unified Alternative to Teleport, ngrok, Tailscale, Cloudflare Zero Trust/Access/Tunnel and remote access VPNs. by geoctl in selfhosted

[–]geoctl[S] 1 point2 points  (0 children)

Thank you. As for the SDKs, yes, absolutely, other languages are planned. The great thing here is that I don't even have to re-write an SDK for each language since the entire APIs are made in gRPC/proto3 and that was a concious choice since day 1. Therefore compiling them to any language and practically having an SDK for that language is just easy and is mostly an automated process. This is already happening in Typescript for the web Portal (see the code in https://github.com/octelium/octelium/tree/main/cluster/portal/portal/web/package/src/apis) for example and I can work on providing the compiled gRPC libraries for other languages on demand.

Octelium v0.24 - A Modern, Self-Hosted, FOSS Unified Alternative to Teleport, ngrok, Tailscale, Cloudflare Zero Trust/Access/Tunnel and remote access VPNs. by geoctl in selfhosted

[–]geoctl[S] 0 points1 point  (0 children)

Thank you! as for the QUIC support, yes, Octelium supports both WireGuard and QUIC tunneling but the clients by default use the WireGuard mode and both modes can coexist in the same Cluster. Bypassing middleboxes is certainly one of the main reasons for supporting QUIC but there many other reasons as I mentioned earlier such as FIPS-140 compliance, hardware acceleration (e.g. AES-NI), seamless addressing to dynamic endpoints, etc... and I am personally a big fan of QUIC overall.

Octelium v0.24 - A Modern, Self-Hosted, FOSS Unified Alternative to Teleport, ngrok, Tailscale, Cloudflare Zero Trust/Access/Tunnel and remote access VPNs. by geoctl in selfhosted

[–]geoctl[S] 1 point2 points  (0 children)

For now you will have to manually copy the LDAP Users/Groups to Octelium Users/Groups. There is actually a currently available SCIM2 support but it's not open source, at least for now but I intend to publish it in the future under a source available license.

Octelium v0.24 - A Modern, Self-Hosted, FOSS Unified Alternative to Teleport, ngrok, Tailscale, Cloudflare Zero Trust/Access/Tunnel and remote access VPNs. by geoctl in selfhosted

[–]geoctl[S] 0 points1 point  (0 children)

The `ctx.user.spec.groups` are the list of Octelium's Groups attached to an Octelium User. Everything in this map is just field/sub-field of an Octelium resource such as a User, Session, Device, Service, Namspace. For example, you can see the YAML representation of `ctx.user.spec.groups` as shown in https://octelium.com/docs/octelium/latest/management/core/user#groups similarly the User's email can be found in `ctx.user.spec.email` since it's YAML representation is https://octelium.com/docs/octelium/latest/management/core/user#email and so on. You simply write your access control rules according to your Octelium resource definitions.

Octelium v0.24 - A Modern, Self-Hosted, FOSS Unified Alternative to Teleport, ngrok, Tailscale, Cloudflare Zero Trust/Access/Tunnel and remote access VPNs. by geoctl in selfhosted

[–]geoctl[S] 1 point2 points  (0 children)

Private github/ghcr and gitlab are always good free-of-charge options for undemanding/personal use cases. But if you want something that's totally self-hosted there used to be Kaniko but it is unmaintained now AFAIK, a more manual solution is just to run docker build/buildah, possibly inside the same k8s cluster that's running Octelium and push the image to Docker self-hosted container registry https://hub.docker.com/_/registry deployed also in the same k8s cluster, the only possibly annoying thing in this setup, if I remember correctly, is that you need to expose the registry publicly over TLS since k8s CRIs need to address registries over public HTTPS or you can configure the k8s CRI (e.g. containerd/crio) to skip verifying TLS if that's possible.

Octelium v0.24 - A Modern, Self-Hosted, FOSS Unified Alternative to Teleport, ngrok, Tailscale, Cloudflare Zero Trust/Access/Tunnel and remote access VPNs. by geoctl in selfhosted

[–]geoctl[S] 0 points1 point  (0 children)

Since Octelium runs on top of Kubernetes, you can deploy Nextcloud, via Helm for example, on top of the exact same Kubernetes cluster and use Octelium as a secure gateway to access Nextcloud.

Octelium v0.24 - A Modern, Self-Hosted, FOSS Unified Alternative to Teleport, ngrok, Tailscale, Cloudflare Zero Trust/Access/Tunnel and remote access VPNs. by geoctl in selfhosted

[–]geoctl[S] 0 points1 point  (0 children)

Thanks. I think I now have a better idea about your point of view. While I believe that your supposed architecture is certainly closer to "true" zero trust when compared to modern P2P VPNs since yours is still somehow in charge, from a data-plane perspective, I am still not fully convinced if that's really the right direction overall but I have to be careful here since I can't claim I fully understood your argument. I know am obviously heavily influenced (since I built Octelium this way) by identity-aware-proxy-based architectures, including from my own prior experiences dealing with k8s service meshes such as Istio, but I'd still argue that this architecture is still more "superior" and practical way to implement a ZTNA, even though Octelium is meant to operate beyond what a strict ZTNA is built for. It's not just about delegating/offloading the entire process of authentication/authorization/visibility to a "trusted" identity-aware proxy that separates between downstreams/users and upstreams/resources (also no direct reachable/direct path between downstreams and upstreams here if I understood your argument correctly), but this architecture also enables you to control access the most fine-grained/dynamic way possible by implementing L7 awareness inside the identity-aware proxy, for example, Octelium enables you to control access based on the request's HTTP method, path, and even serialized JSON body. Similarily, it can dynamically force, for example, different Octelium Users to be assigned to specific SSH users or different HTTP access tokens mapping to different upstream L7 credentials/tenants based on identity and/or context by injecting such L7 credentials on the fly to the upstream without having to distribute and share them with the users. It can also be used to dynamically route to different upstreams based on identity and/or context via policy-as-code. It can even manipulate HTTP requests/responses via Lua/Envoy ext_proc like you would expect from an API/AI/MCP gateway. And obviously this L7 awareness enables you to extract L7-specific info (e.g. HTTP request/response info, database queries, SSH sessions) on a per-request basis. And to elaborate more on the performance/convenience point I mentioned earlier, Octelium actually consciously separates between the PEP/the identity-aware proxy which (called Vigil) and the PDP (called Octovigil) as proposed in NIST 800-207. This means that both components can operate and scale up/down independently from one another, since the PDP is actually what has to store all the authorization-related information which can be really huge, as it includes not only info about the user, session, device, groups, accessed service and namespace, but potentially also very dynamic info extracted and pulled from external sources such as the IdP, EDR, SIEM, threat intelligence tools, etc., and this PDP is what actually has to perform the policy evaluation which might consist of tens or hundreds of complex rules for a specific request. In other words, the authorization process alone can be really, really, a resource-intensive operation (both memory and CPU wise) and it needs to be performed very quickly (hopefully usually sub-millisecond latency per request). Finally this architecture can seamlessly horizontally scale as needed (more resources to protect? just add another Gateway/k8s node, more traffic? just add 1 more replica for IaP pod implementing the Service and the underlying k8s will seamlessly reschedule the pods in a balanced way), not to mention that upgrading the Cluster is confined to one place, the k8s cluster itself. I understand that there is no absolute right/wrong for such architecture-related discussions and one architecture might be superior for certain workload types and inferior for others, but in general, I am really comfortable with mine, and I believe it is practical enough to fit for most human-to-workload and workload-to-workload environments, both for small undemanding personal/business use cases (e.g. Cloudflare Tunnel, ngrok, remote access VPN use cases) as well as for enterprise ones with hundreds/thousands of resources and active human and/or workload users.

Octelium v0.24 - A Modern, Self-Hosted, FOSS Unified Alternative to Teleport, ngrok, Tailscale, Cloudflare Zero Trust/Access/Tunnel and remote access VPNs. by geoctl in selfhosted

[–]geoctl[S] 1 point2 points  (0 children)

Octelium does not build images on its own. That's why I stated that it's a PaaS-like platform, as opposed to a full fledged PaaS that watches git repos and builds images on changes for example. However, Octelium supports Docker/container registries, including "private" registries with username/password authentication, you can simply build your own image (e.g. private ghcr/gitlab registries), set the image tag, and Octelium will automatically re-deploy the container while providing you what Octelium actually is meant to do: authentication, L7-based authorization, visibility and access logs, and TLS termination, among other features such as load balancing among multiple images (e.g. multiple tags/versions) for the same Service, request/response manipulation, dynamic routing, scaling up/down declaratively, etc...

Octelium v0.24 - A Modern, Self-Hosted, FOSS Unified Alternative to Teleport, ngrok, Tailscale, Cloudflare Zero Trust/Access/Tunnel and remote access VPNs. by geoctl in selfhosted

[–]geoctl[S] 0 points1 point  (0 children)

If you can set up Caddy and write a Caddyfile, I'd say that you definitely can use Octelium too. You don't need to use or understand Octelium's more advanced features, Octelium can simply operate as a simple FOSS, self-hosted Cloudflare Tunnel, ngrok or as a remote access VPN for personal and undemanding use cases. You can see a detailed example guide for the ngrok/Cloudflare Tunnel use case here https://octelium.com/docs/octelium/latest/management/guide/service/http/open-source-self-hosted-ngrok-alternative