102 lines
3.0 KiB
YAML
102 lines
3.0 KiB
YAML
version: '3.7'
|
|
|
|
volumes:
|
|
nextcloud-db:
|
|
name: docker_nextcloud-db-23
|
|
nextcloud-data:
|
|
name: docker_nextcloud
|
|
nextcloud:
|
|
name: docker_nextcloud-conf
|
|
onlyoffice-cache:
|
|
name: docker_onlyoffice-cache
|
|
onlyoffice-db:
|
|
name: docker_onlyoffice-db
|
|
|
|
networks:
|
|
nextcloud:
|
|
proxy:
|
|
external: true
|
|
|
|
services:
|
|
nextcloud-app:
|
|
image: nextcloud-cron:23.0.11
|
|
build: .
|
|
container_name: nextcloud-app
|
|
restart: unless-stopped
|
|
extra_hosts :
|
|
office.oasis21.org : 172.16.7.10
|
|
volumes:
|
|
- nextcloud:/var/www/html
|
|
- nextcloud-data:/var/www/html/data
|
|
environment:
|
|
- "TZ=Europe/Paris"
|
|
- REDIS_HOST=redis
|
|
env_file: ./secrets/librezo.secrets
|
|
depends_on:
|
|
- nextcloud-db
|
|
- redis
|
|
networks:
|
|
- nextcloud
|
|
- proxy
|
|
labels:
|
|
traefik.http.routers.nextcloud-web.entrypoints: websecure
|
|
traefik.http.routers.nextcloud-web.rule: Host(`cloud.oasis21.org`)
|
|
traefik.http.services.nextcloud-web.loadbalancer.server.port: 80
|
|
traefik.enable: true
|
|
# https://docs.nextcloud.com/server/16/admin_manual/configuration_server/reverse_proxy_configuration.html
|
|
traefik.http.routers.nextcloud-web.middlewares: nextcloud-web@docker, allowFrameAndCORS@file
|
|
traefik.http.middlewares.nextcloud-web.redirectregex.permanent: true
|
|
traefik.http.middlewares.nextcloud-web.redirectregex.regex: "https://(.*)/.well-known/(card|cal)dav"
|
|
traefik.http.middlewares.nextcloud-web.redirectregex.replacement: "https://$${1}/remote.php/dav/"
|
|
|
|
redis:
|
|
image: redis
|
|
image: 'bitnami/redis:7.0.4'
|
|
container_name: redis
|
|
restart: unless-stopped
|
|
environment:
|
|
- "TZ=Europe/Paris"
|
|
- ALLOW_EMPTY_PASSWORD=yes
|
|
env_file: ./secrets/librezo.secrets
|
|
networks:
|
|
- nextcloud
|
|
|
|
|
|
nextcloud-db:
|
|
image: postgres:11.17-bullseye
|
|
container_name: nextcloud-db
|
|
volumes:
|
|
- nextcloud-db:/var/lib/postgresql/data
|
|
networks:
|
|
- nextcloud
|
|
env_file: ./secrets/librezo.secrets
|
|
environment:
|
|
- "TZ=Europe/Paris"
|
|
restart: unless-stopped
|
|
|
|
onlyoffice:
|
|
container_name: onlyoffice
|
|
image: onlyoffice_unlimited:7.2.1-9_forcesave
|
|
restart: unless-stopped
|
|
extra_hosts :
|
|
cloud.oasis21.org : 172.16.7.10
|
|
environment:
|
|
- JWT_ENABLED=true
|
|
- JWT_SECRET=MvaG9zdHMgCnN1ZG8gbmFubyAvZXRjL2hvc3RzIApzY3AgVMOpbMOpY
|
|
- FORCESAVE_ENABLE=true
|
|
- FORCESAVE_INTERVAL=2m
|
|
- FORCESAVE_STEP=5m
|
|
volumes:
|
|
- onlyoffice-cache:/var/lib/onlyoffice/documentserver/App_Data
|
|
- onlyoffice-db:/var/lib/postgresql
|
|
labels:
|
|
traefik.http.routers.onlyoffice.entrypoints: websecure
|
|
traefik.http.routers.onlyoffice.rule: Host(`office.oasis21.org`)
|
|
traefik.http.services.onlyoffice.loadbalancer.server.port: 80
|
|
traefik.enable: true
|
|
traefik.http.routers.onlyoffice.middlewares: allowFrameAndCORS@file, onlyoffice-sslheaders
|
|
traefik.http.middlewares.onlyoffice-sslheaders.headers.customrequestheaders.X-Forwarded-Proto: "https"
|
|
networks:
|
|
- nextcloud
|
|
- proxy
|