Files
code-tools/coder-compose.yaml
2025-09-19 18:31:25 +00:00

79 lines
2.7 KiB
YAML

services:
coder:
user: root
group_add:
- 988
image: 'ghcr.io/coder/coder:${CODER_VERSION:-latest}'
expose:
- '7080'
environment:
CODER_PG_CONNECTION_URL: 'postgresql://${POSTGRES_USER:-username}:${POSTGRES_PASSWORD:-password}@database/${POSTGRES_DB:-coder}?sslmode=disable'
CODER_HTTP_ADDRESS: '0.0.0.0:7080'
CODER_ACCESS_URL: '${CODER_ACCESS_URL}'
CODER_WILDCARD_ACCESS_URL: '${CODER_WILDCARD_ACCESS_URL}'
CODER_HTTP_ADDRESS: '${CODER_HTTP_ADDRESS}'
GITEA_HOST: '${GITEA_HOST}'
GITEA_PAT: '${GITEA_PAT}'
GITHUB_PAT: '${GITHUB_PAT}'
volumes:
- '/home/trav/.gitconfig:/home/coder/.gitconfig'
- '/home/trav/.git-credentials:/home/coder/.git-credentials'
- '/home/trav/.ssh:/home/coder/.ssh'
- '/home/trav/.zshrc:/home/coder/.zshrc'
- '/home/trav/.oh-my-zsh:/home/coder/.oh-my-zsh'
- '/home/trav/.zsh_history:/home/coder/.zsh_history'
- '/home/trav/.p10k.zsh:/home/coder/.p10k.zsh'
- '/home/trav/.claude:/home/coder/.claude'
- '/home/trav/.codex:/home/coder/.codex'
- '/home/trav/.1password:/home/coder/.1password'
- '/home/trav/.config:/home/coder/.config'
- '/home/trav/:/home/coder/'
- '/home/trav/.local/:/home/coder/.local'
- '/home/trav/.cache:/home/coder/.cache'
- '/home/trav/.docker/config.json:/home/coder/.docker/config.json'
- '/home/trav/code-tools:/home/coder/code-tools'
- '/home/trav/claude-scripts:/home/coder/claude-scripts'
- '/var/run/docker.sock:/var/run/docker.sock'
- 'coder_home:/home/coder'
depends_on:
database:
condition: service_healthy
healthcheck:
test:
- CMD-SHELL
- 'curl -f -s http://localhost:7080/healthz || exit 1'
interval: 30s
timeout: 10s
retries: 3
start_period: 60s
labels:
- glance.name=Coder
- 'glance.icon=https://cdn.jsdelivr.net/gh/selfhst/icons/webp/coder.webp'
- 'glance.url=http://dev.lab'
- 'glance.description=Mad Science Lab'
- glance.id=coder
- glance.category=dev
- glance.hide=false
database:
image: 'postgres:17'
environment:
POSTGRES_USER: '${POSTGRES_USER:-username}'
POSTGRES_PASSWORD: '${POSTGRES_PASSWORD:-password}'
POSTGRES_DB: '${POSTGRES_DB:-coder}'
volumes:
- 'coder_data:/var/lib/postgresql/data'
healthcheck:
test:
- CMD-SHELL
- 'pg_isready -U ${POSTGRES_USER:-username} -d ${POSTGRES_DB:-coder}'
interval: 5s
timeout: 5s
retries: 5
labels:
- glance.name=Postgres-Coder
- glance.parent=coder
- glance.hide=false
volumes:
coder_data: null
coder_home: null