mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2025-12-30 17:00:57 -06:00
75 lines
3.3 KiB
YAML
75 lines
3.3 KiB
YAML
---
|
|
services:
|
|
traefik:
|
|
networks:
|
|
ocis-net:
|
|
aliases:
|
|
- ${OCIS_DOMAIN:-ocis.owncloud.test}
|
|
ocis:
|
|
image: ${OCIS_DOCKER_IMAGE:-owncloud/ocis}:${OCIS_DOCKER_TAG:-latest}
|
|
networks:
|
|
ocis-net:
|
|
entrypoint:
|
|
- /bin/sh
|
|
# run ocis init to initialize a configuration file with random secrets
|
|
# it will fail on subsequent runs, because the config file already exists
|
|
# therefore we ignore the error and then start the ocis server
|
|
command: ["-c", "ocis init || true; ocis server"]
|
|
environment:
|
|
# enable the notifications service as it is not started automatically
|
|
OCIS_ADD_RUN_SERVICES: "notifications"
|
|
OCIS_URL: https://${OCIS_DOMAIN:-ocis.owncloud.test}
|
|
OCIS_LOG_LEVEL: ${LOG_LEVEL:-info}
|
|
OCIS_LOG_COLOR: "${LOG_PRETTY:-false}"
|
|
OCIS_LOG_PRETTY: "${LOG_PRETTY:-false}"
|
|
# do not use SSL between Traefik and oCIS
|
|
PROXY_TLS: "false"
|
|
# make the REVA gateway accessible to the app drivers
|
|
GATEWAY_GRPC_ADDR: 0.0.0.0:9142
|
|
# INSECURE: needed if oCIS / Traefik is using self generated certificates
|
|
OCIS_INSECURE: "${INSECURE:-false}"
|
|
# basic auth (not recommended, but needed for eg. WebDav clients that do not support OpenID Connect)
|
|
PROXY_ENABLE_BASIC_AUTH: "${PROXY_ENABLE_BASIC_AUTH:-false}"
|
|
# admin user password
|
|
IDM_ADMIN_PASSWORD: "${ADMIN_PASSWORD:-admin}" # this overrides the admin password from the configuration file
|
|
# demo users
|
|
IDM_CREATE_DEMO_USERS: "${DEMO_USERS:-false}"
|
|
# email server (if configured)
|
|
NOTIFICATIONS_SMTP_HOST: "${SMTP_HOST}"
|
|
NOTIFICATIONS_SMTP_PORT: "${SMTP_PORT}"
|
|
NOTIFICATIONS_SMTP_SENDER: "${SMTP_SENDER}"
|
|
NOTIFICATIONS_SMTP_USERNAME: "${SMTP_USERNAME}"
|
|
NOTIFICATIONS_SMTP_INSECURE: "${SMTP_INSECURE}"
|
|
# make the registry available to the app provider containers
|
|
MICRO_REGISTRY_ADDRESS: 127.0.0.1:9233
|
|
NATS_NATS_HOST: 0.0.0.0
|
|
NATS_NATS_PORT: 9233
|
|
PROXY_CSP_CONFIG_FILE_LOCATION: /etc/ocis/csp.yaml
|
|
# these three vars are needed to the csp config file to include the web office apps and the importer
|
|
COLLABORA_DOMAIN: ${COLLABORA_DOMAIN:-collabora.owncloud.test}
|
|
ONLYOFFICE_DOMAIN: ${ONLYOFFICE_DOMAIN:-onlyoffice.owncloud.test}
|
|
COMPANION_DOMAIN: ${COMPANION_DOMAIN:-companion.owncloud.test}
|
|
# enable to allow using the banned passwords list
|
|
OCIS_PASSWORD_POLICY_BANNED_PASSWORDS_LIST: banned-password-list.txt
|
|
volumes:
|
|
- ./config/ocis/app-registry.yaml:/etc/ocis/app-registry.yaml
|
|
- ./config/ocis/csp.yaml:/etc/ocis/csp.yaml
|
|
- ./config/ocis/banned-password-list.txt:/etc/ocis/banned-password-list.txt
|
|
# configure the .env file to use own paths instead of docker internal volumes
|
|
- ${OCIS_CONFIG_DIR:-ocis-config}:/etc/ocis
|
|
- ${OCIS_DATA_DIR:-ocis-data}:/var/lib/ocis
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.ocis.entrypoints=https"
|
|
- "traefik.http.routers.ocis.rule=Host(`${OCIS_DOMAIN:-ocis.owncloud.test}`)"
|
|
- "traefik.http.routers.ocis.tls.certresolver=http"
|
|
- "traefik.http.routers.ocis.service=ocis"
|
|
- "traefik.http.services.ocis.loadbalancer.server.port=9200"
|
|
logging:
|
|
driver: ${LOG_DRIVER:-local}
|
|
restart: always
|
|
|
|
volumes:
|
|
ocis-config:
|
|
ocis-data:
|