docker-compose.yml
Rama main · réplica de lectura del repositorio original.
services:
init:
image: ubuntu:24.04
command: ["sh", "-c", "mkdir -p /data/workspace /data/backups && chown -R 1000:1000 /data"]
volumes: ["data:/data"]
migrate:
image: amman-v1-server
command: ["node", "dist/migrate.js"]
environment:
DATA_DIR: /data
volumes: ["data:/data"]
depends_on:
init:
condition: service_completed_successfully
restart: "no"
server:
image: amman-v1-server
build:
context: .
dockerfile: docker/app.Dockerfile
target: server
env_file:
- path: .env
required: false
environment:
DATA_DIR: /data
SERVER_PORT: 8787
SECRETS_KEY: ${SECRETS_KEY:-}
PUBLIC_APP_URL: ${PUBLIC_APP_URL:-}
XAI_API_KEY: ${XAI_API_KEY:-}
ANTHROPIC_API_KEY: ${ANTHROPIC_API_KEY:-}
OPENAI_API_KEY: ${OPENAI_API_KEY:-}
AI_GATEWAY_API_KEY: ${AI_GATEWAY_API_KEY:-}
WORKSPACE_STORE: ${WORKSPACE_STORE:-fs}
S3_PROVIDER: ${S3_PROVIDER:-other}
S3_ENDPOINT: ${S3_ENDPOINT:-}
S3_REGION: ${S3_REGION:-us-east-1}
S3_BUCKET: ${S3_BUCKET:-}
S3_PREFIX: ${S3_PREFIX:-workspace/}
S3_ACCESS_KEY_ID: ${S3_ACCESS_KEY_ID:-}
S3_SECRET_ACCESS_KEY: ${S3_SECRET_ACCESS_KEY:-}
S3_FORCE_PATH_STYLE: ${S3_FORCE_PATH_STYLE:-}
volumes: ["data:/data"]
restart: unless-stopped
depends_on:
migrate:
condition: service_completed_successfully
healthcheck:
test: ["CMD", "node", "-e", "fetch('http://127.0.0.1:8787/api/ready').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))"]
interval: 30s
timeout: 5s
retries: 3
start_period: 20s
web:
build:
context: .
dockerfile: docker/app.Dockerfile
target: web
environment:
PORT: 3001
PUBLIC_API_URL: http://server:8787
restart: unless-stopped
depends_on:
server:
condition: service_healthy
healthcheck:
test: ["CMD", "node", "-e", "fetch('http://127.0.0.1:3001').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))"]
interval: 30s
timeout: 5s
retries: 3
gateway:
image: caddy:2.10.2-alpine
ports: ["3000:3000"]
volumes: ["./docker/Caddyfile:/etc/caddy/Caddyfile:ro"]
restart: unless-stopped
depends_on:
server:
condition: service_healthy
web:
condition: service_healthy
healthcheck:
test: ["CMD-SHELL", "wget -q -O /dev/null http://127.0.0.1:3000/api/ready"]
interval: 30s
timeout: 5s
retries: 3
volumes:
data:
name: superworkers-data