x-container-defaults: &container-defaults environment: TZ: "${TIMEZONE:-Etc/UTC}" logging: driver: "json-file" options: max-size: "10m" max-file: "10" compress: "true" networks: !override opsi-default: restart: "${RESTARTPOLICY:-always}" x-common-grafana-variables: &common-grafana-variables GF_SECURITY_ADMIN_USER: "${GF_SECURITY_ADMIN_USER}" GF_SECURITY_ADMIN_PASSWORD: "${GF_SECURITY_ADMIN_PASSWORD}" x-common-mysql-variables: &common-mysql-variables MYSQL_DATABASE: "${MYSQL_DATABASE}" MYSQL_USER: "${MYSQL_USER}" MYSQL_PASSWORD: "${MYSQL_PASSWORD}" x-common-redis-variables: &common-redis-variables REDIS_PASSWORD: "${REDIS_PASSWORD}" services: grafana: <<: [ *container-defaults ] container_name: "opsi-grafana-${CONTEXT}" environment: <<: [ *common-grafana-variables ] volumes: - "/opt/docker-data/opsi-${CONTEXT}/grafana/data:/var/lib/grafana" mysql: <<: [ *container-defaults ] container_name: "opsi-mysql-${CONTEXT}" environment: <<: [ *common-mysql-variables ] MYSQL_ROOT_PASSWORD: "${MYSQL_ROOT_PASSWORD}" volumes: - "/opt/docker-data/opsi-${CONTEXT}/mysql/data:/var/lib/mysql" opsi-server: <<: [ *container-defaults ] container_name: "opsi-opsi_configserver-${CONTEXT}" domainname: "${DOMAINNAME}" environment: <<: [ *common-grafana-variables, *common-mysql-variables, *common-redis-variables ] OPSI_ADMIN_PASSWORD: "${OPSI_ADMIN_PASSWORD}" OPSI_ROOT_PASSWORD: "${OPSI_ROOT_PASSWORD}" OPSICONFD_LOG_LEVEL: "${OPSICONFD_LOG_LEVEL:-6}" OPSICONFD_LOG_LEVEL_FILE: "${OPSICONFD_LOG_LEVEL_FILE:-4}" OPSICONFD_TRUSTED_PROXIES: "${OPSICONFD_TRUSTED_PROXIES}" hostname: "${HOSTNAME}" volumes: - "/opt/docker-data/opsi-${CONTEXT}/opsi/data:/data" redis: <<: [ *container-defaults ] container_name: "opsi-redis-${CONTEXT}" environment: <<: [ *common-redis-variables ] volumes: - "/opt/docker-data/opsi-${CONTEXT}/redis/data:/data" networks: !override opsi-default: name: "opsi-${CONTEXT}" driver: "bridge" driver_opts: com.docker.network.enable_ipv6: "false" ipam: driver: "default" config: - subnet: "${SUBNET}"