Configuration
ccr-cloud reads its settings from environment variables. In host mode, setup writes them to server.env in the data directory (~/.local/share/ccr-cloud/server.env by default) and the service loads that file at startup. Restart the service after any change.
Keep server.env private. It holds your owner token and any bot credentials.
#Core
| Variable | Default | Description |
|---|
CCR_CLOUD_TOKEN | Generated by setup | Owner token for the app and API. Anyone with it controls your tasks. |
CCR_CLOUD_DRIVER | host (written by setup) | host runs Claude Code as the server user; docker runs containers. |
CCR_CLOUD_DATA | ~/.local/share/ccr-cloud | Data directory: configuration, tasks, logs, workspaces, push keys. Use the same value for setup, doctor and updates. |
CCR_CLOUD_HOST | 127.0.0.1 | Address the app and API listen on. Change it only for a VPN. |
CCR_CLOUD_PORT | 8787 | Port for the app and API. |
CCR_CLOUD_REPO_ROOTS | ~/src | Colon-separated absolute folders to discover repositories in (host mode). |
CCR_CLOUD_PUSH_SUBJECT | The project URL | Your mailto: or https: contact for push services. Apple rejects localhost. |
GH_TOKEN | Unset | GitHub token passed to tasks. In host mode, prefer the server user's own Git credentials. |
#Runner connection
Tasks connect back to the control plane on this endpoint. You rarely need to change these.
| Variable | Default | Description |
|---|
CCR_CLOUD_RUNNER_HOST | 127.0.0.1 (host), 172.17.0.1 (Docker) | Address the runner endpoint listens on. In Docker mode, keep it on the bridge. |
CCR_CLOUD_RUNNER_PORT | 8788 | Port of the runner endpoint. |
CCR_CLOUD_RUNNER_URL | ws://127.0.0.1:8788 (host), ws://host.docker.internal:8788 (Docker) | The endpoint as seen from inside a task. |
#CCR gateway and Docker mode
| Variable | Default | Description |
|---|
CCR_GATEWAY_KEY | Required in Docker mode | CCR client key given to tasks. |
CCR_GATEWAY_URL | http://host.docker.internal:3456 (Docker); unset (host) | CCR gateway as seen from a task. In host mode, usually http://127.0.0.1:3456. |
CCR_CLOUD_IMAGE | ccr-cloud-session:dev | Session image built by npm run image. |
In host mode, CCR_GATEWAY_URL and CCR_GATEWAY_KEY are optional. Setting both sends new host tasks through a CCR gateway instead of your Claude account; see Switch models with CCR.
#Remote access
| Variable | Default | Description |
|---|
CCR_CLOUD_SSH_TARGET | Unset | Your SSH destination, such as my-ec2. Setup uses it only to print a ready-to-copy tunnel command. |
CCR_CLOUD_TUNNEL_NAME | ccr-cloud-HOSTNAME | Name of the Cloudflare tunnel setup creates or reuses. |
#Discord
See Discord control.
| Variable | Default | Description |
|---|
DISCORD_BOT_TOKEN | Unset | Bot token. Discord is off unless this and DISCORD_OWNER_ID are set. |
DISCORD_OWNER_ID | Unset | Your numeric Discord user ID. Only this user can use the bot. |
DISCORD_GUILD_ID | Unset | Register commands in one server for faster testing. |
DISCORD_NOTIFICATIONS | On | Set to 0 to turn off direct-message notifications. |
CCR_CLOUD_PUBLIC_URL | Unset | HTTPS address of your app, used for Open links in Discord. |
| Variable | Default | Description |
|---|
CLAUDE_BIN | claude | Claude Code executable that setup checks. |
CLAUDE_CONFIG_DIR | Claude Code's default | Honored as usual; host tasks inherit it. |
TAILSCALE_BIN, CLOUDFLARED_BIN | tailscale, cloudflared | Executables setup uses for remote access. |
NO_COLOR, FORCE_COLOR | Unset | Turn colored CLI output off or force it on. |
#Development server
npm run dev uses its own settings and never touches your real data.
| Variable | Default | Description |
|---|
CCR_CLOUD_DEV_DATA | .data/dev | Data directory for the dev server. |
CCR_CLOUD_DEV_TOKEN | dev | Owner token for the dev server. |
PORT | 8790 | Dev server port. |
Edit this page on GitHub ↗