services: nginx: image: docker.io/nginx:1.27-alpine depends_on: - frontend - website - rmqtt ports: - "${HTTP_PORT:-8080}:80" volumes: - ./nginx.conf:/etc/nginx/conf.d/default.conf:ro frontend: build: context: ./frontend dockerfile: Dockerfile environment: HOST: 0.0.0.0 PORT: 3000 NODE_ENV: production expose: - "3000" website: build: context: . dockerfile: website/Dockerfile environment: ROCKET_ADDRESS: "::" ROCKET_PORT: 8000 DATABASE_URL: "${DATABASE_URL}" DATABASE_CACHE_DIR: /var/cache/cheburcheck/databases DATABASE_RETRY_INTERVAL_SECONDS: "${DATABASE_RETRY_INTERVAL_SECONDS:-300}" MQTT_ADMIN_TOKEN: "${MQTT_ADMIN_TOKEN}" NODE_STATS_KEY: "${NODE_STATS_KEY}" MQTT_HOST: rmqtt MQTT_PORT: 11883 PROBE_TRACEROUTE_ENABLED: "${PROBE_TRACEROUTE_ENABLED:-false}" PROBE_RATE_LIMIT_RPM: "${PROBE_RATE_LIMIT_RPM:-5}" PROBE_UPDATE_PUBLIC_BASE_URL: "${PROBE_UPDATE_PUBLIC_BASE_URL:-https://cheburcheck.ru/api/v1/probe-updates}" PROBE_UPDATE_CACHE_SECONDS: "${PROBE_UPDATE_CACHE_SECONDS:-300}" PROBE_UPDATE_ASSET_CACHE_DIR: /var/cache/cheburcheck/probe-updates PROBE_UPDATE_ASSET_CACHE_SECONDS: "${PROBE_UPDATE_ASSET_CACHE_SECONDS:-3600}" PROBE_UPDATE_DOWNLOAD_RATE_LIMIT_RPM: "${PROBE_UPDATE_DOWNLOAD_RATE_LIMIT_RPM:-2}" GITHUB_TOKEN: "${GITHUB_TOKEN:-}" volumes: - database-cache:/var/cache/cheburcheck/databases expose: - "8000" rmqtt: image: docker.io/rmqtt/rmqtt:latest depends_on: - website volumes: - ./rmqtt/rmqtt.toml:/app/rmqtt/rmqtt.toml:ro - ./rmqtt/rmqtt-plugins:/app/rmqtt/rmqtt-plugins:ro expose: - "8080" - "1883" - "11883" - "6060" volumes: database-cache: