ManagementGuideService ExamplesHomelab
Deploy and Access Remote VSCode with Code-Server

Deploying a secure Remote VSCode via open source code-server is seamless with Octelium. All you have to do is create a publicly exposed web-add Service whose upstream is the codercom/code-server container image (read more about managed containers here). This can be done very easily as follows:

1
kind: Service
2
metadata:
3
name: code
4
spec:
5
mode: WEB
6
isPublic: true
7
config:
8
upstream:
9
container:
10
port: 8080
11
image: codercom/code-server:latest
12
args:
13
- --auth
14
- none
15
- --bind-addr
16
- 0.0.0.0:8080
17
- --disable-getting-started-override
18
- --trusted-origins
19
- code.octelium.org
20
- --disable-workspace-trust
21
resourceLimit:
22
cpu:
23
millicores: 2000
24
memory:
25
megabytes: 4000
NOTE

The above configuration assumes that you have enough permissions to access the Service. Read more about access control and Policies here. You might also want to read about effectively creating a privileged User here.

Now you can access the Service publicly via the clientless/BeyondCorp using your browser at the address https://code.<DOMAIN>. You can read more about publicly exposed BeyondCorp Services here.

NOTE

You can also use and mount Kubernetes volumes to have persistent storage. Read more here

NOTE

Octelium also provides OpenTelemetry-ready, application-layer L7 aware visibility and access logging in real time (see an example for HTTP here). You can read more about visibility here

Another way is to use vanilla remote VSCode over SSH. In such case, you can define your own SSH Service whose upstream can be any remote host, or even use the embedded SSH mode for VSCode. For example, you can run an octelium client inside your Kubernetes cluster (read more here) that runs an embedded SSH server and from then use it as a remote host for VSCode. Here is an example (read more about deploying octelium using Helm here):

helm install my-octelium-chart oci://ghcr.io/octelium/helm-charts/octelium --set octelium.domain=<DOMAIN> --set octelium.authToken=<AUTHENTICATION_TOKEN> --set "octelium.args={--essh}"

And now, from your own machine, connect to the Cluster with octelium connect. If you embedded SSH Service has the hostname essh then you just need to use the <SESSION_NAME>@essh as the SSH address. You can read in detail on how to SSH into a specific host via embedded SSH here.

© 2025 octelium.comOctelium Labs, LLCAll rights reserved
Octelium and Octelium logo are trademarks of Octelium Labs, LLC.
WireGuard is a registered trademark of Jason A. Donenfeld