- 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>
47 lines
1.3 KiB
YAML
47 lines
1.3 KiB
YAML
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
|