name: rentaldrivego-registry-prod

services:
  registry:
    image: registry:2
    restart: unless-stopped
    networks:
      - traefik-proxy
    environment:
      REGISTRY_HTTP_ADDR: 0.0.0.0:5000
      REGISTRY_HTTP_HOST: https://${REGISTRY_DOMAIN}
      REGISTRY_HTTP_RELATIVEURLS: "true"
      REGISTRY_AUTH: htpasswd
      REGISTRY_AUTH_HTPASSWD_REALM: Registry Realm
      REGISTRY_AUTH_HTPASSWD_PATH: /auth/htpasswd
      REGISTRY_STORAGE_DELETE_ENABLED: "true"
    volumes:
      - registry_prod_data:/var/lib/registry
      - ./docker/registry/auth:/auth:ro
    labels:
      - traefik.enable=true
      - traefik.http.routers.registry.rule=Host(`${REGISTRY_DOMAIN}`)
      - traefik.http.routers.registry.entrypoints=websecure
      - traefik.http.routers.registry.tls=true
      - traefik.http.routers.registry.tls.certresolver=letsencrypt
      - traefik.http.routers.registry.service=registry-svc
      - traefik.http.services.registry-svc.loadbalancer.server.port=5000

networks:
  traefik-proxy:
    external: true

volumes:
  registry_prod_data:
