211 lines
5.7 KiB
YAML
211 lines
5.7 KiB
YAML
version: '2'
|
|
volumes: #most volumes mappings require optimization (now all volumes map all containers)
|
|
etcjobservice:
|
|
#external: true
|
|
driver: ${volumedriver}
|
|
etcnginx:
|
|
#external: true
|
|
driver: ${volumedriver}
|
|
etcregistry:
|
|
#external: true
|
|
driver: ${volumedriver}
|
|
etcui:
|
|
#external: true
|
|
driver: ${volumedriver}
|
|
configjobservice:
|
|
#external: true
|
|
driver: ${volumedriver}
|
|
configdb:
|
|
#external: true
|
|
driver: ${volumedriver}
|
|
configui:
|
|
#external: true
|
|
driver: ${volumedriver}
|
|
data: #according to the eng team this is not even needed (but leaving it in for consistency)
|
|
#external: true
|
|
driver: ${volumedriver}
|
|
data-registry:
|
|
#external: true
|
|
driver: ${volumedriver}
|
|
data-database:
|
|
#external: true
|
|
driver: ${volumedriver}
|
|
data-job_logs:
|
|
#external: true
|
|
driver: ${volumedriver}
|
|
services:
|
|
harbor-setupwrapper:
|
|
image: mreferre/harbor-setupwrapper:0.5.0
|
|
container_name: harbor-setupwrapper
|
|
environment:
|
|
- HARBORHOSTNAME=${harborhostname}.${traefikdomain}
|
|
- HARBOR_ADMIN_PASSWORD=${harbor_admin_password}
|
|
volumes:
|
|
- etcui:/etc/ui
|
|
- etcjobservice:/etc/jobservice
|
|
- etcregistry:/etc/registry
|
|
- etcnginx:/etc/nginx
|
|
- configdb:/configdb
|
|
- configui:/configui
|
|
- configjobservice:/configjobservice
|
|
command: ["/harbor/harbor-setupwrapper.sh"]
|
|
network_mode: "none"
|
|
labels:
|
|
io.rancher.container.hostname_override: container_name
|
|
io.rancher.container.start_once: 'true'
|
|
log:
|
|
image: vmware/harbor-log:0.5.0
|
|
container_name: harbor-log
|
|
restart: always
|
|
volumes:
|
|
- /var/log/harbor/:/var/log/docker/
|
|
ports:
|
|
- 1514:514
|
|
labels:
|
|
io.rancher.scheduler.global: 'true'
|
|
io.rancher.scheduler.affinity:host_label: harbor-log=true
|
|
io.rancher.scheduler.affinity:container_label_soft_ne: io.rancher.stack_service.name=$${stack_name}/$${service_name}
|
|
io.rancher.container.hostname_override: container_name
|
|
registry:
|
|
image: library/registry:2.5.0
|
|
container_name: registry
|
|
restart: always
|
|
volumes:
|
|
- data-registry:/storage
|
|
- etcui:/etc/ui
|
|
- etcjobservice:/etc/jobservice
|
|
- etcregistry:/etc/registry
|
|
- etcnginx:/etc/nginx
|
|
- configdb:/configdb
|
|
- configui:/configui
|
|
- configjobservice:/configjobservice
|
|
environment:
|
|
- GODEBUG=netdns=cgo
|
|
command:
|
|
["serve", "/etc/registry/config.yml"]
|
|
depends_on:
|
|
- log
|
|
- harbor-setupwrapper
|
|
logging:
|
|
driver: "syslog"
|
|
options:
|
|
syslog-address: "tcp://127.0.0.1:1514"
|
|
tag: "registry"
|
|
labels:
|
|
io.rancher.container.hostname_override: container_name
|
|
mysql:
|
|
image: vmware/harbor-db:0.5.0
|
|
container_name: harbor-db
|
|
restart: always
|
|
volumes:
|
|
- data-database:/var/lib/mysql
|
|
- etcui:/etc/ui
|
|
- etcjobservice:/etc/jobservice
|
|
- etcregistry:/etc/registry
|
|
- etcnginx:/etc/nginx
|
|
- configdb:/configdb
|
|
- configui:/configui
|
|
- configjobservice:/configjobservice
|
|
depends_on:
|
|
- log
|
|
- harbor-setupwrapper
|
|
logging:
|
|
driver: "syslog"
|
|
options:
|
|
syslog-address: "tcp://127.0.0.1:1514"
|
|
tag: "mysql"
|
|
entrypoint:
|
|
- /bin/sh
|
|
- -c
|
|
command:
|
|
- /configdb/entrypointdb.sh
|
|
labels:
|
|
io.rancher.container.hostname_override: container_name
|
|
ui:
|
|
image: vmware/harbor-ui:0.5.0
|
|
container_name: harbor-ui
|
|
restart: always
|
|
volumes:
|
|
- data:/harbor_storage #according to the eng team this is not even needed (but leaving it in for consistency)
|
|
- etcui:/etc/ui
|
|
- etcjobservice:/etc/jobservice
|
|
- etcregistry:/etc/registry
|
|
- etcnginx:/etc/nginx
|
|
- configdb:/configdb
|
|
- configui:/configui
|
|
- configjobservice:/configjobservice
|
|
depends_on:
|
|
- log
|
|
- harbor-setupwrapper
|
|
logging:
|
|
driver: "syslog"
|
|
options:
|
|
syslog-address: "tcp://127.0.0.1:1514"
|
|
tag: "ui"
|
|
entrypoint:
|
|
- /bin/sh
|
|
- -c
|
|
command:
|
|
- /configui/entrypointui.sh
|
|
labels:
|
|
io.rancher.container.hostname_override: container_name
|
|
jobservice:
|
|
image: vmware/harbor-jobservice:0.5.0
|
|
container_name: harbor-jobservice
|
|
restart: always
|
|
volumes:
|
|
- data-job_logs:/var/log/jobs
|
|
- etcui:/etc/ui
|
|
- etcjobservice:/etc/jobservice
|
|
- etcregistry:/etc/registry
|
|
- etcnginx:/etc/nginx
|
|
- configdb:/configdb
|
|
- configui:/configui
|
|
- configjobservice:/configjobservice
|
|
depends_on:
|
|
- log
|
|
- harbor-setupwrapper
|
|
logging:
|
|
driver: "syslog"
|
|
options:
|
|
syslog-address: "tcp://127.0.0.1:1514"
|
|
tag: "jobservice"
|
|
entrypoint:
|
|
- /bin/sh
|
|
- -c
|
|
command:
|
|
- /configjobservice/entrypointjobservice.sh
|
|
labels:
|
|
io.rancher.container.hostname_override: container_name
|
|
proxy:
|
|
image: nginx:1.11.5
|
|
container_name: nginx
|
|
restart: always
|
|
volumes:
|
|
- etcui:/etc/ui
|
|
- etcjobservice:/etc/jobservice
|
|
- etcregistry:/etc/registry
|
|
- etcnginx:/etc/nginx
|
|
- configdb:/configdb
|
|
- configui:/configui
|
|
- configjobservice:/configjobservice
|
|
depends_on:
|
|
- log
|
|
- harbor-setupwrapper
|
|
external_links: #these entries seem to be required for the proxy service to start correctly
|
|
- registry
|
|
- ui
|
|
- mysql
|
|
- jobservice
|
|
logging:
|
|
driver: "syslog"
|
|
options:
|
|
syslog-address: "tcp://127.0.0.1:1514"
|
|
tag: "proxy"
|
|
labels:
|
|
io.rancher.container.hostname_override: container_name
|
|
traefik.alias: ${harborhostname}
|
|
traefik.port: 80
|
|
traefik.domain: ${traefikdomain}
|
|
traefik.enable: stack
|