services: redis: image: redis:7.2.4 deploy: resources: limits: cpus: '0.5' memory: 128M ports: - "127.0.0.1:6379:6379" web: build: context: . dockerfile: ./web/Dockerfile deploy: resources: limits: cpus: '0.5' memory: 512M environment: CBS_REDIS_HOST: redis CBS_REDIS_PORT: 6379 CBS_BASEDIR: /base CBS_LOG_LEVEL: ${CBS_LOG_LEVEL:-INFO} CBS_ENABLE_INBUILT_BUILDER: 0 CBS_GITHUB_ACCESS_TOKEN: ${CBS_GITHUB_ACCESS_TOKEN} CBS_REMOTES_RELOAD_TOKEN: ${CBS_REMOTES_RELOAD_TOKEN} PYTHONPATH: /app CBS_BUILD_TIMEOUT_SEC: ${CBS_BUILD_TIMEOUT_SEC:-900} volumes: - ./base:/base:rw depends_on: - redis ports: - "0.0.0.0:${WEB_PORT:-8080}:8080" builder: build: context: . dockerfile: ./builder/Dockerfile restart: always stop_grace_period: 5m # --- THE CPU MUZZLE --- deploy: resources: limits: cpus: '2.0' memory: 2G # Ardupilot builds need a decent chunk of RAM environment: CBS_REDIS_HOST: redis CBS_REDIS_PORT: 6379 CBS_BASEDIR: /base CBS_LOG_LEVEL: ${CBS_LOG_LEVEL:-INFO} PYTHONPATH: /app CBS_BUILD_TIMEOUT_SEC: ${CBS_BUILD_TIMEOUT_SEC:-900} volumes: - ./base:/base:rw - ./custom_overlays:/app/custom_overlays:ro depends_on: - redis overlay-manager: build: ./overlay_manager restart: always pid: "service:builder" deploy: resources: limits: cpus: '0.5' memory: 256M environment: CBS_BUILD_TIMEOUT_SEC: ${CBS_BUILD_TIMEOUT_SEC:-900} volumes: - ./custom_overlays:/srv:rw - ./overlay_db:/app/db ports: - "0.0.0.0:11081:80"