128 lines
3.8 KiB
YAML
128 lines
3.8 KiB
YAML
version: '3.7'
|
||
|
||
volumes:
|
||
nextcloud-db:
|
||
name: docker_nextcloud-db-23
|
||
nextcloud-data:
|
||
name: docker_nextcloud
|
||
nextcloud:
|
||
name: docker_nextcloud-conf
|
||
onlyoffice-data:
|
||
name: docker_onlyoffice-data
|
||
# onlyoffice-log:
|
||
# name: docker_onlyoffice-log
|
||
|
||
networks:
|
||
nextcloud:
|
||
proxy:
|
||
external: true
|
||
|
||
services:
|
||
nextcloud-app:
|
||
image: nextcloud-cron:23.0.9
|
||
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
|
||
restart: unless-stopped
|
||
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/"
|
||
restart: unless-stopped
|
||
|
||
redis:
|
||
image: redis
|
||
image: 'bitnami/redis:7.0.4'
|
||
container_name: redis
|
||
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
|
||
|
||
#collabora:
|
||
# image: collabora/code:22.05.3.1.1
|
||
# container_name: collabora
|
||
# extra_hosts :
|
||
# cloud.oasis21.org : 172.16.7.10
|
||
# environment:
|
||
# - "TZ=Europe/Paris"
|
||
# - aliasgroup1=cloud.oasis21.org
|
||
# - DONT_GEN_SSL_CERT=1
|
||
# - serveur_name=code.oasis21.org
|
||
# - "extra_params=--o:ssl.enable=false --o:ssl.termination=true"
|
||
# networks:
|
||
# - nextcloud
|
||
# - proxy
|
||
# env_file: ./secrets/librezo.secrets
|
||
# cap_add:
|
||
# - MKNOD
|
||
# restart:
|
||
# unless-stopped
|
||
# labels:
|
||
# traefik.http.routers.collabora.entrypoints: websecure
|
||
# traefik.http.routers.collabora.rule: Host(`code.oasis21.org`)
|
||
# traefik.http.services.collabora.loadbalancer.server.port: 9980
|
||
# traefik.http.routers.collabora.middlewares: allowFrameAndCORS@file
|
||
# traefik.enable: true
|
||
|
||
|
||
|
||
onlyoffice:
|
||
container_name: onlyoffice
|
||
image: onlyoffice_unlimited:7.2.1
|
||
restart: unless-stopped
|
||
extra_hosts :
|
||
cloud.oasis21.org : 172.16.7.11
|
||
environment:
|
||
- JWT_ENABLED=true
|
||
- JWT_SECRET=MvaG9zdHMgCnN1ZG8gbmFubyAvZXRjL2hvc3RzIApzY3AgVMOpbMOpY
|
||
volumes:
|
||
- onlyoffice-data:/var/www/onlyoffice/Data
|
||
#- onlyoffice-log:/var/log/onlyoffice
|
||
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
|