ocis/compose.office.yml

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: