# ============================================================================= # Codeman Docker Compose environment template # Copy this file to .env and set the values for the Docker host. # ============================================================================= TZ=Australia/Perth # Optional overrides for direct `docker compose` use. The Bash start script # detects these values from CODEMAN_APPDATA_PATH automatically. Compose uses # 1000:1000 when the variables are omitted. # PUID=1000 # PGID=1000 # Name of the account that runs Codeman and all local CLI sessions. Changing # this value rebuilds the image with a matching account. CODEMAN_RUNTIME_USER=codeman # Required. Persistent Codeman application data, CLI credentials, and session # state are stored here on the host and mounted at the runtime account's home # directory in the container. CODEMAN_APPDATA_PATH=/mnt/user/appdata/codeman # Optional. Absolute host path of this Codeman checkout, mounted at # /opt/codeman so App Settings -> Updates can update Codeman in place. The Bash # start script detects it from the compose file's own location, so it only needs # setting for direct `docker compose` use or a checkout kept elsewhere. Point it # at a directory that is not a git checkout and in-app updates are unavailable. # CODEMAN_REPO_PATH=/mnt/user/appdata/codeman/app # Required for Docker cases. This must be an absolute path on the Docker host. # Codeman and each isolated case use this same path, so it cannot be a # container-only path such as /home/codeman/codeman-cases. CODEMAN_CASES_PATH=/mnt/user/appdata/codeman/codeman-cases # Required. Network bind address, host port, and local image tag. CODEMAN_HOST=0.0.0.0 CODEMAN_PORT=3000 CODEMAN_IMAGE=codeman:local # Required for any network-accessible Codeman instance. Use a unique, strong # password. This file is safe to commit; copy it to .env and set the value. CODEMAN_PASSWORD=changeme # Required. Username for Codeman HTTP Basic authentication. CODEMAN_USERNAME=admin # Optional. Extra Host-header allowlist entries for a reverse-proxied domain # (comma-separated; a bare `.suffix` matches every subdomain). Without it a # proxied request is rejected with `403 Forbidden: host not allowed`. See # README.md, "Reverse-proxy host allowlist". # CODEMAN_ALLOWED_HOSTS=codeman.example.com,.internal.example.com # Optional: authenticate Gemini CLI without an interactive login. GEMINI_API_KEY= # Linux default. On Docker Desktop, use the socket path supported by your # Docker installation when it differs from /var/run/docker.sock. DOCKER_SOCKET=/var/run/docker.sock # Optional override for direct `docker compose` use. The Bash start script # detects this from DOCKER_SOCKET automatically. The direct Compose default is # 999, but the correct value depends on the Docker host. # DOCKER_SOCKET_GID=999 # Set to 1 only when Docker-case hook callbacks are required. CODEMAN_DOCKER_BRIDGE_HOOKS=0 # Set to 1 when `docker info` reports `SwapLimit=false`. The case memory limit # remains active; Codeman omits --memory-swap and filters the daemon's exact # unsupported-swap warning while preserving all other Docker create errors. CODEMAN_DOCKER_DISABLE_SWAP_LIMIT=0 # Required only when applying the macvlan example in README.md. CODEMAN_MACVLAN_NETWORK=br0.11 CODEMAN_IPV4_ADDRESS=10.10.11.236 CODEMAN_MAC_ADDRESS=02:10:11:00:00:EC # Required only when creating a new managed macvlan network, rather than using # the external-network macvlan example. CODEMAN_MACVLAN_PARENT=br0.11 CODEMAN_MACVLAN_SUBNET=10.10.11.0/24 CODEMAN_MACVLAN_GATEWAY=10.10.11.1