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

69 lines
1.9 KiB
YAML

version: "2.3"
services:
nextcloud:
image: lscr.io/linuxserver/nextcloud:26.0.2
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
collabora:
image: collabora/code:latest
restart: unless-stopped
tty: true
environment:
- domain=intersect.jakehoward.tech
labels:
- traefik.enable=true
- traefik.http.routers.collabora.rule=Host(`collabora.jakehoward.tech`)
- traefik.http.services.collabora-nextcloud.loadbalancer.server.scheme=https
networks:
- default
- traefik
tmpfs:
- /tmp
mariadb:
image: mariadb:10.6
restart: unless-stopped
volumes:
- ./db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=nextcloud
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_PASSWORD=nextcloud
redis:
image: redis:7-alpine
restart: unless-stopped
volumes:
- ./redis:/data
networks:
traefik:
external: true