nextcloud/compose.yml

94 lines
2.9 KiB
YAML

version: '2'
services:
db:
image: mariadb:10.6
restart: always
hostname: maria-db
command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
networks:
- db-con
volumes:
- db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- MYSQL_PASSWORD=${MYSQL_ROOT_PASSWORD}
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
app:
image: nextcloud:31.0.9
hostname: nextcloud
restart: always
networks:
- proxy
- db-con
volumes:
- nextcloud:/var/www/html
- nextcloud_hooks:/docker-entrypoint-hooks.d
- /etc/localtime:/etc/localtime:ro
environment:
- MYSQL_PASSWORD=${MYSQL_ROOT_PASSWORD}
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_HOST=maria-db
- PHP_MEMORY_LIMIT=4096M
- PHP_UPLOAD_LIMIT=5120M
labels:
traefik.enable: true
traefik.http.routers.nextcloud.rule: "Host(`nextcloud.urmel.de`)"
traefik.http.routers.nextcloud.tls: true
traefik.http.routers.nextcloud.tls.certResolver: hetzner
traefik.http.services.nextcloud-https.loadbalancer.server.port: 80
traefik.http.routers.nextcloud.middlewares: nextcloud_redirectregex, nextcloud-header
traefik.http.middlewares.nextcloud_redirectregex.redirectregex.permanent: "true"
traefik.http.middlewares.nextcloud_redirectregex.redirectregex.regex: "https://(.*)/.well-known/(?:card|cal)dav"
traefik.http.middlewares.nextcloud_redirectregex.redirectregex.replacement: "https://$${1}/remote.php/dav"
traefik.http.middlewares.nextcloud-header.headers.stsSeconds: "15552000"
collabora:
image: collabora/code:25.04.6.1.1
hostname: collabora
networks:
- proxy
environment:
- domain=nextcloud\\.urmel\\.de
- username=someAdmin
- password=${COLLABORA_PASSWORD}
- extra_params=--o:ssl.enable=false --o:ssl.termination=true
cap_add:
- MKNOD
labels:
traefik.enable: true
traefik.http.routers.collabora.rule: "Host(`collabora.urmel.de`)"
traefik.http.routers.collabora.tls: true
traefik.http.routers.collabora.tls.certResolver: hetzner
traefik.http.services.collabora-https.loadbalancer.server.port: 9980
drawio:
image: jgraph/drawio:28.2.5
hostname: drawio
networks:
- proxy
labels:
traefik.enable: true
traefik.http.routers.drawio.rule: "Host(`drawio.urmel.de`)"
traefik.http.routers.drawio.tls: true
traefik.http.routers.drawio.tls.certResolver: hetzner
traefik.http.services.drawio-https.loadbalancer.server.port: 8080
volumes:
nextcloud:
driver_opts:
type: nfs4
o: addr=217.100.0.2,rw,noatime,tcp
device: ":/mnt/Main/nextcloudData"
nextcloud_hooks:
db:
networks:
proxy:
name: traefik_exposed
external: true
db-con:
internal: true