version: '3.8' services: registry: image: registry:2 ports: - "5000:5000" volumes: - /opt/APP_NAME/registry/config.yml:/etc/docker/registry/config.yml:ro - /etc/registry/auth/auth.htpasswd:/etc/docker/registry/auth/auth.htpasswd:ro - /etc/ssl/registry/registry.crt:/etc/docker/registry/ssl/registry.crt:ro - /etc/ssl/registry/registry.key:/etc/docker/registry/ssl/registry.key:ro - registry_data:/var/lib/registry restart: unless-stopped networks: - registry_network healthcheck: test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "https://localhost:5000/v2/", "--no-check-certificate"] interval: 30s timeout: 10s retries: 3 start_period: 40s registry-ui: image: joxit/docker-registry-ui:latest expose: - "80" environment: - REGISTRY_TITLE=ShareNet Registry - REGISTRY_URL=https://YOUR_CI_CD_IP:8080 depends_on: registry: condition: service_healthy restart: unless-stopped networks: - registry_network nginx: image: nginx:alpine ports: - "8080:443" volumes: - /etc/ssl/registry:/etc/nginx/ssl:ro - /opt/APP_NAME/registry/nginx.conf:/etc/nginx/nginx.conf:ro depends_on: - registry-ui restart: unless-stopped networks: - registry_network volumes: registry_data: networks: registry_network: driver: bridge