Skip to content

URL: https://mkdocs.justinsforge.com/memory/general/reference_code_server/

code-server (web VS Code)

Full VS Code in the browser for editing /home/justinwieb/forge from any device (phone, Claude web Remote Control, tablet). Built 2026-07-04 to close the "I need to see/edit files while coding remotely" gap that filebrowser (Finn storage) and raw SSH don't fill.

Access

  • URL: https://code.justinsforge.com (opens rooted at /home/justinwieb/forge)
  • Auth: Cloudflare Access, email allowlist [email protected]. code-server's own auth: none (Access is the only gate). Access app uid efe46c5f-02c8-4e50-884a-293e89fe31a5.
  • Login once via CF Access, then full file tree + search + git + integrated terminal.

Where it runs (Console, no container)

Single systemd user service on Console, not an LXC. Runs as justinwieb so it inherits git config, worktrees, .claude/.

Item Value
Binary ~/.local/bin/code-server -> ~/.local/lib/code-server-4.127.0/ (standalone tarball, bundles own node; npm global fails on node 22)
Config ~/.config/code-server/config.yaml (bind 127.0.0.1:8080, auth: none, cert: false)
Service ~/.config/systemd/user/code-server.service (systemctl --user, linger enabled so it survives logout/reboot)
Bind loopback only; ONLY inbound path is the cloudflared tunnel
Tunnel VR Alliance fb20b500-0119-4c84-9536-fa85751987c3 (the Console tunnel; serves all *.justinsforge.com localhost origins). Ingress code.justinsforge.com -> http://127.0.0.1:8080

Ops

systemctl --user status code-server        # health
systemctl --user restart code-server        # restart
journalctl --user -u code-server -n 50       # logs
~/.local/bin/code-server --version           # 4.127.0
  • Upgrade: download newer standalone tarball to ~/.local/lib/code-server-<ver>/, repoint the ~/.local/bin/code-server symlink, restart.
  • Origin unreachable from Finn's media-server tunnel: it MUST live on VR Alliance (Console-local), since origin is 127.0.0.1 on Console. See [[reference_cloudflare]].
  • Access managed via scripts/forge_cloudflare_access_add.py; ingress via scripts/forge_cloudflare_cf.py.