115 lines
3.0 KiB
YAML
115 lines
3.0 KiB
YAML
version: '3.7'
|
|
|
|
volumes:
|
|
nextcloud-db:
|
|
name: docker_nextcloud-db
|
|
nextcloud:
|
|
name: docker_nextcloud
|
|
|
|
networks:
|
|
nextcloud:
|
|
proxy:
|
|
external: true
|
|
|
|
services:
|
|
nextcloud-app:
|
|
image: nextcloud:23.0.4-fpm-alpine
|
|
container_name: nextcloud-app
|
|
restart: unless-stopped
|
|
volumes:
|
|
- nextcloud:/var/www/html
|
|
- ./zz-php-custom.ini:/usr/local/etc/php/conf.d/zz-php-custom.ini
|
|
- ./zz-php-fpm-custom.conf:/usr/local/etc/php-fpm.d/zz-php-custom.conf
|
|
environment:
|
|
- "TZ=Europe/Paris"
|
|
- POSTGRES_HOST=nextcloud-db
|
|
- REDIS_HOST=redis
|
|
env_file: ./secrets/librezo.secrets
|
|
extra_hosts:
|
|
- code.librezo.xyz:192.168.1.70
|
|
depends_on:
|
|
- nextcloud-db
|
|
- redis
|
|
networks:
|
|
- nextcloud
|
|
restart: unless-stopped
|
|
|
|
nextcloud-web:
|
|
image: nginx:alpine
|
|
container_name: nextcloud-web
|
|
volumes:
|
|
- nextcloud:/var/www/html:ro
|
|
- ./nginx.conf:/etc/nginx/nginx.conf:ro
|
|
env_file: ./secrets/librezo.secrets
|
|
extra_hosts:
|
|
- code.librezo.xyz:192.168.1.70
|
|
depends_on:
|
|
- nextcloud-app
|
|
environment:
|
|
TZ: Europe/Paris
|
|
networks:
|
|
- nextcloud
|
|
- proxy
|
|
labels:
|
|
traefik.http.routers.nextcloud-web.entrypoints: websecure
|
|
traefik.http.routers.nextcloud-web.rule: Host(`cloud.librezo.xyz`)
|
|
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
|
|
traefik.http.middlewares.nextcloud-web.redirectregex.permanent: true
|
|
traefik.http.middlewares.nextcloud-web.redirectregex.regex: ^/.well-known/(card|cal)dav
|
|
traefik.http.middlewares.nextcloud-web.redirectregex.replacement: /remote.php/dav/
|
|
restart: unless-stopped
|
|
|
|
redis:
|
|
image: redis
|
|
image: 'bitnami/redis:latest'
|
|
container_name: redis
|
|
environment:
|
|
- ALLOW_EMPTY_PASSWORD=yes
|
|
- "TZ=Europe/Paris"
|
|
networks:
|
|
- nextcloud
|
|
|
|
|
|
nextcloud-db:
|
|
image: postgres:11
|
|
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: libreoffice/online:master
|
|
container_name: collabora
|
|
# ports:
|
|
# - 9980:9980
|
|
# expose:
|
|
# - "9980"
|
|
environment:
|
|
- "TZ=Europe/Paris"
|
|
- domain=cloud\.librezo\.xyz
|
|
- username=nextcloud
|
|
- password=password
|
|
- serveur_name=code\.librezo\.xyz
|
|
- "extra_params=--o:ssl.enable=false --o:ssl.termination=true"
|
|
networks:
|
|
- nextcloud
|
|
- proxy
|
|
cap_add:
|
|
- MKNOD
|
|
restart:
|
|
unless-stopped
|
|
labels:
|
|
traefik.http.routers.collabora.entrypoints: websecure
|
|
traefik.http.routers.collabora.rule: Host(`code.librezo.xyz`)
|
|
traefik.http.services.collabora.loadbalancer.server.port: 9980
|
|
traefik.enable: true
|
|
|