Coder
Self-hosted cloud development environments
Coder runs code-server — Visual Studio Code served straight to the browser, backed by remote compute. No desktop or VNC: the editor is the web page, reached over a single HTTP port.
Configuration
name: coder
tags:
- development
steps:
- name: app
platform: docker
mode: parallel
image: ghcr.io/dxflow-ai/coder:latest
volumes:
- name: volume
host: ./volume
container: /volume
ports:
- name: web
host: "8080"
container: "8080"
env:
- WORKING_DIR=/
resources:
cpu: "2"
memory: 4G
[volume]
app.volume = ./volume
[port]
app.web = 8080
[env]
app.WORKING_DIR = /
[resource]
app.cpu = 2
app.memory = 4G
{
"arch": ["amd64", "arm64"],
"image": "ghcr.io/dxflow-ai/coder:latest",
"version": "4.96",
"minimum": {
"cpu": 2,
"memory": "2G",
"storage": "20G"
}
}
Usage
1. Deploy
dxflow workflow create --identity coder coder.yml
# Start with defaults, or open a specific working directory
dxflow workflow start coder
dxflow workflow start coder \
--override env.app.WORKING_DIR=projects/my-app
2. Open the editor
Open your browser at http://localhost:8080. code-server opens on the working directory and needs no password — keep the port private and reach it through the platform's authenticated proxy.
3. Persist data
The editor opens under /volume, so your code, settings, and extensions survive restarts — mount a local directory there to keep your work.
Notes
WORKING_DIRis resolved under/volume(default/opens/volume). Set it to a subpath likeprojects/my-appto open straight into a project.- Authentication is disabled (
--auth=none); code-server is meant to sit behind the platform's authenticated proxy, so do not expose port8080directly to the internet. - The shell is
zsh, andpython3andgitare preinstalled for use from the integrated terminal.