diff --git a/docker-compose.yml b/docker-compose.yml index 5ea23e5..85fb2f3 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -6,6 +6,7 @@ services: ports: - "4200:3000" environment: + - NODE_ENV=production - REDIS_URL=redis://redis:6379 - DATABASE_URL=postgresql://agentlens:agentlens@postgres:5432/agentlens depends_on: @@ -15,6 +16,23 @@ services: condition: service_healthy migrate: condition: service_completed_successfully + healthcheck: + test: ["CMD", "wget", "--spider", "--quiet", "http://localhost:3000/api/health"] + interval: 30s + timeout: 10s + retries: 3 + start_period: 15s + deploy: + resources: + limits: + memory: 512M + reservations: + memory: 256M + logging: + driver: "json-file" + options: + max-size: "10m" + max-file: "3" restart: always postgres: @@ -27,9 +45,18 @@ services: - agentlens_postgres_data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U agentlens"] - interval: 5s + interval: 10s timeout: 5s retries: 5 + deploy: + resources: + limits: + memory: 256M + logging: + driver: "json-file" + options: + max-size: "10m" + max-file: "3" restart: always migrate: @@ -46,8 +73,23 @@ services: redis: image: redis:7-alpine + command: redis-server --maxmemory 64mb --maxmemory-policy allkeys-lru volumes: - agentlens_redis_data:/data + healthcheck: + test: ["CMD", "redis-cli", "ping"] + interval: 10s + timeout: 5s + retries: 3 + deploy: + resources: + limits: + memory: 128M + logging: + driver: "json-file" + options: + max-size: "5m" + max-file: "3" restart: always volumes: