# Managed by Ansible — do not edit manually
services:
  registry:
    image: registry:2
    container_name: registry
    restart: unless-stopped
    environment:
      REGISTRY_AUTH: htpasswd
      REGISTRY_AUTH_HTPASSWD_REALM: Container Registry
      REGISTRY_AUTH_HTPASSWD_PATH: /auth/htpasswd
      REGISTRY_STORAGE_DELETE_ENABLED: "true"
    volumes:
      - {{ registry_data_dir }}/data:/var/lib/registry
      - {{ registry_data_dir }}/auth:/auth:ro
    networks:
      - traefik_public
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.registry.rule=Host(`{{ domain_registry }}`)"
      - "traefik.http.routers.registry.entrypoints=websecure"
      - "traefik.http.routers.registry.tls.certresolver=letsencrypt"
      - "traefik.http.services.registry.loadbalancer.server.port=5000"
      - "traefik.http.routers.registry.middlewares=registry-buffering,rate-limit@docker"
      # Remove body size limit so large image layers can be pushed
      - "traefik.http.middlewares.registry-buffering.buffering.maxRequestBodyBytes=0"

networks:
  traefik_public:
    external: true
