# 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