Changeset View
Changeset View
Standalone View
Standalone View
docker-compose.yml
Show All 18 Lines | coturn: | ||||
restart: on-failure | restart: on-failure | ||||
kolab: | kolab: | ||||
build: | build: | ||||
context: ./docker/kolab/ | context: ./docker/kolab/ | ||||
args: | args: | ||||
DB_KOLAB_DATABASE: kolab | DB_KOLAB_DATABASE: kolab | ||||
DB_KOLAB_USERNAME: kolab | DB_KOLAB_USERNAME: kolab | ||||
DB_KOLAB_PASSWORD: ${DB_PASSWORD:?"DB_PASSWORD is missing"} | DB_KOLAB_PASSWORD: ${DB_PASSWORD:?"DB_PASSWORD is missing"} | ||||
LDAP_HOST: ldap | |||||
LDAP_ADMIN_BIND_DN: ${LDAP_ADMIN_BIND_DN} | |||||
LDAP_ADMIN_BIND_PW: ${LDAP_ADMIN_BIND_PW} | |||||
LDAP_SERVICE_BIND_PW: ${LDAP_SERVICE_BIND_PW} | |||||
IMAP_ADMIN_LOGIN: ${IMAP_ADMIN_LOGIN} | |||||
IMAP_ADMIN_PASSWORD: ${IMAP_ADMIN_PASSWORD} | |||||
container_name: kolab | container_name: kolab | ||||
privileged: true | privileged: true | ||||
restart: on-failure | restart: on-failure | ||||
tty: true | |||||
depends_on: | depends_on: | ||||
mariadb: | mariadb: | ||||
condition: service_healthy | condition: service_healthy | ||||
pdns: | pdns: | ||||
condition: service_healthy | condition: service_healthy | ||||
ldap: | |||||
condition: service_healthy | |||||
extra_hosts: | extra_hosts: | ||||
- "kolab.mgmt.com:127.0.0.1" | - "kolab.mgmt.com:127.0.0.1" | ||||
- "services.${APP_DOMAIN}:172.18.0.4" | - "services.${APP_DOMAIN}:172.18.0.4" | ||||
environment: | environment: | ||||
- APP_DOMAIN=${APP_DOMAIN} | - APP_DOMAIN=${APP_DOMAIN} | ||||
- LDAP_HOST=127.0.0.1 | - LDAP_HOST=ldap | ||||
- LDAP_ADMIN_BIND_DN=${LDAP_ADMIN_BIND_DN} | - LDAP_ADMIN_BIND_DN=${LDAP_ADMIN_BIND_DN} | ||||
- LDAP_ADMIN_BIND_PW=${LDAP_ADMIN_BIND_PW} | - LDAP_ADMIN_BIND_PW=${LDAP_ADMIN_BIND_PW} | ||||
- LDAP_SERVICE_BIND_PW=${LDAP_SERVICE_BIND_PW} | - LDAP_SERVICE_BIND_PW=${LDAP_SERVICE_BIND_PW} | ||||
- LDAP_HOSTED_BIND_PW=${LDAP_HOSTED_BIND_PW} | |||||
- DB_HOST=mariadb | - DB_HOST=mariadb | ||||
- DB_ROOT_PASSWORD=${DB_ROOT_PASSWORD} | - DB_ROOT_PASSWORD=${DB_ROOT_PASSWORD} | ||||
- DB_HKCCP_DATABASE=${DB_DATABASE} | - DB_HKCCP_DATABASE=${DB_DATABASE} | ||||
- DB_HKCCP_USERNAME=${DB_USERNAME} | - DB_HKCCP_USERNAME=${DB_USERNAME} | ||||
- DB_HKCCP_PASSWORD=${DB_PASSWORD:?"DB_PASSWORD is missing"} | - DB_HKCCP_PASSWORD=${DB_PASSWORD:?"DB_PASSWORD is missing"} | ||||
- DB_KOLAB_DATABASE=kolab | - DB_KOLAB_DATABASE=kolab | ||||
- DB_KOLAB_USERNAME=kolab | - DB_KOLAB_USERNAME=kolab | ||||
- DB_KOLAB_PASSWORD=${DB_PASSWORD:?"DB_PASSWORD is missing"} | - DB_KOLAB_PASSWORD=${DB_PASSWORD:?"DB_PASSWORD is missing"} | ||||
Show All 33 Lines | volumes: | ||||
- ./docker/certs/ca.cert:/etc/pki/tls/certs/ca.cert:ro | - ./docker/certs/ca.cert:/etc/pki/tls/certs/ca.cert:ro | ||||
- ./docker/certs/ca.cert:/etc/pki/ca-trust/source/anchors/ca.cert:ro | - ./docker/certs/ca.cert:/etc/pki/ca-trust/source/anchors/ca.cert:ro | ||||
- ./docker/certs/kolab.hosted.com.cert:${KOLAB_SSL_CERTIFICATE:?err} | - ./docker/certs/kolab.hosted.com.cert:${KOLAB_SSL_CERTIFICATE:?err} | ||||
- ./docker/certs/kolab.hosted.com.chain.pem:${KOLAB_SSL_CERTIFICATE_FULLCHAIN:?err} | - ./docker/certs/kolab.hosted.com.chain.pem:${KOLAB_SSL_CERTIFICATE_FULLCHAIN:?err} | ||||
- ./docker/certs/kolab.hosted.com.key:${KOLAB_SSL_CERTIFICATE_KEY:?err} | - ./docker/certs/kolab.hosted.com.key:${KOLAB_SSL_CERTIFICATE_KEY:?err} | ||||
- ./docker/kolab/utils:/root/utils:ro | - ./docker/kolab/utils:/root/utils:ro | ||||
- /sys/fs/cgroup:/sys/fs/cgroup:ro | - /sys/fs/cgroup:/sys/fs/cgroup:ro | ||||
- imap:/imapdata | - imap:/imapdata | ||||
ldap: | |||||
build: | |||||
context: ./docker/ldap/ | |||||
container_name: kolab-ldap | |||||
restart: on-failure | |||||
tty: true | |||||
hostname: ldap | |||||
privileged: true | |||||
environment: | |||||
- APP_DOMAIN=${APP_DOMAIN} | |||||
- LDAP_ADMIN_ROOT_DN=${LDAP_ADMIN_ROOT_DN} | |||||
- LDAP_ADMIN_BIND_DN=${LDAP_ADMIN_BIND_DN} | |||||
- LDAP_ADMIN_BIND_PW=${LDAP_ADMIN_BIND_PW} | |||||
- LDAP_SERVICE_BIND_PW=${LDAP_SERVICE_BIND_PW} | |||||
- LDAP_HOSTED_BIND_PW=${LDAP_HOSTED_BIND_PW} | |||||
- IMAP_ADMIN_PASSWORD=${IMAP_ADMIN_PASSWORD} | |||||
healthcheck: | |||||
interval: 10s | |||||
test: "systemctl status dirsrv@kolab || exit 1" | |||||
timeout: 5s | |||||
retries: 30 | |||||
start_period: 5m | |||||
image: kolab-ldap | |||||
networks: | |||||
kolab: | |||||
ipv4_address: 172.18.0.12 | |||||
tmpfs: | |||||
- /run | |||||
- /tmp | |||||
- /var/run | |||||
- /var/tmp | |||||
volumes: | |||||
- /sys/fs/cgroup:/sys/fs/cgroup:ro | |||||
- ldap:/ldapdata | - ldap:/ldapdata | ||||
roundcube: | roundcube: | ||||
build: | build: | ||||
context: ./docker/roundcube/ | context: ./docker/roundcube/ | ||||
container_name: roundcube | container_name: kolab-roundcube | ||||
hostname: roundcube.hosted.com | hostname: roundcube.hosted.com | ||||
restart: on-failure | restart: on-failure | ||||
depends_on: | depends_on: | ||||
mariadb: | mariadb: | ||||
condition: service_healthy | condition: service_healthy | ||||
pdns: | pdns: | ||||
condition: service_healthy | condition: service_healthy | ||||
kolab: | kolab: | ||||
condition: service_healthy | condition: service_healthy | ||||
environment: | environment: | ||||
- APP_DOMAIN=${APP_DOMAIN} | - APP_DOMAIN=${APP_DOMAIN} | ||||
- LDAP_HOST=kolab | - LDAP_HOST=ldap | ||||
- LDAP_ADMIN_BIND_DN=${LDAP_ADMIN_BIND_DN} | - LDAP_ADMIN_BIND_DN=${LDAP_ADMIN_BIND_DN} | ||||
- LDAP_ADMIN_BIND_PW=${LDAP_ADMIN_BIND_PW} | - LDAP_ADMIN_BIND_PW=${LDAP_ADMIN_BIND_PW} | ||||
- LDAP_SERVICE_BIND_PW=${LDAP_SERVICE_BIND_PW} | - LDAP_SERVICE_BIND_PW=${LDAP_SERVICE_BIND_PW} | ||||
- LDAP_HOSTED_BIND_PW=${LDAP_HOSTED_BIND_PW} | - LDAP_HOSTED_BIND_PW=${LDAP_HOSTED_BIND_PW} | ||||
- DB_HOST=mariadb | - DB_HOST=mariadb | ||||
- DB_ROOT_PASSWORD=${DB_ROOT_PASSWORD} | - DB_ROOT_PASSWORD=${DB_ROOT_PASSWORD} | ||||
- DB_RC_DATABASE=roundcube | - DB_RC_DATABASE=roundcube | ||||
- DB_RC_USERNAME=roundcube | - DB_RC_USERNAME=roundcube | ||||
▲ Show 20 Lines • Show All 74 Lines • ▼ Show 20 Lines | build: | ||||
context: ./docker/pdns/ | context: ./docker/pdns/ | ||||
args: | args: | ||||
DB_HOST: mariadb | DB_HOST: mariadb | ||||
DB_DATABASE: ${DB_DATABASE:?DB_DATABASE} | DB_DATABASE: ${DB_DATABASE:?DB_DATABASE} | ||||
DB_USERNAME: ${DB_USERNAME:?DB_USERNAME} | DB_USERNAME: ${DB_USERNAME:?DB_USERNAME} | ||||
DB_PASSWORD: ${DB_PASSWORD:?DB_PASSWORD} | DB_PASSWORD: ${DB_PASSWORD:?DB_PASSWORD} | ||||
container_name: kolab-pdns | container_name: kolab-pdns | ||||
restart: on-failure | restart: on-failure | ||||
tty: true | |||||
hostname: pdns | hostname: pdns | ||||
depends_on: | depends_on: | ||||
mariadb: | mariadb: | ||||
condition: service_healthy | condition: service_healthy | ||||
healthcheck: | healthcheck: | ||||
interval: 10s | interval: 10s | ||||
test: "systemctl status pdns || exit 1" | test: "systemctl status pdns || exit 1" | ||||
timeout: 5s | timeout: 5s | ||||
Show All 23 Lines | redis: | ||||
image: redis | image: redis | ||||
networks: | networks: | ||||
- kolab | - kolab | ||||
volumes: | volumes: | ||||
- ./docker/redis/redis.conf:/usr/local/etc/redis/redis.conf:ro | - ./docker/redis/redis.conf:/usr/local/etc/redis/redis.conf:ro | ||||
webapp: | webapp: | ||||
build: | build: | ||||
context: ./docker/webapp/ | context: ./docker/webapp/ | ||||
args: | |||||
GIT_REF: ${KOLAB_GIT_REF:-master} | |||||
container_name: kolab-webapp | container_name: kolab-webapp | ||||
restart: on-failure | restart: on-failure | ||||
image: kolab-webapp | image: kolab-webapp | ||||
healthcheck: | healthcheck: | ||||
interval: 10s | interval: 10s | ||||
test: "/src/kolabsrc/artisan octane:status || exit 1" | test: "/src/kolabsrc/artisan octane:status || exit 1" | ||||
timeout: 5s | timeout: 5s | ||||
retries: 30 | retries: 30 | ||||
Show All 10 Lines | networks: | ||||
ipv4_address: 172.18.0.4 | ipv4_address: 172.18.0.4 | ||||
volumes: | volumes: | ||||
- ./src:/src/kolabsrc.orig:ro | - ./src:/src/kolabsrc.orig:ro | ||||
ports: | ports: | ||||
- "8000:8000" | - "8000:8000" | ||||
meet: | meet: | ||||
build: | build: | ||||
context: ./docker/meet/ | context: ./docker/meet/ | ||||
args: | |||||
GIT_REF: ${KOLAB_GIT_REF:-master} | |||||
container_name: kolab-meet | container_name: kolab-meet | ||||
restart: on-failure | restart: on-failure | ||||
healthcheck: | healthcheck: | ||||
interval: 10s | interval: 10s | ||||
test: "curl --insecure -H 'X-AUTH-TOKEN: ${MEET_SERVER_TOKEN}' --fail https://${MEET_LISTENING_HOST}:12443/meetmedia/api/health || exit 1" | test: "curl --insecure -H 'X-AUTH-TOKEN: ${MEET_SERVER_TOKEN}' --fail https://${MEET_LISTENING_HOST}:12443/meetmedia/api/health || exit 1" | ||||
timeout: 5s | timeout: 5s | ||||
retries: 30 | retries: 30 | ||||
start_period: 5m | start_period: 5m | ||||
Show All 29 Lines |