version: "2.2" services: data-plane: image: docker.mitigator.ru/product/click/${ARCH:-nehalem}:${VERSION:-latest} hostname: data-plane privileged: true restart: on-failure:3 networks: default: aliases: - data-plane.mitigator ports: - "${CLICK_CONTROL_PORT:-8888}:8888" 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} postgres: image: docker.mitigator.ru/product/postgres:${VERSION:-latest} hostname: postgres restart: on-failure:3 networks: default: aliases: - postgres.mitigator ports: - "${POSTGRES_PORT:-5432}:5432" volumes: - postgres:/var/lib/postgresql:rw environment: POSTGRES_DB: mitigator POSTGRES_INITDB_ARGS: --encoding=UTF8 --locale=ru_RU.UTF-8 backend: image: docker.mitigator.ru/product/backend:${VERSION:-latest} hostname: backend restart: always networks: default: aliases: - backend.mitigator volumes: - frontend:/var/www/netdike/www/:ro - own_id:/backend/own_id ports: - "${MITIGATOR_BGP_PORT:-179}:179" environment: BACKEND_DATABASE_URI: "postgres://backend@${MITIGATOR_STORAGE_HOST:-postgres.mitigator}/mitigator?sslmode=disable" BACKEND_CLICK_BASE_URL: http://${MITIGATOR_OWN_ADDRESS:-data-plane.mitigator}:${CLICK_CONTROL_PORT:-8888} BACKEND_GRAPHITE_URL: http://${MITIGATOR_STORAGE_HOST:-carbonapi.mitigator}:3080/render/ MITIGATOR_OWN_NAME: ${MITIGATOR_OWN_NAME:-Base_instance} WATCHHOG_HOST: watchhog.mitigator WATCHHOG_PORT: 50051 WATCHHOG_BACKEND_TOKEN: ${TOKEN:-9d947a396b2553b4171a06dd54434238b3409e1a} BACKEND_FWSTATS_ADDRESS: fwstats.mitigator:8091 RTS_HOST: rts.mitigator RTS_PORT: 7180 TZ: ${TZ:-Europe/Moscow} NO_PROXY: ".mitigator,localhost" nginx: image: docker.mitigator.ru/vendor/nginx:${VERSION:-latest} hostname: nginx restart: on-failure:3 networks: default: aliases: - nginx.mitigator ports: - "${MITIGATOR_HTTP_PORT:-80}:80" - "${MITIGATOR_HTTPS_PORT:-443}:443" depends_on: - backend volumes: - frontend:/var/www/mitigator:ro frontend: image: docker.mitigator.ru/product/frontend:${VERSION:-latest} hostname: frontend volumes: - frontend:/frontend-copy fwstats: image: docker.mitigator.ru/product/fwstats:${VERSION:-latest} hostname: fwstats restart: on-failure:3 ports: - "${MITIGATOR_SNMP_PORT:-705}:705" networks: default: aliases: - fwstats.mitigator environment: FWSTATS_GRAPHITE_ADDRESS: "${MITIGATOR_STORAGE_HOST:-carbon-clickhouse.mitigator}:2003" 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: default: aliases: - watchhog.mitigator rts: image: docker.mitigator.ru/product/gsp:${VERSION:-latest} hostname: rts networks: default: aliases: - rts.mitigator clickhouse: image: docker.mitigator.ru/vendor/clickhouse:${VERSION:-latest} hostname: clickhouse restart: on-failure:3 ulimits: nofile: soft: 262144 hard: 262144 networks: default: aliases: - clickhouse.mitigator volumes: - "clickhouse:/var/lib/clickhouse:rw" graphite-clickhouse: image: docker.mitigator.ru/vendor/graphite-clickhouse:${VERSION:-latest} hostname: graphite restart: on-failure:3 networks: default: aliases: - graphite-clickhouse.mitigator depends_on: - clickhouse carbon-clickhouse: image: docker.mitigator.ru/vendor/carbon-clickhouse:${VERSION:-latest} hostname: carbon restart: on-failure:3 networks: default: aliases: - carbon-clickhouse.mitigator depends_on: - clickhouse carbonapi: image: docker.mitigator.ru/vendor/carbonapi:${VERSION:-latest} hostname: carbonapi restart: on-failure:3 networks: default: aliases: - carbonapi.mitigator ports: - "${MITIGATOR_GRAPHITE_API_PORT:-3080}:3080" depends_on: - graphite-clickhouse grafana: image: docker.mitigator.ru/vendor/grafana:${VERSION:-latest} hostname: grafana restart: on-failure:3 scale: 0 networks: default: ports: - "${MITIGATOR_GRAFANA_PORT:-3000}:3000" depends_on: - carbonapi volumes: - grafana:/var/lib/grafana:rw networks: default: volumes: clickhouse: coredumps: frontend: grafana: postgres: own_id: