diff --git a/harbor/docker-compose.yml b/harbor/docker-compose.yml index f297dfb..2675a16 100644 --- a/harbor/docker-compose.yml +++ b/harbor/docker-compose.yml @@ -10,7 +10,6 @@ services: entrypoint: ["/bin/sh", "-c"] command: | set -e - mkdir -p ${HARBOR_DATA_PATH:-/data/harbor}/config cat < /config/harbor.yml @@ -33,7 +32,7 @@ services: - harbor # --------------------------------------------------------- - # 2. Harbor Services (v2.11.x) + # 2. Harbor Services # --------------------------------------------------------- log: image: goharbor/harbor-log:${HARBOR_VERSION:-v2.11.0} @@ -46,75 +45,6 @@ services: depends_on: - harbor-config - registry: - image: goharbor/registry-photon:${HARBOR_VERSION:-v2.11.0} - container_name: ${HARBOR_REGISTRY_CONTAINER:-harbor-registry} - restart: always - volumes: - - "${HARBOR_DATA_PATH:-/data/harbor}/registry:/storage" - networks: - - harbor - depends_on: - - harbor-config - - core: - image: goharbor/harbor-core:${HARBOR_VERSION:-v2.11.0} - container_name: ${HARBOR_CORE_CONTAINER:-harbor-core} - restart: always - environment: - - CORE_SECRET=${HARBOR_CORE_SECRET:-coresecret} - - JOBSERVICE_SECRET=${HARBOR_JOB_SECRET:-jobsecret} - volumes: - - "${HARBOR_DATA_PATH:-/data/harbor}/core:/data" - - "${HARBOR_DATA_PATH:-/data/harbor}/config:/etc/harbor" - networks: - - harbor - - proxy - depends_on: - - registry - - database - - redis - labels: - - "traefik.enable=true" - - # Docker Registry API (/v2) - - "traefik.http.routers.harbor-registry.rule=Host(`${HARBOR_HOSTNAME}`) && PathPrefix(`/v2/`)" - - "traefik.http.routers.harbor-registry.entrypoints=websecure" - - "traefik.http.routers.harbor-registry.tls=true" - - "traefik.http.routers.harbor-registry.tls.certresolver=le" - - "traefik.http.services.harbor-registry.loadbalancer.server.port=8080" - - portal: - image: goharbor/harbor-portal:${HARBOR_VERSION:-v2.11.0} - container_name: ${HARBOR_PORTAL_CONTAINER:-harbor-portal} - restart: always - networks: - - harbor - - proxy - depends_on: - - core - labels: - - "traefik.enable=true" - - # Harbor UI - - "traefik.http.routers.harbor-ui.rule=Host(`${HARBOR_HOSTNAME}`)" - - "traefik.http.routers.harbor-ui.entrypoints=websecure" - - "traefik.http.routers.harbor-ui.tls=true" - - "traefik.http.routers.harbor-ui.tls.certresolver=le" - - "traefik.http.services.harbor-ui.loadbalancer.server.port=8080" - - jobservice: - image: goharbor/harbor-jobservice:${HARBOR_VERSION:-v2.11.0} - container_name: ${HARBOR_JOB_CONTAINER:-harbor-jobservice} - restart: always - volumes: - - "${HARBOR_DATA_PATH:-/data/harbor}/jobservice:/var/log/jobs" - - "${HARBOR_DATA_PATH:-/data/harbor}/config:/etc/harbor" - networks: - - harbor - depends_on: - - core - database: image: goharbor/harbor-db:${HARBOR_VERSION:-v2.11.0} container_name: ${HARBOR_DB_CONTAINER:-harbor-db} @@ -137,6 +67,72 @@ services: depends_on: - harbor-config + registry: + image: goharbor/registry-photon:${HARBOR_VERSION:-v2.11.0} + container_name: ${HARBOR_REGISTRY_CONTAINER:-harbor-registry} + restart: always + volumes: + - "${HARBOR_DATA_PATH:-/data/harbor}/registry:/storage" + networks: + - harbor + - proxy + depends_on: + - harbor-config + labels: + - "traefik.enable=true" + - "traefik.http.routers.harbor-registry.rule=Host(`${HARBOR_HOSTNAME}`) && PathPrefix(`/v2/`)" + - "traefik.http.routers.harbor-registry.entrypoints=websecure" + - "traefik.http.routers.harbor-registry.tls=true" + - "traefik.http.routers.harbor-registry.tls.certresolver=le" + - "traefik.http.services.harbor-registry.loadbalancer.server.port=8080" + + core: + image: goharbor/harbor-core:${HARBOR_VERSION:-v2.11.0} + container_name: ${HARBOR_CORE_CONTAINER:-harbor-core} + restart: always + environment: + - CORE_SECRET=${HARBOR_CORE_SECRET:-coresecret} + - JOBSERVICE_SECRET=${HARBOR_JOB_SECRET:-jobsecret} + volumes: + - "${HARBOR_DATA_PATH:-/data/harbor}/core:/data" + - "${HARBOR_DATA_PATH:-/data/harbor}/config:/etc/harbor" + networks: + - harbor + - proxy + depends_on: + - registry + - database + - redis + + portal: + image: goharbor/harbor-portal:${HARBOR_VERSION:-v2.11.0} + container_name: ${HARBOR_PORTAL_CONTAINER:-harbor-portal} + restart: always + networks: + - harbor + - proxy + depends_on: + - core + labels: + - "traefik.enable=true" + - "traefik.http.routers.harbor-ui.rule=Host(`${HARBOR_HOSTNAME}`)" + - "traefik.http.routers.harbor-ui.entrypoints=websecure" + - "traefik.http.routers.harbor-ui.tls=true" + - "traefik.http.routers.harbor-ui.tls.certresolver=le" + - "traefik.http.services.harbor-ui.loadbalancer.server.port=8080" + + jobservice: + image: goharbor/harbor-jobservice:${HARBOR_VERSION:-v2.11.0} + container_name: ${HARBOR_JOB_CONTAINER:-harbor-jobservice} + restart: always + volumes: + - "${HARBOR_DATA_PATH:-/data/harbor}/jobservice:/var/log/jobs" + - "${HARBOR_DATA_PATH:-/data/harbor}/config:/etc/harbor" + networks: + - harbor + depends_on: + - core + # --------------------------------------------------------- # Netzwerke # ---------------------------------------------------------