version: '3.6' services: fabio: build: args: - DOCKER_BUILD_DIR=docker/fabio - DOCKER_MACHINE=${DOCKER_MACHINE} - DOCKER_SYSTEM=${DOCKER_SYSTEM} - FABIO_VERSION=1.6.2 context: ../.. dockerfile: docker/fabio/Dockerfile container_name: ${HOST_COMPOSE_PROJECT_NAME}-fabio image: ${HOST_DOCKER_REPOSITORY}/fabio:${DOCKER_IMAGE_TAG} command: -registry.backend "consul" -registry.consul.addr "consul:8500" -registry.consul.token "${HOST_CONSUL_HTTP_TOKEN}" -proxy.addr ":80,:443;cs=local" -proxy.cs "cs=local;type=file;cert=/etc/letsencrypt/live/${DOMAIN}/fullchain.pem;key=/etc/letsencrypt/live/${DOMAIN}/privkey.pem" depends_on: - consul extra_hosts: - consul:${DOCKER_INTERNAL_DOCKER_HOST} hostname: ${HOSTNAME} labels: - SERVICE_80_CHECK_TCP=true - SERVICE_80_NAME=${HOST_COMPOSE_SERVICE_NAME}-fabio-80 - SERVICE_443_CHECK_TCP=true - SERVICE_443_NAME=${HOST_COMPOSE_SERVICE_NAME}-fabio-443 - SERVICE_9998_CHECK_HTTP=/routes - SERVICE_9998_NAME=${HOST_COMPOSE_SERVICE_NAME}-fabio-9998 - SERVICE_9998_TAGS=${HOST_FABIO_SERVICE_9998_TAGS} - SERVICE_9999_IGNORE=true ports: - 80:80/tcp - 443:443/tcp - 9998/tcp networks: - public restart: always volumes: - host:/etc/letsencrypt:ro volumes: host: external: true name: ${HOST_DOCKER_VOLUME} networks: public: external: true name: ${DOCKER_NETWORK_PUBLIC}