services: registry: image: registry:2 container_name: registry restart: unless-stopped expose: - "5000" volumes: - ./docker:/var/lib/registry networks: - web healthcheck: test: ["CMD", "wget", "--spider", "localhost:5000/v2/"] interval: 60s timeout: 10s labels: - "traefik.enable=true" - "traefik.http.routers.registry.entrypoints=https" - "traefik.http.routers.registry.rule=Host(`registry.${DOMAIN}`)" - "traefik.http.routers.registry.tls.certresolver=http" - "traefik.http.services.registry.loadbalancer.server.port=5000" registry-ui: image: quiq/docker-registry-ui:latest container_name: registry-ui restart: unless-stopped expose: - "8000" volumes: - ./registry-ui:/opt/data - ./registry-ui.yml:/opt/config.yml:ro depends_on: registry: condition: service_healthy networks: - web labels: - "traefik.enable=true" - "traefik.http.routers.registry-ui.entrypoints=https" - "traefik.http.routers.registry-ui.rule=Host(`dockerhub.${DOMAIN}`)" - "traefik.http.routers.registry-ui.tls.certresolver=http" - "traefik.http.services.registry-ui.loadbalancer.server.port=8000" networks: web: external: true