55 lines
1.4 KiB
YAML
55 lines
1.4 KiB
YAML
x-defaults: &defaults
|
|
restart: unless-stopped
|
|
logging:
|
|
driver: json-file
|
|
options:
|
|
max-size: 100m
|
|
max-file: "3"
|
|
|
|
services:
|
|
opencode:
|
|
<<: *defaults
|
|
image: ${GLOBAL_REGISTRY:-}ghcr.io/anomalyco/opencode:${OPENCODE_VERSION:-1.1.27}
|
|
command: web --hostname 0.0.0.0 --port 4096
|
|
ports:
|
|
- "${OPENCODE_PORT_OVERRIDE:-4096}:4096"
|
|
volumes:
|
|
- opencode_data:/root/.opencode
|
|
- ${OPENCODE_PROJECT_DIR:-./project}:/app
|
|
environment:
|
|
- TZ=${TZ:-UTC}
|
|
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY:-}
|
|
- OPENAI_API_KEY=${OPENAI_API_KEY:-}
|
|
- GEMINI_API_KEY=${GEMINI_API_KEY:-}
|
|
- DEEPSEEK_API_KEY=${DEEPSEEK_API_KEY:-}
|
|
- GROQ_API_KEY=${GROQ_API_KEY:-}
|
|
- TOGETHER_API_KEY=${TOGETHER_API_KEY:-}
|
|
- MISTRAL_API_KEY=${MISTRAL_API_KEY:-}
|
|
- OPENCODE_CONFIG_CONTENT=${OPENCODE_CONFIG_CONTENT:-}
|
|
working_dir: /app
|
|
healthcheck:
|
|
test:
|
|
[
|
|
"CMD",
|
|
"wget",
|
|
"--quiet",
|
|
"--tries=1",
|
|
"--spider",
|
|
"http://localhost:4096/",
|
|
]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 30s
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
cpus: ${OPENCODE_CPU_LIMIT:-1.0}
|
|
memory: ${OPENCODE_MEMORY_LIMIT:-2G}
|
|
reservations:
|
|
cpus: ${OPENCODE_CPU_RESERVATION:-0.25}
|
|
memory: ${OPENCODE_MEMORY_RESERVATION:-512M}
|
|
|
|
volumes:
|
|
opencode_data:
|