this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

chore(docker): speed up startup and use env_file

- Add start_interval: 2s to all health checks (checks every 2s during
startup instead of waiting 30s, reduces total startup from ~2min to ~20s)
- Use env_file: .env for litellm, app, and netdata services
- Move app service from main compose to prod-only
- Remove commented-out app section from main compose

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

alice 00ffd2a9 f2e769fe

+32 -33
+27 -1
docker-compose.prod.yml
··· 6 6 # Only ports 80/443 should be open in Hetzner Cloud Firewall 7 7 8 8 services: 9 + app: 10 + build: . 11 + ports: 12 + - '3000:3000' 13 + env_file: .env 14 + environment: 15 + # Docker-internal URLs (override .env values) 16 + - LETTA_BASE_URL=http://letta:8283 17 + - LITELLM_URL=http://litellm:4000 18 + - ANTHROPIC_PROXY_URL=http://anthropic-proxy:4001/v1 19 + - TOOL_WEBHOOK_URL=http://app:3000 20 + volumes: 21 + - ./data:/app/data 22 + networks: 23 + - assistant-net 24 + restart: unless-stopped 25 + depends_on: 26 + letta: 27 + condition: service_healthy 28 + healthcheck: 29 + test: ['CMD', 'curl', '-f', 'http://localhost:3000/health'] 30 + interval: 30s 31 + start_interval: 2s 32 + timeout: 10s 33 + retries: 3 34 + 9 35 caddy: 10 36 image: caddy:2-alpine 11 37 restart: unless-stopped ··· 39 65 - /sys:/host/sys:ro 40 66 - /etc/os-release:/host/etc/os-release:ro 41 67 - /var/run/docker.sock:/var/run/docker.sock:ro 68 + env_file: .env 42 69 environment: 43 - - NETDATA_CLAIM_TOKEN=${NETDATA_CLAIM_TOKEN:-} 44 70 - NETDATA_CLAIM_URL=https://app.netdata.cloud 45 71 networks: 46 72 - assistant-net
+5 -32
docker-compose.yml
··· 25 25 healthcheck: 26 26 test: ['CMD', 'curl', '-f', 'http://localhost:4001/health'] 27 27 interval: 30s 28 + start_interval: 2s 28 29 timeout: 10s 29 30 retries: 3 30 31 ··· 50 51 healthcheck: 51 52 test: ['CMD', 'bun', '-e', "fetch('http://localhost:4002/health').then(r => process.exit(r.ok ? 0 : 1))"] 52 53 interval: 30s 54 + start_interval: 2s 53 55 timeout: 10s 54 56 retries: 3 55 57 ··· 58 60 image: ghcr.io/berriai/litellm:main-latest 59 61 ports: 60 62 - '4000:4000' 61 - environment: 62 - - ANTHROPIC_PROXY_SESSION_ID=${ANTHROPIC_PROXY_SESSION_ID} 63 + env_file: .env 63 64 volumes: 64 65 - ./litellm-config.yaml:/app/config.yaml:ro 65 66 command: ['--config', '/app/config.yaml', '--port', '4000'] ··· 72 73 healthcheck: 73 74 test: ['CMD', 'python', '-c', "import urllib.request; urllib.request.urlopen('http://localhost:4000/health')"] 74 75 interval: 30s 76 + start_interval: 2s 75 77 timeout: 10s 76 78 retries: 3 77 79 ··· 95 97 healthcheck: 96 98 test: ['CMD', 'curl', '-f', 'http://localhost:8283/v1/health'] 97 99 interval: 30s 100 + start_interval: 2s 98 101 timeout: 10s 99 102 retries: 3 100 - 101 - # app: 102 - # build: . 103 - # ports: 104 - # - '3000:3000' 105 - # environment: 106 - # - PORT=3000 107 - # - LETTA_BASE_URL=http://letta:8283 108 - # - LITELLM_URL=http://litellm:4000 109 - # - TELEGRAM_BOT_TOKEN=${TELEGRAM_BOT_TOKEN} 110 - # - TELEGRAM_WEBHOOK_URL=${TELEGRAM_WEBHOOK_URL} 111 - # - TELEGRAM_WEBHOOK_SECRET_TOKEN=${TELEGRAM_WEBHOOK_SECRET_TOKEN} 112 - # - ANTHROPIC_PROXY_URL=http://anthropic-proxy:4001/v1 113 - # - ANTHROPIC_PROXY_SESSION_ID=${ANTHROPIC_PROXY_SESSION_ID} 114 - # - OPENAI_API_KEY=${OPENAI_API_KEY} 115 - # # Tool webhook URL - Letta calls back to app via Docker network 116 - # - TOOL_WEBHOOK_URL=http://app:3000 117 - # volumes: 118 - # - ./data:/app/data 119 - # networks: 120 - # - assistant-net 121 - # restart: unless-stopped 122 - # depends_on: 123 - # letta: 124 - # condition: service_healthy 125 - # healthcheck: 126 - # test: ['CMD', 'curl', '-f', 'http://localhost:3000/health'] 127 - # interval: 30s 128 - # timeout: 10s 129 - # retries: 3 130 103 131 104 volumes: 132 105 letta-data: