version: "{{ compose_version }}" services: redis: image: redis:latest deploy: resources: limits: memory: 256M registry: image: registry:2 secrets: - source: htpasswd_{{ registry_htpasswd.stat.checksum }} target: /etc/docker/registry/htpasswd configs: - source: registry_{{ registry_config.checksum }} target: /etc/docker/registry/config.yml deploy: placement: constraints: - node.role == manager labels: - traefik.enable=true - traefik.http.routers.{{ service }}.rule=Host(`{{ service }}.{{ main_domain }}`) - traefik.http.routers.{{ service }}.tls=true - traefik.http.routers.{{ service }}.tls.certresolver=lets-encrypt - traefik.http.services.{{ service }}.loadbalancer.server.port=5000 networks: ['{{ ingress_network }}'] configs: registry_{{ registry_config.checksum }}: file: ./config/config.yml secrets: htpasswd_{{ registry_htpasswd.stat.checksum }}: file: ./config/htpasswd