Update registry to include UI service
Some checks failed
Deploy Stacks / deploy-prod (push) Failing after 1m3s
Deploy Stacks / deploy-dev (push) Has been cancelled

- Add registry-ui container with dockerhub.${DOMAIN} hostname
- Registry API available at registry.${DOMAIN}
- UI available at dockerhub.${DOMAIN}/ui

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-21 20:37:09 -05:00
parent b2971e1f89
commit f949992127

View File

@@ -3,18 +3,16 @@ services:
image: registry:2 image: registry:2
container_name: registry container_name: registry
restart: unless-stopped restart: unless-stopped
volumes:
- ./data:/var/lib/registry
- ./auth:/auth
environment:
REGISTRY_AUTH: htpasswd
REGISTRY_AUTH_HTPASSWD_REALM: Registry Realm
REGISTRY_AUTH_HTPASSWD_PATH: /auth/htpasswd
REGISTRY_HTTP_SECRET: ${REGISTRY_HTTP_SECRET}
expose: expose:
- 5000 - "5000"
volumes:
- ./docker:/var/lib/registry
networks: networks:
- web - web
healthcheck:
test: ["CMD", "wget", "--spider", "localhost:5000/v2/"]
interval: 60s
timeout: 10s
labels: labels:
- "traefik.enable=true" - "traefik.enable=true"
- "traefik.http.routers.registry.entrypoints=https" - "traefik.http.routers.registry.entrypoints=https"
@@ -22,6 +20,27 @@ services:
- "traefik.http.routers.registry.tls.certresolver=http" - "traefik.http.routers.registry.tls.certresolver=http"
- "traefik.http.services.registry.loadbalancer.server.port=5000" - "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: networks:
web: web:
external: true external: true