services:
  elasticsearch:
    image: "registry.on-premise.itarian.com/op-elasticsearch:1.0.1"
    networks:
      itsm:
        ipv4_address: 172.50.0.99
    volumes:
      - "/opt/itsm/elk/elasticsearch:/usr/share/elasticsearch/data"
    restart: always
    profiles: ["elasticsearch", "database"]
  kibana:
    image: "registry.on-premise.itarian.com/op-kibana:1.0.0"
    networks:
      itsm:
        ipv4_address: 172.50.0.113
    environment:
      ELASTICSEARCH_HOSTS: http://${ELASTICSEARCH_HOST:-elasticsearch}:9200
      SERVER_BASEPATH: ${KIBANA_BASE_PATH:-}
      SERVER_REWRITEBASEPATH: ${KIBANA_REWRITE_BASE_PATH:-false}
    restart: always
  logstash:
    image: "registry.on-premise.itarian.com/op-logstash:1.0.0"
    networks:
      itsm:
        ipv4_address: 172.50.0.115
        aliases:
          - elk
    environment:
      ELASTICSEARCH_HOST: ${ELASTICSEARCH_HOST:-elasticsearch}
    restart: always
  router:
    image: "registry.on-premise.itarian.com/op-router:1.1.1"
    ports:
      - 443:443
      - 80:80
    environment:
      - ITSM_DOMAIN
      - BIP_PUBLIC_SUBDOMAIN=bip
      - ITSM_KIBANA_BA_PASS
      - ITSM_RABBIT_BA_PASS
      - ITSM_CONSUL_BA_PASS
      - ITSM_MAIL_BA_PASS
      - ENABLE_DEV_KIBANA_ROUTE
      - ENABLE_DEV_CONSUL_ROUTE
      - ENABLE_DEV_RABBIT_ROUTE
      - ENABLE_DEV_MAIL_ROUTE
      - RABBITMQ_USER
      - RABBITMQ_PASS
      - DEV_AUTH_SECRET
      - ITSM_ONPREMISE_BUILD_VERSION=_ONPREMISE_VERSION
      - ITSM_WEB_BUILD_SOURCE=registry.on-premise.itarian.com/op-ms-app
      - ITSM_WEB_BUILD_VERSION=11.0.44312.26030-prod-2
      - ITSM_CONSUL_BUILD_SOURCE=registry.on-premise.itarian.com/op-consul
      - ITSM_CONSUL_BUILD_VERSION=1.15.7
      - ITSM_MS_DC_BUILD_VERSION=v0.11.0-prod
      - ITSM_MS_DC_BUILD_SOURCE=registry.on-premise.itarian.com/op-ms-dc
      - ITSM_MS_CUSTOMER_BUILD_VERSION=3.6.3
      - ITSM_MS_CUSTOMER_BUILD_SOURCE=registry.on-premise.itarian.com/op-ms-customer
      - ITSM_MS_COMPANY_BUILD_VERSION=v2.3.3-prod
      - ITSM_MS_COMPANY_BUILD_SOURCE=registry.on-premise.itarian.com/op-ms-company
      - ITSM_MS_DEVICE_BUILD_VERSION=3.4.4
      - ITSM_MS_DEVICE_BUILD_SOURCE=registry.on-premise.itarian.com/op-ms-device
      - ITSM_MS_FR_UI_BUILD_VERSION=v3.14.0-prod
      - ITSM_MS_FR_UI_BUILD_SOURCE=registry.on-premise.itarian.com/op-ms-fr-ui
      - ITSM_MS_AUDIT_LOG_BUILD_VERSION=v1.5.30
      - ITSM_MS_AUDIT_LOG_BUILD_SOURCE=registry.on-premise.itarian.com/op-ms-al
      - ITSM_MS_GLOBAL_FILE_EVENT_BUILD_VERSION=v2.25.0-prod
      - ITSM_MS_GLOBAL_FILE_EVENT_BUILD_SOURCE=registry.on-premise.itarian.com/op-ms-gfe
      - ITSM_MS_REPORTS_CSV_BUILD_VERSION=v1.5.6
      - ITSM_MS_REPORTS_CSV_BUILD_SOURCE=registry.on-premise.itarian.com/op-ms-report
      - ITSM_MS_REBRANDING_BUILD_VERSION=v1.1.2
      - ITSM_MS_REBRANDING_BUILD_SOURCE=registry.on-premise.itarian.com/op-rcc-gen
      - ITSM_MS_RMM_COLLECTOR_BUILD_VERSION=3.2.1
      - ITSM_MS_RMM_COLLECTOR_BUILD_SOURCE=registry.on-premise.itarian.com/op-ms-rmm-collector
      - ITSM_MS_RMM_COLLECTOR_UI_BUILD_VERSION=v1.0.0
      - ITSM_MS_RMM_COLLECTOR_UI_BUILD_SOURCE=registry.on-premise.itarian.com/op-ms-rmm-collector-ui
      - ITSM_MS_RMM_SEARCHER_BUILD_VERSION=v1.0.1
      - ITSM_MS_RMM_SEARCHER_BUILD_SOURCE=registry.on-premise.itarian.com/op-ms-rmm-searcher
      - ITSM_MS_DEVICE_STATUS_WATCHER_BUILD_SOURCE=registry.on-premise.itarian.com/op-ms-rmm-device-status-watcher
      - ITSM_MS_DEVICE_STATUS_WATCHER_BUILD_VERSION=v1.2.16
      - ITSM_MS_AUTH_CACHED_PROXY_BUILD_VERSION=v1.0.0
      - ITSM_MS_AUTH_CACHED_PROXY_BUILD_SOURCE=registry.on-premise.itarian.com/op-ms-auth-cached-proxy
      - ITSM_MS_RTDC_API_BUILD_VERSION=1.19.3-prod
      - ITSM_MS_RTDC_API_BUILD_SOURCE=registry.on-premise.itarian.com/op-ms-rtdc-api
      - ITSM_MS_RTDC_RELAY_BUILD_VERSION=2.2.8
      - ITSM_MS_RTDC_RELAY_BUILD_SOURCE=registry.on-premise.itarian.com/op-ms-rtdc-relay
      - ITSM_MS_BIP_BUILD_VERSION=v2.5.49
      - ITSM_MS_BIP_BUILD_SOURCE=registry.on-premise.itarian.com/op-ms-bip
      - ITSM_MS_CHERGA_BUILD_VERSION=1.10.4
      - ITSM_MS_CHERGA_BUILD_SOURCE=registry.on-premise.itarian.com/op-ms-cherga
      - ITSM_MS_TASKER_BUILD_VERSION=1.5.24
      - ITSM_MS_TASKER_BUILD_SOURCE=registry.on-premise.itarian.com/op-ms-tasker
      - ITSM_MS_DLP_BUILD_VERSION=v0.3.0
      - ITSM_MS_DLP_BUILD_SOURCE=registry.on-premise.itarian.com/op-ms-dlp
      - ITSM_STAT_BUILD_VERSION=1.0.3
      - ITSM_STAT_BUILD_SOURCE=registry.on-premise.itarian.com/op-stat
      - ITSM_STAT_EXPORTER_BUILD_VERSION=0.0.4
      - ITSM_STAT_EXPORTER_BUILD_SOURCE=registry.on-premise.itarian.com/op-stats-exporter
      - ITSM_BIN_WIN_CRC_BUILD_VERSION=11.0.51848.26030
      - ITSM_BIN_WIN_CRC_BUILD_SOURCE=registry.on-premise.itarian.com/op-bin-win-crc
      - ITSM_BIN_OSX_BUILD_VERSION=10.2.50969.25090
      - ITSM_BIN_OSX_BUILD_SOURCE=registry.on-premise.itarian.com/op-bin-osx-crc
      - ITSM_BIN_AV_DB_BUILD_VERSION=1.0.20240121
      - ITSM_BIN_AV_DB_BUILD_SOURCE=registry.on-premise.itarian.com/op-bin-av-db
      - ITSM_BIN_CDN_SERVER_BUILD_VERSION=1.0.0
      - ITSM_BIN_CDN_SERVER_BUILD_SOURCE=registry.on-premise.itarian.com/op-bin-cdn-server
      - ITSM_BIN_WIN_AGENT_BUILD_VERSION=11.0.51920.26030
      - ITSM_BIN_WIN_AGENT_BUILD_SOURCE=registry.on-premise.itarian.com/op-bin-win-agent
      - ITSM_BIN_WIN_CES_BUILD_VERSION=13.8.2.10019
      - ITSM_BIN_WIN_CES_BUILD_SOURCE=registry.on-premise.itarian.com/op-bin-win-ces
      - ITSM_BIN_WIN_UPDATER_BUILD_VERSION=1.0.767.17060
      - ITSM_BIN_WIN_UPDATER_BUILD_SOURCE=registry.on-premise.itarian.com/op-bin-win-updater
      - ITSM_BIN_WIN_BULK_BUILD_VERSION=10.3.51370.25120
      - ITSM_BIN_WIN_BULK_BUILD_SOURCE=registry.on-premise.itarian.com/op-bin-win-bulk
      - ITSM_BIN_LINUX_AGENT_BUILD_VERSION=10.1.50440.25030
      - ITSM_BIN_LINUX_AGENT_BUILD_SOURCE=registry.on-premise.itarian.com/op-bin-linux-agent
      - ITSM_BIN_LINUX_CES_BUILD_VERSION=2.3.1.556
      - ITSM_BIN_LINUX_CES_BUILD_SOURCE=registry.on-premise.itarian.com/op-bin-linux-ces
      - ITSM_BIN_OSX_AGENT_BUILD_VERSION=11.0.52125.26030
      - ITSM_BIN_OSX_AGENT_BUILD_SOURCE=registry.on-premise.itarian.com/op-bin-osx-agent
      - ITSM_BIN_OSX_CES_BUILD_VERSION=2.8.0.1309
      - ITSM_BIN_OSX_CES_BUILD_SOURCE=registry.on-premise.itarian.com/op-bin-osx-ces
      - ITSM_BE_SPM_SERVICE_BUILD_VERSION=v0.2.2
      - ITSM_BE_SPM_SERVICE_BUILD_SOURCE=registry.on-premise.itarian.com/op-be-spm-service
      - ITSM_BE_SPM_CONSUMER_BUILD_VERSION=v0.2.0
      - ITSM_BE_SPM_CONSUMER_BUILD_SOURCE=registry.on-premise.itarian.com/op-be-spm-consumer
      - ITSM_PATCH_PORTAL_BUILD_VERSION=v1.1.0
      - ITSM_PATCH_PORTAL_BUILD_SOURCE=registry.on-premise.itarian.com/op-patch-portal
      - ITSM_BE_PM_CVE_BUILD_VERSION=v1.1.8
      - ITSM_BE_PM_CVE_BUILD_IMAGE=registry.on-premise.itarian.com/op-cve-volatile-emigrant
      - ITSM_BE_PM_SERVICE_BUILD_VERSION=v1.1.5
      - ITSM_BE_PM_SERVICE_BUILD_SOURCE=registry.on-premise.itarian.com/op-be-pm-service
      - ITSM_BE_PM_CONSUMER_BUILD_VERSION=v1.0.0
      - ITSM_BE_PM_CONSUMER_BUILD_SOURCE=registry.on-premise.itarian.com/op-be-pm-consumer
      - ITSM_BE_ALERT_SERVICE_BUILD_VERSION=v1.0.1
      - ITSM_BE_ALERT_SERVICE_BUILD_SOURCE=registry.on-premise.itarian.com/op-be-alert-service
      - ITSM_INITDB_BUILD_VERSION=1.2.0
      - ITSM_INITDB_BUILD_SOURCE=registry.on-premise.itarian.com/op-initdb
      - ITSM_TINODE_BUILD_VERSION=v1.6.10
      - ITSM_TINODE_BUILD_SOURCE=registry.on-premise.itarian.com/op-tinode
      - ITSM_MS_VERDICT_REQUEST_BUILD_VERSION=v1.2.3
      - ITSM_MS_VERDICT_REQUEST_BUILD_SOURCE=registry.on-premise.itarian.com/op-ms-verdict-request
      - ITSM_MS_EXTERNAL_DEVICE_BUILD_VERSION=v1.3.5-prod
      - ITSM_MS_EXTERNAL_DEVICE_BUILD_SOURCE=registry.on-premise.itarian.com/op-ms-external-device
    networks:
      itsm:
        ipv4_address: 172.50.0.98
    volumes:
      - "/opt/itsm/web/certs:/opt/server/certs"
      - "/opt/itsm/verdict-db:/opt/itsm/verdict-db"
    restart: always
  web:
    image: "registry.on-premise.itarian.com/op-ms-app:11.0.44312.26030-prod-2"
    networks:
      itsm:
        ipv4_address: 172.50.0.100
    extra_hosts:
      - "${ITSM_XMPP_HOST}:${ITSM_XMPP_IP}"
      - "${ITSM_WEB_HOST}:${ITSM_WEB_IP}"
    depends_on:
      postgres:
        condition: service_started
        required: false
      mail:
        condition: service_started
      ms_rebranding:
        condition: service_started
      redis:
        condition: service_started
      ms_cherga:
        condition: service_started
      memcache:
        condition: service_started
    tmpfs:
      - /ram_stor
    volumes:
      - "/opt/itsm/web/runtime:/var/www/mdm/1/src/protected/runtime"
      - "/opt/itsm/web/certs:/etc/nginx/certs"
      - "/opt/itsm/verdict-db:/usr/src/app/storage"
      - "/opt/itsm/web/assets:/var/www/mdm/1/src/static/download"
      - type: volume
        source: "itsm-bin-win-agent"
        target: /var/cdn/itsm/release/win/communication_client
        read_only: true
        volume:
          nocopy: true
      - type: volume
        source: "itsm-bin-win-ces"
        target: /var/cdn/itsm/release/win/endpoint_security
        read_only: true
        volume:
          nocopy: true
    environment:
      - ITSM_DOMAIN
      - ITSM_XMPP_HOST
      - ITSM_XMPP_IP
      - ITSM_RMM_IP
      - ITSM_WEB_IP
      - ITSM_DB_DSN=pgsql:host=${POSTGRES_HOST:-postgres};port=5432;dbname=mdm
      - ITSM_PLUGINS_IP
      - ITSM_SMTP_HOST
      - ITSM_SMTP_AUTH
      - ITSM_SMTP_LOGIN
      - ITSM_SMTP_PASSWORD
      - ITSM_SMTP_FROM
      - ITSM_SMTP_FROM_NAME
      - ITSM_SMTP_PORT
      - ITSM_SMTP_SECURE
      - ITSM_TURN_SERVERS
      - ITSM_TURN_SECRET=itsm-turn-secret
      - ITSM_DEBUG
      - ITSM_ROUTER_REDIS_HOST=redis
      - CAM_HOST
      - CAM_LOGIN
      - CAM_SECRET
    restart: always
  redis:
    image: "registry.on-premise.itarian.com/op-redis:6.2.14"
    restart: always
    environment:
      - ALLOW_EMPTY_PASSWORD=yes
    networks:
      itsm:
        ipv4_address: 172.50.0.101
    volumes:
      - "/opt/itsm/redis:/data"
  memcache:
    image: "registry.on-premise.itarian.com/op-memcache:1.6.23"
    restart: always
    networks:
      itsm:
        ipv4_address: 172.50.0.102
  postgres:
    image: "registry.on-premise.itarian.com/op-postgres:13.14"
    restart: always
    environment:
      POSTGRES_USER: ${POSTGRES_ROOT_USER:-postgres}
      POSTGRES_PASSWORD: ${POSTGRES_ROOT_PASSWORD:-postgres}
    volumes:
      - "/opt/itsm/postgres:/var/lib/postgresql/data"
    networks:
      itsm:
        ipv4_address: 172.50.0.103
    profiles: ["postgres", "database"]
  initdb:
    image: "registry.on-premise.itarian.com/op-initdb:1.2.0"
    environment:
      POSTGRES_ROOT_USER: ${POSTGRES_ROOT_USER:-postgres}
      POSTGRES_ROOT_PASSWORD: ${POSTGRES_ROOT_PASSWORD:-postgres}
    networks:
      itsm:
    profiles: ["postgres", "database"]
  mail:
    image: "registry.on-premise.itarian.com/op-smtp:1.0.0"
    command: ["--mail-directory=/mails"]
    networks:
      itsm:
        ipv4_address: 172.50.0.104
    restart: always
    volumes:
      - "/opt/itsm/mail:/mails"
  rabbit:
    image: "registry.on-premise.itarian.com/op-rabbit:3.12.12-management"
    environment:
      RABBITMQ_DEFAULT_USER: ${RABBITMQ_USER:-itsm}
      RABBITMQ_DEFAULT_PASS: ${RABBITMQ_PASS:-itsm}
      RABBITMQ_MANAGEMENT_PATH_PREFIX: ${RABBITMQ_MANAGEMENT_PATH_PREFIX:-}
    networks:
      itsm:
        ipv4_address: 172.50.0.105
    hostname: itsm-rabbit
    restart: always
  consul:
    image: "registry.on-premise.itarian.com/op-consul:1.15.7"
    hostname: consul
    networks:
      itsm:
        ipv4_address: 172.50.0.106
    environment:
      ITSM_DOMAIN:
      CONSUL_BIND_INTERFACE: eth0
      ELASTICSEARCH_HOST: ${ELASTICSEARCH_HOST:-elasticsearch}
      LOGSTASH_HOST: ${LOGSTASH_HOST:-logstash}
      POSTGRES_HOST: ${POSTGRES_HOST:-postgres}
      MONGODB_HOST: ${MONGODB_HOST:-mongo}
      RABBITMQ_USER: ${RABBITMQ_USER:-itsm}
      RABBITMQ_PASS: ${RABBITMQ_PASS:-itsm}
      ITSM_XMPP_HOST: ${ITSM_XMPP_HOST:-xmpp}
      ENABLE_DEV_CONSUL_ROUTE:
    volumes:
      - "/opt/itsm/consul/config:/consul/config"
      - "/opt/itsm/consul/data:/consul/data"
    restart: always
  mongo:
    image: "registry.on-premise.itarian.com/op-mongo:4.4.29"
    networks:
      itsm:
        ipv4_address: 172.50.0.107
    volumes:
      - "/opt/itsm/mongo/data:/data/db"
    restart: always
    command: --quiet
    profiles: ["mongo", "database"]
  ms_dc:
    image: "registry.on-premise.itarian.com/op-ms-dc:v0.11.0-prod"
    networks:
      itsm:
        ipv4_address: 172.50.0.108
    depends_on:
      - rabbit
      - consul
    environment:
      ITSM_SERVICE_START_DELAY: 40
      ITSM_SERVICE_RESOLVER: "docker"
    restart: always
  ms_customer:
    image: "registry.on-premise.itarian.com/op-ms-customer:3.6.3"
    networks:
      itsm:
        ipv4_address: 172.50.0.109
    depends_on:
      - rabbit
      - consul
    environment:
      ITSM_ENV: "itsm"
      ITSM_CONSUL_URI: "http://consul:8500"
      ITSM_SERVICE_START_DELAY: 40
      ITSM_SERVICE_RESOLVER: "docker"
    restart: always
  ms_company:
    image: "registry.on-premise.itarian.com/op-ms-company:v2.3.3-prod"
    networks:
      itsm:
        ipv4_address: 172.50.0.110
    depends_on:
      rabbit:
        condition: service_started
      consul:
        condition: service_started
      postgres:
        condition: service_started
        required: false
    environment:
      ITSM_ENV: "itsm"
      ITSM_CONSUL_URI: "http://consul:8500"
      ITSM_SERVICE_START_DELAY: 40
      ITSM_SERVICE_RESOLVER: "docker"
    restart: always
  ms_device:
    image: "registry.on-premise.itarian.com/op-ms-device:3.4.4"
    networks:
      itsm:
        ipv4_address: 172.50.0.111
    depends_on:
      rabbit:
        condition: service_started
      consul:
        condition: service_started
      postgres:
        condition: service_started
        required: false
    environment:
      ITSM_ENV: "itsm"
      ITSM_CONSUL_URI: "http://consul:8500"
      ITSM_SERVICE_START_DELAY: 40
      ITSM_SERVICE_RESOLVER: "docker"
    restart: always
  ms_fr_ui:
    image: "registry.on-premise.itarian.com/op-ms-fr-ui:v3.14.0-prod"
    networks:
      itsm:
        ipv4_address: 172.50.0.112
    depends_on:
      rabbit:
        condition: service_started
      consul:
        condition: service_started
      mongo:
        condition: service_started
        required: false
    environment:
      ITSM_ENV: "itsm"
      ITSM_CONSUL_URI: "http://consul:8500"
      ITSM_SERVICE_RESOLVER: "docker"
    restart: always
    volumes:
      - "/opt/itsm/verdict-db:/usr/src/app/storage"
  ms_audit_log:
    image: "registry.on-premise.itarian.com/op-ms-al:v1.5.30"
    networks:
      itsm:
        ipv4_address: 172.50.0.114
    depends_on:
      - rabbit
      - consul
      - logstash
      - ms_auth_cached_proxy
    environment:
      ITSM_SERVICE_START_DELAY: 40
      ITSM_CONSUL_URI: "http://consul:8500"
      ITSM_SERVICE_RESOLVER: "docker"
    restart: always
    command: >
      /bin/bash -c "
        sleep 60;
        /bin/bash /bootstrap.sh
      "
  ms_global_file_event:
    image: "registry.on-premise.itarian.com/op-ms-gfe:v2.25.0-prod"
    environment:
      ITSM_ENV: "itsm"
      ITSM_CONSUL_URI: "http://consul:8500"
      ITSM_SERVICE_RESOLVER: "docker"
    networks:
      itsm:
        ipv4_address: 172.50.0.116
    depends_on:
      rabbit:
        condition: service_started
      consul:
        condition: service_started
      mongo:
        condition: service_started
        required: false
    restart: always
  ms_reports_csv:
    image: "registry.on-premise.itarian.com/op-ms-report:v1.5.6"
    volumes:
      - "/opt/itsm/web/assets:/var/downloads"
    networks:
      itsm:
        ipv4_address: 172.50.0.117
    depends_on:
      - consul
      - rabbit
      - web
    extra_hosts:
      - "${ITSM_WEB_HOST}:${ITSM_WEB_IP}"
    environment:
      ITSM_ENV: itsm
      ITSM_CONFIG_MANAGER: consul
      ITSM_CONSUL_URI: http://consul:8500
      ITSM_DOMAIN: ${ITSM_DOMAIN}
      ITSM_WEB_IP: ${ITSM_WEB_IP}
      ITSM_SERVICE_START_DELAY: 40
      ITSM_SERVICE_RESOLVER: "docker"
    restart: always
    command: >
      /bin/bash -c "
        sleep 40;
        /bin/bash /on-premise-bootstrap.sh
      "
  ms_rebranding:
    image: "registry.on-premise.itarian.com/op-rcc-gen:v1.1.2"
    networks:
      itsm:
        ipv4_address: 172.50.0.118
    depends_on:
      - consul
    restart: always
    command: >
      /bin/bash -c "
        sleep 40;
        /bin/bash /bootstrap.sh
      "
  ms_rmm_collector:
    image: "registry.on-premise.itarian.com/op-ms-rmm-collector:3.2.1"
    networks:
      itsm:
        ipv4_address: 172.50.0.119
    environment:
      ITSM_SERVICE_START_DELAY: 40
      ITSM_ENV: "itsm"
      ITSM_CONSUL_URI: "http://consul:8500"
      ITSM_SERVICE_RESOLVER: "docker"
    restart: always
    depends_on:
      - consul
    extra_hosts:
      - "${ITSM_WEB_HOST}:${ITSM_WEB_IP}"
    command: >
      /bin/bash -c "
        sleep 60;
        /bin/bash /bootstrap.sh
      "
  ms_rmm_collector_ui:
    image: "registry.on-premise.itarian.com/op-ms-rmm-collector-ui:v1.0.0"
    networks:
      itsm:
        ipv4_address: 172.50.0.120
    environment:
      ITSM_SERVICE_START_DELAY: 40
      ITSM_LOG_STDOUT_DISABLED: "true"
      ITSM_LOG_INTERNAL_ENABLED: "true"
      ITSM_ENV: "itsm"
      ITSM_CONSUL_URI: "http://consul:8500"
      ITSM_SERVICE_RESOLVER: "docker"
    depends_on:
      - consul
    extra_hosts:
      - "${ITSM_WEB_HOST}:${ITSM_WEB_IP}"
    restart: always
    command: >
      /bin/bash -c "
        sleep 60;
        /bin/bash /bootstrap.sh
      "
  ms_rmm_searcher:
    image: "registry.on-premise.itarian.com/op-ms-rmm-searcher:v1.0.1"
    networks:
      itsm:
        ipv4_address: 172.50.0.121
    depends_on:
      - consul
    environment:
      ITSM_SERVICE_START_DELAY: 40
      ITSM_LOG_STDOUT_DISABLED: "true"
      ITSM_LOG_INTERNAL_ENABLED: "true"
      ITSM_ENV: "itsm"
      ITSM_CONSUL_URI: "http://consul:8500"
      ITSM_SERVICE_RESOLVER: "docker"
    restart: always
    command: >
      /bin/bash -c "
        sleep 60;
        /bin/bash /bootstrap.sh
      "
  ms_auth_cached_proxy:
    image: "registry.on-premise.itarian.com/op-ms-auth-cached-proxy:v1.0.0"
    networks:
      itsm:
        ipv4_address: 172.50.0.122
    depends_on:
      - web
      - consul
    extra_hosts:
      - "${ITSM_WEB_HOST}:${ITSM_WEB_IP}"
    environment:
      ITSM_ENV: itsm
      ITSM_DOMAIN: ${ITSM_DOMAIN}
      ITSM_SERVICE_RESOLVER: "docker"
      ITSM_SERVICE_START_DELAY: 40
    entrypoint: /on-premise-bootstrap.sh
    restart: always
  ms_rtdc_api:
    image: "registry.on-premise.itarian.com/op-ms-rtdc-api:1.19.3-prod"
    networks:
      itsm:
        ipv4_address: 172.50.0.123
    depends_on:
      - redis
    environment:
      ITSM_ENV: itsm
      ITSM_DOMAIN: ${ITSM_DOMAIN}
      ITSM_CONSUL_URI: http://consul:8500
      ITSM_MS_NODE_ID: "01"
      ITSM_CA_CERT_PATH:
      ITSM_SERVICE_RESOLVER: "docker"
      ITSM_SERVICE_START_DELAY: 40
    extra_hosts:
      - "${ITSM_XMPP_HOST}:${ITSM_XMPP_IP}"
      - "${ITSM_WEB_HOST}:${ITSM_WEB_IP}"
    entrypoint:
      - "/bin/bash"
      - -c
      - "sleep 40; /bin/bash /on-premise-bootstrap.sh"
    restart: always
    volumes:
      - "/opt/itsm/rtdc-api/certs:/opt/certs"
  ms_rtdc_relay:
    image: "registry.on-premise.itarian.com/op-ms-rtdc-relay:2.2.8"
    networks:
      itsm:
        ipv4_address: 172.50.0.124
    depends_on:
      - redis
    environment:
      ITSM_ENV: itsm
      ITSM_DOMAIN: ${ITSM_DOMAIN}
      ITSM_CONSUL_URI: http://consul:8500
      ITSM_MS_NODE_ID: "01"
      ITSM_SERVICE_RESOLVER: "docker"
    extra_hosts:
      - "${ITSM_XMPP_HOST}:${ITSM_XMPP_IP}"
      - "${ITSM_WEB_HOST}:${ITSM_WEB_IP}"
    entrypoint: "/bin/bash /on-premise-bootstrap.sh"
    restart: always
  itsm_turn:
    image: "registry.on-premise.itarian.com/op-turn:1.0.1"
    network_mode: "host"
    environment:
      - EXTERNAL_IP
      - STATIC_AUTH_SECRET=itsm-turn-secret
      - REALM=cmdm
    volumes:
      - "/opt/itsm/turn:/var/lib/turn"
    restart: always
  ms_bip:
    image: "registry.on-premise.itarian.com/op-ms-bip:v2.5.49"
    networks:
      itsm:
        ipv4_address: 172.50.0.125
    depends_on:
      consul:
        condition: service_started
      mongo:
        condition: service_started
        required: false
      cdn:
        condition: service_started
      web:
        condition: service_started
    environment:
      ITSM_ENV: itsm
      ITSM_DOMAIN: ${ITSM_DOMAIN}
      ITSM_CONSUL_URI: http://consul:8500
      ITSM_SERVICE_START_DELAY: 40
      BIP_PUBLIC_SUBDOMAIN: "bip"
      BIP_PUBLIC_SCHEME: "https"
      ITSM_SERVICE_RESOLVER: "docker"
    extra_hosts:
      - "${ITSM_WEB_HOST}:${ITSM_WEB_IP}"
    entrypoint: "/on-premise-bootstrap.sh"
    restart: always
    volumes:
      - "/opt/itsm/bip/customer:/opt/bulk-installation-package/customer"
  ms_cherga:
    image: "registry.on-premise.itarian.com/op-ms-cherga:1.10.4"
    networks:
      itsm:
        ipv4_address: 172.50.0.126
    environment:
      ITSM_ENV: itsm
      ITSM_CONSUL_URI: http://consul:8500
      ITSM_DOMAIN: ${ITSM_DOMAIN}
      ITSM_SERVICE_RESOLVER: "docker"
    restart: always
    extra_hosts:
      - "${ITSM_WEB_HOST}:${ITSM_WEB_IP}"
    depends_on:
      rabbit:
        condition: service_started
      consul:
        condition: service_started
      mongo:
        condition: service_started
        required: false
    command: >
      /bin/bash -c "
        sleep 60;
        /bin/bash /bootstrap.sh
      "
  ms_tasker:
    image: "registry.on-premise.itarian.com/op-ms-tasker:1.5.24"
    networks:
      itsm:
        ipv4_address: 172.50.0.127
    environment:
      ITSM_ENV: itsm
      ITSM_CONSUL_URI: http://consul:8500
      ITSM_DOMAIN: ${ITSM_DOMAIN}
      ITSM_SERVICE_RESOLVER: "docker"
    restart: always
    depends_on:
      - consul
    command: >
      /bin/bash -c "
        sleep 60;
        /bin/bash /bootstrap.sh
      "
  ms_dlp:
    image: "registry.on-premise.itarian.com/op-ms-dlp:v0.3.0"
    networks:
      itsm:
        ipv4_address: 172.50.0.129
    environment:
      ITSM_ENV: itsm
      ITSM_CONSUL_URI: http://consul:8500
      ITSM_SERVICE_RESOLVER: "docker"
    restart: always
    depends_on:
      consul:
        condition: service_started
      mongo:
        condition: service_started
        required: false
      rabbit:
        condition: service_started
    command: >
      /bin/bash -c "
        sleep 40;
        /bin/bash /bootstrap.sh
      "
  stat:
    image: "registry.on-premise.itarian.com/op-stat:1.0.3"
    networks:
      itsm:
        ipv4_address: 172.50.0.130
    depends_on:
      - rabbit
    environment:
      - STAT_MONGO_DSN=${STAT_MONGO_DSN:-mongodb://mongo:27017/mdm-statistic}
    restart: always
  stat_exporter:
    image: "registry.on-premise.itarian.com/op-stats-exporter:0.0.4"
    networks:
      itsm:
        ipv4_address: 172.50.0.131
    depends_on:
      stat:
        condition: service_started
      mongo:
        condition: service_started
        required: false
    restart: always
    environment:
      - ITSM_DOMAIN
  bin_win_crc:
    image: "registry.on-premise.itarian.com/op-bin-win-crc:11.0.51848.26030"
    volumes:
      - "itsm-bin-win-crc:/opt/binaries"
  bin_osx_crc:
    image: "registry.on-premise.itarian.com/op-bin-osx-crc:10.2.50969.25090"
    volumes:
      - "itsm-bin-osx-crc:/opt/binaries"
  bin_win_agent:
    image: "registry.on-premise.itarian.com/op-bin-win-agent:11.0.51920.26030"
    volumes:
      - "itsm-bin-win-agent:/opt/binaries"
  bin_win_ces:
    image: "registry.on-premise.itarian.com/op-bin-win-ces:13.8.2.10019"
    volumes:
      - "itsm-bin-win-ces:/opt/binaries"
  bin_win_updater:
    image: "registry.on-premise.itarian.com/op-bin-win-updater:1.0.767.17060"
    volumes:
      - "itsm-bin-win-updater:/opt/binaries"
  bin_win_bulk:
    image: "registry.on-premise.itarian.com/op-bin-win-bulk:10.3.51370.25120"
    volumes:
      - "itsm-bin-win-bulk:/opt/binaries"
  bin_linux_agent:
    image: "registry.on-premise.itarian.com/op-bin-linux-agent:10.1.50440.25030"
    volumes:
      - "itsm-bin-linux-agent:/opt/binaries"
  bin_linux_ces:
    image: "registry.on-premise.itarian.com/op-bin-linux-ces:2.3.1.556"
    volumes:
      - "itsm-bin-linux-ces:/opt/binaries"
  bin_osx_agent:
    image: "registry.on-premise.itarian.com/op-bin-osx-agent:11.0.52125.26030"
    volumes:
      - "itsm-bin-osx-agent:/opt/binaries"
  bin_osx_ces:
    image: "registry.on-premise.itarian.com/op-bin-osx-ces:2.8.0.1309"
    volumes:
      - "itsm-bin-osx-ces:/opt/binaries"
  bin_av_db:
    image: "registry.on-premise.itarian.com/op-bin-av-db:1.0.20240121"
    networks:
      itsm:
        ipv4_address: 172.50.0.132
    restart: always
    environment:
      - AV_DB_UPDATE_INTERVAL=${AV_DB_UPDATE_INTERVAL:-21600}
      - AV_DB_HOST=${AV_DB_HOST:-download.comodo.com}
  cdn:
    image: "registry.on-premise.itarian.com/op-bin-cdn-server:1.0.0"
    networks:
      itsm:
        ipv4_address: 172.50.0.133
    restart: always
    volumes:
      - type: volume
        source: "itsm-bin-win-crc"
        target: /var/cdn/itsm/release/win/remote_control/latest
        volume:
          nocopy: true
      - type: volume
        source: "itsm-bin-osx-crc"
        target: /var/cdn/itsm/release/mac/remote_control/latest
        volume:
          nocopy: true
      - type: volume
        source: "itsm-bin-win-agent"
        target: /var/cdn/itsm/release/win/communication_client
        volume:
          nocopy: true
      - type: volume
        source: "itsm-bin-win-ces"
        target: /var/cdn/itsm/release/win/endpoint_security
        volume:
          nocopy: true
      - type: volume
        source: "itsm-bin-win-updater"
        target: /var/cdn/itsm/release/win/updater
        volume:
          nocopy: true
      - type: volume
        source: "itsm-bin-win-bulk"
        target: /var/cdn/itsm/release/win/itsm_bulk_installer
        volume:
          nocopy: true
      - type: volume
        source: "itsm-bin-linux-agent"
        target: /var/cdn/itsm/release/linux/communication_client
        volume:
          nocopy: true
      - type: volume
        source: "itsm-bin-linux-ces"
        target: /var/cdn/itsm/release/linux/endpoint_security
        volume:
          nocopy: true
      - type: volume
        source: "itsm-bin-osx-agent"
        target: /var/cdn/itsm/release/mac/communication_client
        volume:
          nocopy: true
      - type: volume
        source: "itsm-bin-osx-ces"
        target: /var/cdn/itsm/release/mac/endpoint_security
        volume:
          nocopy: true
    environment:
      - ITSM_DOMAIN
  be-pm-service:
    image: "registry.on-premise.itarian.com/op-be-pm-service:v1.1.5"
    networks:
      itsm:
        ipv4_address: 172.50.0.136
    depends_on:
      postgres:
        condition: service_started
        required: false
      redis:
        condition: service_started
      rabbit:
        condition: service_started
      consul:
        condition: service_started
    extra_hosts:
      - "${ITSM_WEB_HOST}:${ITSM_WEB_IP}"
      - "plugins.${BASE_DOMAIN}:172.50.0.98"
    environment:
      ITSM_SERVICE_START_DELAY: 40
      ITSM_ENV: "itsm"
      ITSM_CONSUL_URI: "http://consul:8500"
      ITSM_SERVICE_RESOLVER: "docker"
      ITSM_DOMAIN: ${ITSM_DOMAIN}
    restart: always
    entrypoint: "/on-premise-bootstrap.sh"
  be-pm-consumer:
    image: "registry.on-premise.itarian.com/op-be-pm-consumer:v1.0.0"
    networks:
      itsm:
        ipv4_address: 172.50.0.137
    depends_on:
      postgres:
        condition: service_started
        required: false
      redis:
        condition: service_started
      rabbit:
        condition: service_started
      consul:
        condition: service_started
    environment:
      ITSM_SERVICE_START_DELAY: 40
      ITSM_ENV: "itsm"
      ITSM_CONSUL_URI: "http://consul:8500"
      ITSM_SERVICE_RESOLVER: "docker"
    restart: always
  be-alert-service:
    image: "registry.on-premise.itarian.com/op-be-alert-service:v1.0.1"
    networks:
      itsm:
        ipv4_address: 172.50.0.138
    depends_on:
      postgres:
        condition: service_started
        required: false
      rabbit:
        condition: service_started
      consul:
        condition: service_started
    extra_hosts:
      - "${ITSM_WEB_HOST}:${ITSM_WEB_IP}"
      - "plugins.${BASE_DOMAIN}:172.50.0.98"
    environment:
      ITSM_SERVICE_START_DELAY: 40
      ITSM_ENV: "itsm"
      ITSM_CONSUL_URI: "http://consul:8500"
      ITSM_SERVICE_RESOLVER: "docker"
    restart: always
  kutt:
    image: "registry.on-premise.itarian.com/op-kutt:v0.0.2"
    networks:
      itsm:
        ipv4_address: 172.50.0.139
    environment:
      SITE_NAME: "ITSM OnPrem URL cutter"
      MAIL_HOST: "no-reply@${ITSM_DOMAIN}"
      MAIL_PORT: 465
      MAIL_SECURE: "true"
      MAIL_USER: "no-reply@${ITSM_DOMAIN}"
      MAIL_PASSWORD: ""
      MAIL_FROM: "no-reply@${ITSM_DOMAIN}"
      KUTT_SERVICE_SHORT_DOMAIN: https://${ITSM_DOMAIN}/kutt
      KUTT_SERVICE_BASE_PATH: /kutt
      LINK_LENGTH: 6
      DISALLOW_REGISTRATION: "true"
      DISALLOW_ANONYMOUS_LINKS: "true"
      USER_LIMIT_PER_DAY: 50000
      NON_USER_COOLDOWN: 0
      DEFAULT_MAX_STATS_PER_LINK: 5000
      CUSTOM_DOMAIN_USE_HTTPS: "true"
      JWT_SECRET: jwtsecret
      ADMIN_EMAILS: "admin@${ITSM_DOMAIN}"
      DB_HOST: ${POSTGRES_HOST:-postgres}
      DB_NAME: kuttdb
      DB_USER: kutt
      DB_SSL: "false"
      DB_PASSWORD: kuttpass
      REDIS_HOST: redis
      REDIS_DB: 5
      KUTT_SERVICE_PG_HOST: ${POSTGRES_HOST:-postgres}
      KUTT_SERVICE_PG_DB: kuttdb
      KUTT_SERVICE_PG_USER: kutt
      KUTT_SERVICE_PG_PASSWORD: kuttpass
    restart: always
  be-spm-service:
    image: "registry.on-premise.itarian.com/op-be-spm-service:v0.2.2"
    networks:
      itsm:
        ipv4_address: 172.50.0.140
    depends_on:
      postgres:
        condition: service_started
        required: false
      redis:
        condition: service_started
      rabbit:
        condition: service_started
      consul:
        condition: service_started
    extra_hosts:
      - "${ITSM_WEB_HOST}:${ITSM_WEB_IP}"
      - "plugins.${BASE_DOMAIN}:172.50.0.98"
    environment:
      ITSM_ENV: "itsm"
      ITSM_CONSUL_URI: "http://consul:8500"
      ITSM_SERVICE_RESOLVER: "docker"
      ITSM_DOMAIN: ${ITSM_DOMAIN}
    restart: always
  be-spm-consumer:
    image: "registry.on-premise.itarian.com/op-be-spm-consumer:v0.2.0"
    networks:
      itsm:
        ipv4_address: 172.50.0.141
    depends_on:
      postgres:
        condition: service_started
        required: false
      redis:
        condition: service_started
      rabbit:
        condition: service_started
      consul:
        condition: service_started
    environment:
      ITSM_SERVICE_START_DELAY: 40
      ITSM_ENV: "itsm"
      ITSM_CONSUL_URI: "http://consul:8500"
      ITSM_SERVICE_RESOLVER: "docker"
    restart: always
  patch-portal:
    image: "registry.on-premise.itarian.com/op-patch-portal:v1.1.0"
    networks:
      itsm:
        ipv4_address: 172.50.0.147
    depends_on:
      postgres:
        condition: service_started
        required: false
      redis:
        condition: service_started
      consul:
        condition: service_started
      be-pm-service:
        condition: service_started
      be-spm-service:
        condition: service_started
    extra_hosts:
      - "${ITSM_WEB_HOST}:${ITSM_WEB_IP}"
    environment:
      ITSM_ENV: "itsm"
      ITSM_CONSUL_URI: "http://consul:8500"
      ITSM_SERVICE_RESOLVER: "docker"
      SUPERADMIN_USERNAME: ${PATCH_PORTAL_SUPERADMIN_USERNAME:-admin}
      SUPERADMIN_PASSWORD: ${PATCH_PORTAL_SUPERADMIN_PASSWORD:-}
    restart: always
  ms_device_status_watcher:
    image: "registry.on-premise.itarian.com/op-ms-rmm-device-status-watcher:v1.2.16"
    networks:
      itsm:
        ipv4_address: 172.50.0.142
    depends_on:
      - redis
      - consul
    extra_hosts:
      - "${ITSM_WEB_HOST}:${ITSM_WEB_IP}"
    environment:
      ITSM_CONSUL_URI: "http://consul:8500"
      ITSM_SERVICE_RESOLVER: "docker"
    restart: always
  tinode:
    image: "registry.on-premise.itarian.com/op-tinode:v1.6.10"
    networks:
      itsm:
        ipv4_address: 172.50.0.143
    depends_on:
      mongo:
        condition: service_started
        required: false
      consul:
        condition: service_started
    environment:
      ITSM_CONSUL_URI: "http://consul:8500"
      ITSM_SERVICE_RESOLVER: "docker"
    restart: always
  be-pm-cve:
    image: "registry.on-premise.itarian.com/op-cve-volatile-emigrant:v1.1.8"
    networks:
      itsm:
        ipv4_address: 172.50.0.144
    depends_on:
      postgres:
        condition: service_started
        required: false
      consul:
        condition: service_started
    environment:
      ITSM_ENV: "itsm"
      ITSM_CONSUL_URI: "http://consul:8500"
      ITSM_SERVICE_RESOLVER: "docker"
    restart: always
  ms_verdict_request:
    image: "registry.on-premise.itarian.com/op-ms-verdict-request:v1.2.3"
    networks:
      itsm:
        ipv4_address: 172.50.0.145
    depends_on:
      - consul
    environment:
      ITSM_ENV: "itsm"
      ITSM_CONSUL_URI: "http://consul:8500"
      ITSM_SERVICE_RESOLVER: "docker"
    restart: always
  ms_external_device:
    image: "registry.on-premise.itarian.com/op-ms-external-device:v1.3.5-prod"
    networks:
      itsm:
        ipv4_address: 172.50.0.146
    depends_on:
      - consul
      - rabbit
    environment:
      ITSM_ENV: "itsm"
      ITSM_CONSUL_URI: "http://consul:8500"
      ITSM_SERVICE_RESOLVER: "docker"
    restart: always
networks:
  itsm:
    ipam:
      config:
        - subnet: 172.50.0.0/24

volumes:
  itsm-bin-win-crc:
  itsm-bin-osx-crc:
  itsm-bin-win-agent:
  itsm-bin-win-ces:
  itsm-bin-win-updater:
  itsm-bin-win-bulk:
  itsm-bin-linux-agent:
  itsm-bin-linux-ces:
  itsm-bin-osx-agent:
  itsm-bin-osx-ces:

