79 lines
2.7 KiB
YAML
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
|