178 lines
6.6 KiB
YAML
178 lines
6.6 KiB
YAML
---
|
|
version: "3.8"
|
|
|
|
services:
|
|
app:
|
|
configs:
|
|
- source: app_registry
|
|
target: /etc/ocis/app-registry.yaml
|
|
mode: 0666
|
|
|
|
driver-collabora:
|
|
image: "owncloud/ocis${OCIS_DOCKER_TAG}"
|
|
networks:
|
|
- internal
|
|
command: app-provider server
|
|
environment:
|
|
- COLLABORA_DOMAIN
|
|
- WOPISERVER_DOMAIN
|
|
- DOMAIN
|
|
- REVA_GATEWAY=${STACK_NAME}_app:9142
|
|
- APP_PROVIDER_GRPC_ADDR=0.0.0.0:9164
|
|
- APP_PROVIDER_EXTERNAL_ADDR=${STACK_NAME}_driver-collabora:9164
|
|
- APP_PROVIDER_DRIVER=wopi
|
|
- APP_PROVIDER_WOPI_APP_NAME=Collabora
|
|
- APP_PROVIDER_WOPI_APP_ICON_URI=https://${COLLABORA_DOMAIN}/favicon.ico
|
|
- APP_PROVIDER_WOPI_APP_URL=https://${COLLABORA_DOMAIN}
|
|
- APP_PROVIDER_WOPI_INSECURE=${INSECURE:-false}
|
|
- APP_PROVIDER_WOPI_WOPI_SERVER_EXTERNAL_URL=https://${WOPISERVER_DOMAIN}
|
|
- APP_PROVIDER_WOPI_FOLDER_URL_BASE_URL=https://${DOMAIN}
|
|
volumes:
|
|
- config:/etc/ocis
|
|
|
|
# driver-onlyoffice:
|
|
# image: "owncloud/ocis:2.0.0-beta.8"
|
|
# networks:
|
|
# - internal
|
|
# user: "0" # needed for apk add in entrypoint script
|
|
# entrypoint:
|
|
# - /bin/sh
|
|
# - /entrypoint-override.sh
|
|
# #command: app-provider server
|
|
# environment:
|
|
# - ONLYOFFICE_DOMAIN
|
|
# - WOPISERVER_DOMAIN
|
|
# # first exapmle second docs
|
|
# - REVA_GATEWAY=${STACK_NAME}_app:9142
|
|
# - STORAGE_GATEWAY_ENDPOINT=${STACK_NAME}_app:9142
|
|
# - APP_PROVIDER_GRPC_ADDR=0.0.0.0:9164
|
|
# - APP_PROVIDER_EXTERNAL_ADDR=${STACK_NAME}_driver-onlyoffice:9164
|
|
# - APP_PROVIDER_DRIVER=wopi
|
|
# - APP_PROVIDER_WOPI_APP_NAME=OnlyOffice
|
|
# - APP_PROVIDER_WOPI_APP_ICON_URI=https://${ONLYOFFICE_DOMAIN}/web-apps/apps/documenteditor/main/resources/img/favicon.ico
|
|
# - APP_PROVIDER_WOPI_APP_URL=https://${ONLYOFFICE_DOMAIN}
|
|
# - APP_PROVIDER_WOPI_INSECURE="${INSECURE:-false}"
|
|
# # first exapmle second docs
|
|
# - APP_PROVIDER_WOPI_WOPI_SERVER_EXTERNAL_URL=https://${WOPISERVER_DOMAIN}
|
|
# - APP_PROVIDER_WOPI_DRIVER_WOPI_URL=https://${WOPISERVER_DOMAIN}
|
|
# # TODO: Secret
|
|
# - APP_PROVIDER_WOPI_WOPI_SERVER_IOP_SECRET=${WOPI_IOP_SECRET:-LoremIpsum123}
|
|
# volumes:
|
|
# - config:/etc/ocis
|
|
# configs:
|
|
# - source: onlyoffice_entrypoint
|
|
# target: /entrypoint-override.sh
|
|
# mode: 0555
|
|
|
|
wopiserver:
|
|
image: cs3org/wopiserver:v9.1.1
|
|
networks:
|
|
- internal
|
|
- proxy
|
|
entrypoint:
|
|
- /bin/sh
|
|
- /entrypoint-override.sh
|
|
secrets:
|
|
- wopi_secret
|
|
configs:
|
|
- source: wopiserver_entrypoint
|
|
target: /entrypoint-override.sh
|
|
mode: 0555
|
|
- source: wopiserver_conf
|
|
target: /etc/wopi/wopiserver.conf.dist
|
|
mode: 0444
|
|
environment:
|
|
- WOPISERVER_DOMAIN
|
|
- WOPISERVER_INSECURE=${INSECURE:-false}
|
|
- WOPISERVER_LOGLEVEL=${WOPISERVER_LOGLEVEL:-Error} # Valid values are: Debug, Info, Warning, Error.
|
|
# TODO: Secrets
|
|
- WOPISECRET=${WOPI_JWT_SECRET:-LoremIpsum567}
|
|
- REVA_GATEWAY=${STACK_NAME}_app:9142
|
|
volumes:
|
|
- wopi_data:/var/wopi_local_storage
|
|
- wopi_recovery:/var/spool/wopirecovery
|
|
# - wopi_logs:/var/log/wopi
|
|
deploy:
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.services.${STACK_NAME}-wopiserver.loadbalancer.server.port=8880"
|
|
- "traefik.http.routers.${STACK_NAME}-wopiserver.rule=Host(`${WOPISERVER_DOMAIN}`)"
|
|
- "traefik.http.routers.${STACK_NAME}-wopiserver.entrypoints=web-secure"
|
|
- "traefik.http.routers.${STACK_NAME}-wopiserver.tls.certresolver=${LETS_ENCRYPT_ENV}"
|
|
|
|
collabora:
|
|
# image: collabora/code:22.05.0.1@sha256:49dd6e729c61390b0e75b9a6a77138a21fc2103a7e232bb7b3e7f5151580a9d5
|
|
image: collabora/code:22.05.6.3.1
|
|
networks:
|
|
- internal
|
|
- proxy
|
|
secrets:
|
|
- collabora_admin_password
|
|
environment:
|
|
- COLLABORA_DOMAIN
|
|
- COLLABORA_ADMIN_USER=${COLLABORA_ADMIN_USER:-admin}
|
|
- aliasgroup1=https://${WOPISERVER_DOMAIN}:443
|
|
- DONT_GEN_SSL_CERT="YES"
|
|
# - extra_params="--o:ssl.enable=false --o:ssl.termination=true --o:welcome.enable=false --o:net.frame_ancestors=${DOMAIN}"
|
|
- extra_params=--o:ssl.enable=false --o:ssl.termination=true --o:welcome.enable=false --o:net.frame_ancestors=${DOMAIN}
|
|
- username=${COLLABORA_ADMIN_USER}
|
|
- password=${COLLABORA_ADMIN_PASSWORD:-admin}
|
|
cap_add:
|
|
- MKNOD
|
|
deploy:
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.services.${STACK_NAME}-collabora.loadbalancer.server.port=9980"
|
|
- "traefik.http.routers.${STACK_NAME}-collabora.rule=Host(`${COLLABORA_DOMAIN}`)"
|
|
- "traefik.http.routers.${STACK_NAME}-collabora.entrypoints=web-secure"
|
|
- "traefik.http.routers.${STACK_NAME}-collabora.tls.certresolver=${LETS_ENCRYPT_ENV}"
|
|
|
|
# onlyoffice:
|
|
# image: onlyoffice/documentserver:7.1.1
|
|
# networks:
|
|
# - internal
|
|
# - proxy
|
|
# environment:
|
|
# - ONLYOFFICE_DOMAIN
|
|
# - WOPI_ENABLED=true
|
|
# - USE_UNAUTHORIZED_STORAGE=${INSECURE:-false} # self signed certificates
|
|
# deploy:
|
|
# labels:
|
|
# - "traefik.enable=true"
|
|
# - "traefik.http.services.${STACK_NAME}-onlyoffice.loadbalancer.server.port=80"
|
|
# - "traefik.http.routers.${STACK_NAME}-onlyoffice.rule=Host(`${ONLYOFFICE_DOMAIN}`)"
|
|
# - "traefik.http.routers.${STACK_NAME}-onlyoffice.entrypoints=web-secure"
|
|
# - "traefik.http.routers.${STACK_NAME}-onlyoffice.middlewares=${STACK_NAME}-onlyoffice"
|
|
# - "traefik.http.routers.${STACK_NAME}-onlyoffice.tls.certresolver=${LETS_ENCRYPT_ENV}"
|
|
# - "traefik.http.middlewares.${STACK_NAME}-onlyoffice.headers.customrequestheaders.X-Forwarded-Proto=https"
|
|
|
|
configs:
|
|
onlyoffice_entrypoint:
|
|
name: ${STACK_NAME}_onlyoffice_entrypoint_${APP_ENTRYPOINT_VERSION}
|
|
file: office/onlyoffice-entrypoint.sh
|
|
wopiserver_entrypoint:
|
|
name: ${STACK_NAME}_wopiserver_entrypoint_${WOPISERVER_ENTRYPOINT_VERSION}
|
|
file: office/wopiserver-entrypoint.sh
|
|
collabora_entrypoint:
|
|
name: ${STACK_NAME}_collabora_entrypoint_${COLLABORA_ENTRYPOINT_VERSION}
|
|
file: office/collabora-entrypoint.sh
|
|
wopiserver_conf:
|
|
name: ${STACK_NAME}_wopiserver_conf_${WOPISERVER_CONF_VERSION}
|
|
file: office/wopiserver.conf.dist
|
|
app_registry:
|
|
name: ${STACK_NAME}_app_registry_${APP_REGISTRY_VERSION}
|
|
file: office/app-registry.yaml
|
|
|
|
secrets:
|
|
wopi_secret:
|
|
name: ${STACK_NAME}_wopi_secret_${SECRET_WOPI_SECRET_VERSION}
|
|
external: true
|
|
collabora_admin_password:
|
|
name: ${STACK_NAME}_collabora_admin_password_${SECRET_COLLABORA_ADMIN_PASSWORD_VERSION}
|
|
external: true
|
|
|
|
volumes:
|
|
wopi_data:
|
|
wopi_recovery:
|
|
# wopi_logs:
|