You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

60 lines
2.1 KiB

version: '3.3'
services:
nextcloud-db:
image: arm64v8/mariadb:10.6
container_name: nextcloud-db
restart: always
security_opt:
- seccomp:unconfined
- apparmor:unconfined
command: mysqld --transaction-isolation=READ-COMMITTED --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --max-connections=512 --innodb-rollback-on-timeout=OFF --innodb-lock-wait-timeout=120
volumes:
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
- ${STORAGE_BASE_PATH}/database_var:/var/lib/mysql
- ${STORAGE_BASE_PATH}/database_config:/config
environment:
- PUID=1000
- PGID=1000
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
- MYSQL_DATABASE=${MYSQL_DATABASE}
- MYSQL_USER=${MYSQL_USER}
nextcloud-app:
image: nextcloud
container_name: nextcloud-app
restart: always
ports:
- 8888:80
volumes:
- ${STORAGE_BASE_PATH}/app:/var/www/html
- ${PAPERLESS_STORAGE_BASE_PATH}/consume:/var/www/paperless_consume
- ${PAPERLESS_STORAGE_BASE_PATH}/media/documents/archive:/media/paperless_archive
- /media/USB1/docker/photoprism/originals:/var/www/photoprism_archive
links:
- nextcloud-db
labels:
- "traefik.enable=true"
- "traefik.http.routers.nextcloud.entrypoints=websecure"
- "traefik.http.routers.nextcloud.rule=Host(`${HOST_URL}`)"
- "traefik.http.routers.nextcloud.tls=true"
- "traefik.http.routers.nextcloud.tls.certresolver=default"
- "traefik.http.routers.nextcloud.middlewares=nextcloud-dav,secHeaders@file"
- "traefik.http.services.nextcloud.loadbalancer.server.port=80"
- "traefik.http.middlewares.nextcloud-dav.replacepathregex.regex=^/.well-known/ca(l|rd)dav"
- "traefik.http.middlewares.nextcloud-dav.replacepathregex.replacement=/remote.php/dav/"
environment:
- TRUSTED_PROXIES=127.0.0.1,localhost,${HOST_URL}
networks:
- traefik_proxy
- default
networks:
traefik_proxy:
external:
name: traefik_proxy
default:
driver: bridge