infra-oasis21/nextcloud/docker-compose.yml
2022-12-29 23:15:22 +01:00

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:24.0.8
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_1000:7.2.2_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