71 lines
1.7 KiB
YAML
Raw Normal View History

2025-10-07 10:59:52 +01:00
version: '3.8'
services:
registry:
image: registry:2.8
container_name: provisioning-registry
ports:
- "5000:5000"
- "5001:5001" # Debug/metrics port
volumes:
- ./config.yml:/etc/docker/registry/config.yml:ro
- registry-data:/var/lib/registry
- ./certs:/etc/docker/registry/certs:ro
- ./htpasswd:/etc/docker/registry/htpasswd:ro
restart: unless-stopped
environment:
- REGISTRY_HTTP_SECRET=provisioning-secret-key-change-me
- REGISTRY_STORAGE_DELETE_ENABLED=true
healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost:5000/v2/"]
interval: 30s
timeout: 10s
retries: 3
networks:
- provisioning-net
# Optional: Redis for caching
redis:
image: redis:7-alpine
container_name: provisioning-registry-cache
ports:
- "6379:6379"
volumes:
- redis-data:/data
restart: unless-stopped
command: redis-server --appendonly yes
networks:
- provisioning-net
# Optional: Registry UI
registry-ui:
image: joxit/docker-registry-ui:latest
container_name: provisioning-registry-ui
ports:
- "8080:80"
environment:
- SINGLE_REGISTRY=true
- REGISTRY_TITLE=Provisioning OCI Registry
- REGISTRY_URL=http://registry:5000
- DELETE_IMAGES=true
- SHOW_CONTENT_DIGEST=true
- NGINX_PROXY_PASS_URL=http://registry:5000
- SHOW_CATALOG_NB_TAGS=true
- CATALOG_MIN_BRANCHES=1
- CATALOG_MAX_BRANCHES=1
- TAGLIST_PAGE_SIZE=100
- REGISTRY_SECURED=false
- CATALOG_ELEMENTS_LIMIT=1000
depends_on:
- registry
networks:
- provisioning-net
networks:
provisioning-net:
driver: bridge
volumes:
registry-data:
redis-data: