Files
composes/code-server-base/README.md
T
tiennm99 f09325b2fc feat(code-server-base): add a stock code-server template
The LinuxServer image as it ships, with no mods and no extra packages,
as the starting point for a new instance.
2026-09-17 13:16:20 +07:00

43 lines
1.7 KiB
Markdown

# code-server-base
[VS Code in the browser](https://github.com/linuxserver/docker-code-server),
from the LinuxServer image, stock.
The starting point for a new code-server instance: the image as it ships, with
no mods and no extra packages. Only a password, a timezone, and a workspace
path are set. Copy the directory and add `DOCKER_MODS` / `INSTALL_PACKAGES` to
build a kitted-out box — [code-server](../code-server/README.md) is that same
image with Go, Node.js, Python, and a pile of CLI tools layered on.
Both use a volume named `code-server-config`, but Compose namespaces volumes by
project and the project is named after the directory, so the two instances stay
independent.
## Environment
| Variable | Purpose |
| --- | --- |
| `PASSWORD` | Web UI login, also the in-container sudo password. **A blank value disables authentication entirely.** |
Generate a password with `openssl rand -base64 24`.
`PUID`/`PGID` are pinned to `1000` and `TZ` to `Asia/Ho_Chi_Minh` in the
compose file — the first user on my hosts, and my timezone. Change them in
place if neither holds.
The upstream example also offers `HASHED_PASSWORD`, `SUDO_PASSWORD_HASH`, and
`PROXY_DOMAIN`. The hash variants are left out because the plaintext ones
already come from a gitignored `.env`, and `PROXY_DOMAIN` because Coolify and
Dokploy terminate the domain at their own proxy.
## Networking
Listens on `8443`. No ports are published — point the domain at that port in
Coolify or Dokploy. See the [root README](../README.md) for why.
## Storage
Everything lives in the `code-server-config` named volume mounted at `/config`;
the default workspace is `/config/workspace`. Removing the volume wipes your
files, settings, and extensions.