version: '3.8' services: harbor-core: image: goharbor/harbor-core:v2.10.0 container_name: harbor-core restart: unless-stopped depends_on: - harbor-db - harbor-redis - harbor-registry environment: - CONFIG_PATH=/etc/harbor/app.conf - CORE_SECRET=your-core-secret - JOBSERVICE_SECRET=your-jobservice-secret - TRIVY_ADAPTER_URL=http://harbor-trivy:8080 - TRIVY_ADAPTER_URL_INSECURE=true volumes: - ./harbor.yml:/etc/harbor/app.conf:ro - harbor_core:/var/log/harbor - harbor_data:/data networks: - harbor harbor-db: image: goharbor/harbor-db:v2.10.0 container_name: harbor-db restart: unless-stopped environment: - POSTGRES_DB=registry - POSTGRES_PASSWORD=your-db-password - POSTGRES_USER=postgres volumes: - harbor_db:/var/lib/postgresql/data networks: - harbor harbor-redis: image: goharbor/redis-photon:v2.10.0 container_name: harbor-redis restart: unless-stopped command: redis-server --appendonly yes volumes: - harbor_redis:/data networks: - harbor harbor-registry: image: goharbor/registry-photon:v2.10.0 container_name: harbor-registry restart: unless-stopped depends_on: - harbor-core environment: - REGISTRY_STORAGE_DELETE_ENABLED=true - REGISTRY_STORAGE_CACHE_BLOBDESCRIPTOR=inmemory - REGISTRY_STORAGE_FILESYSTEM_MAXTHREADS=100 volumes: - harbor_registry:/storage networks: - harbor harbor-portal: image: goharbor/harbor-portal:v2.10.0 container_name: harbor-portal restart: unless-stopped depends_on: - harbor-core environment: - CONFIG_PATH=/etc/harbor/app.conf volumes: - ./harbor.yml:/etc/harbor/app.conf:ro networks: - harbor harbor-nginx: image: goharbor/nginx-photon:v2.10.0 container_name: harbor-nginx restart: unless-stopped ports: - "8080:8080" depends_on: - harbor-core - harbor-portal - harbor-registry volumes: - ./harbor.yml:/etc/harbor/app.conf:ro - /etc/ssl/registry:/etc/ssl/certs:ro - harbor_nginx:/var/log/harbor networks: - harbor harbor-jobservice: image: goharbor/harbor-jobservice:v2.10.0 container_name: harbor-jobservice restart: unless-stopped depends_on: - harbor-core - harbor-redis environment: - CONFIG_PATH=/etc/harbor/app.conf - CORE_SECRET=your-core-secret - JOBSERVICE_SECRET=your-jobservice-secret volumes: - ./harbor.yml:/etc/harbor/app.conf:ro - harbor_jobservice:/var/log/harbor networks: - harbor harbor-trivy: image: goharbor/trivy-adapter-photon:v2.10.0 container_name: harbor-trivy restart: unless-stopped depends_on: - harbor-core environment: - CONFIG_PATH=/etc/harbor/app.conf - CORE_SECRET=your-core-secret volumes: - ./harbor.yml:/etc/harbor/app.conf:ro - harbor_trivy:/var/log/harbor networks: - harbor volumes: harbor_core: harbor_data: harbor_db: harbor_redis: harbor_registry: harbor_portal: harbor_nginx: harbor_jobservice: harbor_trivy: networks: harbor: driver: bridge