51 lines
1.8 KiB
YAML
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: ${NODE_COMPOSE_PROJECT_NAME}-consul
|
|
image: ${NODE_DOCKER_REPOSITORY}/consul:${DOCKER_IMAGE_TAG}
|
|
environment:
|
|
CONSUL_BIND_INTERFACE: '${DOCKER_HOST_IFACE}'
|
|
CONSUL_CLIENT_INTERFACE: '${DOCKER_HOST_IFACE}'
|
|
CONSUL_HTTP_TOKEN: '${NODE_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": "${NODE_CONSUL_ACL_TOKENS_MASTER}"
|
|
, "agent": "${NODE_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=${NODE_COMPOSE_SERVICE_NAME}-consul-8500
|
|
- SERVICE_8500_TAGS=${NODE_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}
|