version: '3.6' services: consul: build: args: - CONSUL_VERSION=1.11.1 - DOCKER_BUILD_DIR=docker/consul context: ../.. dockerfile: docker/consul/Dockerfile container_name: ${HOST_COMPOSE_PROJECT_NAME}-consul image: ${HOST_DOCKER_REPOSITORY}/consul:${DOCKER_IMAGE_TAG} environment: CONSUL_BIND_INTERFACE: '${DOCKER_HOST_IFACE}' CONSUL_CLIENT_INTERFACE: '${DOCKER_HOST_IFACE}' CONSUL_HTTP_TOKEN: '${HOST_CONSUL_HTTP_TOKEN}' CONSUL_LOCAL_CONFIG: '{ "log_level": "warn" , "enable_script_checks": true , "acl": { "enabled": true , "default_policy": "deny" , "down_policy": "extend-cache" , "enable_token_persistence": true , "tokens": { "initial_management": "${HOST_CONSUL_ACL_TOKENS_MASTER}" , "agent": "${HOST_CONSUL_HTTP_TOKEN}" } } }' hostname: ${HOSTNAME} labels: - SERVICE_8300_IGNORE=true - SERVICE_8301_IGNORE=true - SERVICE_8302_IGNORE=true - SERVICE_8500_CHECK_HTTP=/v1/health/service/consul - SERVICE_8500_NAME=${HOST_COMPOSE_SERVICE_NAME}-consul-8500 - SERVICE_8500_TAGS=${HOST_CONSUL_SERVICE_8500_TAGS} - SERVICE_8600_IGNORE=true - SERVICE_ADDRESS=${DOCKER_HOST_INET4} network_mode: host restart: always volumes: - consul:/consul/data:delegated - /var/run/docker.sock:/var/run/docker.sock volumes: consul: networks: public: external: true name: ${DOCKER_NETWORK_PUBLIC}