myos/stack/host/consul.yml

51 lines
1.8 KiB
YAML

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}