x-default: &default restart: unless-stopped logging: driver: json-file options: max-size: 100m max-file: "3" services: registry: <<: *default image: registry:${REGISTRY_VERSION:-3.0.0} volumes: - ./certs:/certs:ro - ./config.yml:/etc/distribution/config.yml:ro - registry:/var/lib/registry environment: TZ: ${TZ:-UTC} REGISTRY_AUTH: ${REGISTRY_AUTH:-} REGISTRY_AUTH_HTPASSWD_REALM: ${REGISTRY_AUTH_HTPASSWD_REALM:-} REGISTRY_AUTH_HTPASSWD_PATH: ${REGISTRY_AUTH_HTPASSWD_PATH:-} REGISTRY_HTTP_TLS_CERTIFICATE: ${REGISTRY_HTTP_TLS_CERTIFICATE:-} REGISTRY_HTTP_TLS_KEY: ${REGISTRY_HTTP_TLS_KEY:-} OTEL_TRACES_EXPORTER: ${OTEL_TRACES_EXPORTER:-none} ports: - ${REGISTRY_PORT:-5000}:5000 deploy: resources: limits: cpus: '1.0' memory: 1G reservations: cpus: '0.1' memory: 128M healthcheck: test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:5000/"] interval: 30s timeout: 10s retries: 3 start_period: 10s volumes: registry: