31 lines
950 B
YAML
31 lines
950 B
YAML
version: "{{ compose_version }}"
|
|
|
|
services:
|
|
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
|