Update registry to include UI service
- 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:
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user