Harbor - Cloud native container registry
Everything you need to deploy Harbor with BlastDock
One command deployment
Production-ready security
Customizable settings
Ready to scale up
blastdock init
Initialize new project
blastdock deploy
Deploy the application
blastdock status
Check deployment status
blastdock logs
View application logs
Get Harbor up and running in minutes with our one-click installation.
First, install BlastDock using pip (recommended):
pip install blastdock
Then deploy Harbor with:
blastdock init harbor
Interactive mode:
blastdock init harbor -i
blastdock templates
List available templates
blastdock status project
Check deployment status
blastdock logs project
View application logs
blastdock stop project
Stop deployment
Customize your Harbor installation with these configuration options.
HTTP port
HTTPS port
Admin password
Database password
External URL (domain/IP)
Complete Docker Compose configuration for Harbor deployment.
version: '3.8'
services:
harbor-core:
image: goharbor/harbor-core:v2.6.0
container_name: {{ project_name }}_harbor_core
restart: unless-stopped
depends_on:
- harbor-db
- redis
environment:
0: CORE_SECRET=core-secret
1: JOBSERVICE_SECRET=jobservice-secret
2: HARBOR_ADMIN_PASSWORD={{ admin_password }}
3: DATABASE_TYPE=postgresql
4: POSTGRESQL_HOST=harbor-db
5: POSTGRESQL_PORT=5432
6: POSTGRESQL_USERNAME=postgres
7: POSTGRESQL_PASSWORD={{ db_password }}
8: POSTGRESQL_DATABASE=registry
- REGISTRY_URL=http: //harbor-registry:5000
- PORTAL_URL=http: //harbor-portal:8080
- TOKEN_SERVICE_URL=http: //harbor-core:8080/service/token
- HARBOR_EXTERNAL_URL=https: //{{ hostname }}
volumes:
- /data
networks:
- harbor_network
harbor-portal:
image: goharbor/harbor-portal:v2.6.0
container_name: {{ project_name }}_harbor_portal
restart: unless-stopped
networks:
- harbor_network
harbor-db:
image: postgres:13
container_name: {{ project_name }}_harbor_db
restart: unless-stopped
environment:
0: POSTGRES_PASSWORD={{ db_password }}
1: POSTGRES_DB=registry
volumes:
- /var/lib/postgresql/data
networks:
- harbor_network
harbor-jobservice:
image: goharbor/harbor-jobservice:v2.6.0
container_name: {{ project_name }}_harbor_jobservice
restart: unless-stopped
depends_on:
- harbor-core
- redis
environment:
- CORE_URL=http: //harbor-core:8080
0: JOBSERVICE_SECRET=jobservice-secret
- REGISTRY_URL=http: //harbor-registry:5000
volumes:
- /var/log/jobs
networks:
- harbor_network
harbor-registry:
image: goharbor/registry-photon:v2.6.0
container_name: {{ project_name }}_harbor_registry
restart: unless-stopped
volumes:
- /storage
networks:
- harbor_network
redis:
image: redis:6
container_name: {{ project_name }}_redis
restart: unless-stopped
volumes:
- /data
networks:
- harbor_network
nginx:
image: goharbor/nginx-photon:v2.6.0
container_name: {{ project_name }}_nginx
restart: unless-stopped
depends_on:
- harbor-core
- harbor-portal
- harbor-registry
ports:
- "80"
- "443"
networks:
- harbor_network
volumes:
harbor_core_data:
driver: local
harbor_db_data:
driver: local
harbor_jobservice_data:
driver: local
harbor_registry_data:
driver: local
harbor_redis_data:
driver: local
networks:
harbor_network:
driver: bridge