infrastructure/ansible/roles/pve_docker/files/nextcloud/docker-compose.yml

52 lines
1.5 KiB
YAML

version: "2.3"
services:
nextcloud:
image: lscr.io/linuxserver/nextcloud:25.0.0
environment:
- PUID={{ docker_user.id }}
- PGID={{ docker_user.id }}
- TZ={{ timezone }}
- DOCKER_MODS=theorangeone/lsio-mod-more-processes:latest
volumes:
- "{{ app_data_dir }}/nextcloud/apps:/config/www/nextcloud/apps"
- "{{ app_data_dir }}/nextcloud/config.php:/config/www/nextcloud/config/config.php"
- /mnt/tank/files/nextcloud:/data
- /mnt/tank/files:/mnt/files
restart: unless-stopped
depends_on:
- mariadb
- redis
tmpfs:
- /config/log
labels:
- traefik.enable=true
- traefik.http.routers.nextcloud.rule=Host(`intersect.jakehoward.tech`)
- traefik.http.services.nextcloud-nextcloud.loadbalancer.server.port=443
- traefik.http.services.nextcloud-nextcloud.loadbalancer.server.scheme=https
- traefik.http.middlewares.nextcloud-hsts.headers.stsseconds=15552000
- traefik.http.routers.nextcloud.middlewares=nextcloud-hsts@docker
networks:
- default
- traefik
mariadb:
image: mariadb:10.5
restart: unless-stopped
volumes:
- /mnt/tank/dbs/mariadb/nextcloud/:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=nextcloud
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_PASSWORD=nextcloud
redis:
image: redis:6-alpine
restart: unless-stopped
volumes:
- /mnt/tank/dbs/redis/nextcloud:/data
networks:
traefik:
external: true