Files
docker_stack/karylab-entrance/others/docker-harbor.yml
ChenKaiLiuG 997d078b64 Add FRP
2026-02-28 04:38:23 +08:00

104 lines
2.5 KiB
YAML

version: '3.8'
services:
# 1. Harbor 映像服務器 - 提供容器映像管理功能
harbor:
image: goharbor/harbor-core:v2.9.3
container_name: harbor-core
restart: always
ports:
- "5700:8080"
environment:
CORE_URL: http://harbor:8080
DATABASE_TYPE: postgresql
POSTGRES_HOST: harbor-db
POSTGRES_PORT: 5432
POSTGRES_USERNAME: ${POSTGRES_USERNAME}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_DB: registry
REGISTRY_URL: http://harbor-registry:5000
REGISTRY_CONTROLLER_URL: http://harbor-registry:5000
LOG_LEVEL: info
PERMITTED_REGISTRY_TYPES: docker-registry
QUOTA_PER_PROJECT_ENABLED: "true"
READ_ONLY: "false"
volumes:
- harbor_core_data:/data
networks:
- harbor-network
- webproxy
depends_on:
- harbor-db
- harbor-registry
# 2. Harbor 資料庫 - 儲存 Harbor 的元數據
harbor-db:
image: postgres:14
container_name: harbor-db
restart: always
environment:
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_DB: registry
volumes:
- harbor_db_data:/var/lib/postgresql/data
networks:
- harbor-network
# 3. Harbor Registry - 儲存容器映像的註冊表
harbor-registry:
image: registry:2
container_name: harbor-registry
restart: always
ports:
- "5600:5000"
environment:
REGISTRY_HTTP_ADDR: 0.0.0.0:5000
REGISTRY_HTTP_RELATIVEURLS: 'true'
REGISTRY_STORAGE_DELETE_ENABLED: 'true'
volumes:
- /mnt/data/External/harbor/registry:/var/lib/registry
networks:
- harbor-network
# 4. BuildKit 編譯服務 - 用於高效構建容器映像
buildkitd:
image: moby/buildkit:latest
container_name: buildkitd
restart: always
privileged: true
ports:
- "5500:1234"
environment:
BUILDKIT_HOST: tcp://0.0.0.0:1234
volumes:
- buildkit_data:/var/lib/buildkit
networks:
- harbor-network
# 5. BuildKit Web UI - 提供 BuildKit 的 Web 界面
buildkit-ui:
image: tonistiiii/buildkit-ui:latest
container_name: buildkit-ui
restart: always
ports:
- "5400:8080"
environment:
BUILDKIT_HOST: tcp://buildkitd:1234
networks:
- harbor-network
- webproxy
depends_on:
- buildkitd
volumes:
harbor_core_data:
harbor_db_data:
buildkit_data:
buildkit_cache:
networks:
harbor-network:
driver: bridge
webproxy:
external: true