version: "2.1" services: data-plane: image: docker.mitigator.ru/product/click/${ARCH:-nehalem}:${VERSION:-latest} hostname: data-plane privileged: true restart: on-failure:3 networks: mgmt: aliases: - data-plane.mitigator volumes: - ./data-plane.conf:/data-plane/etc/data-plane.conf:ro - coredumps:/data-plane/coredumps:rw environment: DATA_PLANE_NR_POLICIES: ${DATA_PLANE_NR_POLICIES:-100} backend: image: docker.mitigator.ru/product/backend:${VERSION:-latest} hostname: backend restart: on-failure:3 networks: mgmt: aliases: - backend.mitigator volumes: - backend_spool:/backend/spool - frontend:/var/www/netdike/www/:ro ports: - "${MITIGATOR_BGP_PORT:-179}:179" environment: BACKEND_CLICK_BASE_URL: http://data-plane.mitigator:8888 BACKEND_DATABASE_URI: postgres://backend@postgres.mitigator/mitigator?sslmode=disable WATCHHOG_HOST: watchhog.mitigator WATCHHOG_PORT: 50051 WATCHHOG_BACKEND_TOKEN: ${TOKEN:-9d947a396b2553b4171a06dd54434238b3409e1a} BACKEND_FWSTATS_ADDRESS: fwstats.mitigator:8091 TZ: ${TZ:-Europe/Moscow} NO_PROXY: ".mitigator,localhost" frontend: image: docker.mitigator.ru/product/frontend:${VERSION:-latest} hostname: frontend volumes: - frontend:/frontend-copy nginx: image: docker.mitigator.ru/product/nginx:${VERSION:-latest} hostname: nginx restart: on-failure:3 networks: mgmt: aliases: - nginx.mitigator ports: - "${MITIGATOR_HTTP_PORT:-80}:80" - "${MITIGATOR_HTTPS_PORT:-443}:443" depends_on: - backend volumes: - frontend:/var/www/mitigator:ro fwstats: image: docker.mitigator.ru/product/fwstats:${VERSION:-latest} hostname: fwstats restart: on-failure:3 ports: - "${MITIGATOR_SNMP_PORT:-705}:705" networks: mgmt: aliases: - fwstats.mitigator watchhog: image: docker.mitigator.ru/product/watchhog:${VERSION:-latest} hostname: watchhog restart: on-failure:3 environment: WATCHHOG_BACKEND_URL: http://backend:8080/api WATCHHOG_BACKEND_TOKEN: ${TOKEN:-9d947a396b2553b4171a06dd54434238b3409e1a} networks: mgmt: aliases: - watchhog.mitigator postgres: image: docker.mitigator.ru/product/postgres:${VERSION:-latest} hostname: postgres restart: on-failure:3 networks: mgmt: aliases: - postgres.mitigator volumes: - postgres:/var/lib/postgresql:rw environment: POSTGRES_DB: mitigator POSTGRES_INITDB_ARGS: --encoding=UTF8 --locale=ru_RU.UTF-8 graphite: image: docker.mitigator.ru/product/graphite:${VERSION:-latest} hostname: graphite restart: on-failure:3 environment: GUNICORN_CMD_ARGS: --limit-request-line 0 networks: mgmt: aliases: - graphite.mitigator volumes: - graphite:/opt/graphite/storage/whisper:rw - grafana:/usr/share/grafana/data:rw networks: mgmt: volumes: backend_spool: frontend: postgres: graphite: grafana: coredumps: