infra-oasis21/nextcloud/docker-compose.yml

102 lines
3.0 KiB
YAML
Raw Normal View History

2022-04-28 16:41:42 +02:00
version: '3.7'
volumes:
nextcloud-db:
2022-07-12 12:20:42 +02:00
name: docker_nextcloud-db-23
nextcloud-data:
2022-04-28 16:41:42 +02:00
name: docker_nextcloud
2022-07-12 12:20:42 +02:00
nextcloud:
name: docker_nextcloud-conf
2022-11-09 13:24:10 +01:00
onlyoffice-cache:
name: docker_onlyoffice-cache
onlyoffice-db:
name: docker_onlyoffice-db
2022-04-28 16:41:42 +02:00
networks:
nextcloud:
proxy:
external: true
services:
nextcloud-app:
image: nextcloud-cron:23.0.11
2022-09-13 19:50:02 +02:00
build: .
2022-04-28 16:41:42 +02:00
container_name: nextcloud-app
restart: unless-stopped
2022-07-12 12:20:42 +02:00
extra_hosts :
2022-09-14 01:04:20 +02:00
office.oasis21.org : 172.16.7.10
2022-04-28 16:41:42 +02:00
volumes:
- nextcloud:/var/www/html
2022-07-12 12:20:42 +02:00
- nextcloud-data:/var/www/html/data
2022-04-28 16:41:42 +02:00
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
2022-05-05 11:17:28 +02:00
traefik.http.routers.nextcloud-web.rule: Host(`cloud.oasis21.org`)
2022-04-28 16:41:42 +02:00
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
2022-09-13 19:50:02 +02:00
traefik.http.routers.nextcloud-web.middlewares: nextcloud-web@docker, allowFrameAndCORS@file
2022-04-28 16:41:42 +02:00
traefik.http.middlewares.nextcloud-web.redirectregex.permanent: true
2022-07-12 12:20:42 +02:00
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/"
2022-04-28 16:41:42 +02:00
redis:
image: redis
2022-09-13 19:50:02 +02:00
image: 'bitnami/redis:7.0.4'
2022-04-28 16:41:42 +02:00
container_name: redis
2022-11-08 10:16:45 +01:00
restart: unless-stopped
2022-04-28 16:41:42 +02:00
environment:
- "TZ=Europe/Paris"
2022-05-06 09:48:47 +02:00
- ALLOW_EMPTY_PASSWORD=yes
env_file: ./secrets/librezo.secrets
2022-04-28 16:41:42 +02:00
networks:
- nextcloud
nextcloud-db:
2022-09-13 19:50:02 +02:00
image: postgres:11.17-bullseye
2022-04-28 16:41:42 +02:00
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
2022-09-14 01:04:20 +02:00
onlyoffice:
container_name: onlyoffice
2022-11-09 13:24:10 +01:00
image: onlyoffice_unlimited:7.2.1-9_forcesave
2022-09-14 01:04:20 +02:00
restart: unless-stopped
2022-07-12 12:20:42 +02:00
extra_hosts :
2022-09-14 01:04:20 +02:00
cloud.oasis21.org : 172.16.7.11
2022-04-28 16:41:42 +02:00
environment:
- JWT_ENABLED=true
- JWT_SECRET=MvaG9zdHMgCnN1ZG8gbmFubyAvZXRjL2hvc3RzIApzY3AgVMOpbMOpY
2022-11-12 02:30:24 +01:00
- FORCESAVE_ENABLE=true
2022-11-09 13:24:10 +01:00
- FORCESAVE_INTERVAL=2m
- FORCESAVE_STEP=5m
2022-09-14 01:04:20 +02:00
volumes:
2022-11-09 13:24:10 +01:00
- onlyoffice-cache:/var/lib/onlyoffice/documentserver/App_Data
- onlyoffice-db:/var/lib/postgresql
2022-04-28 16:41:42 +02:00
labels:
2022-09-14 01:04:20 +02:00
traefik.http.routers.onlyoffice.entrypoints: websecure
traefik.http.routers.onlyoffice.rule: Host(`office.oasis21.org`)
traefik.http.services.onlyoffice.loadbalancer.server.port: 80
2022-04-28 16:41:42 +02:00
traefik.enable: true
2022-09-14 01:04:20 +02:00
traefik.http.routers.onlyoffice.middlewares: allowFrameAndCORS@file, onlyoffice-sslheaders
traefik.http.middlewares.onlyoffice-sslheaders.headers.customrequestheaders.X-Forwarded-Proto: "https"
networks:
- nextcloud
- proxy