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

72 lines
2.1 KiB
YAML

version: "2.3"
services:
nextcloud:
image: linuxserver/nextcloud:19.0.2-ls98
environment:
- PUID={{ docker_user.id }}
- PGID={{ docker_user.id }}
- TZ=Europe/London
volumes:
- ./apps:/config/www/nextcloud/apps
- ./config.php:/config/www/nextcloud/config/config.php
- /srv/nextcloud-data/data:/data
- /mnt/media:/content:ro
restart: unless-stopped
depends_on:
- db
- redis
- collabora
tmpfs:
- /config/log
labels:
- traefik.enable=true
- traefik.http.routers.nextcloud.rule=Host(`intersect.jakehoward.tech`)
- traefik.http.routers.nextcloud.tls.certresolver=le
- 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
db:
image: postgres:12-alpine
restart: unless-stopped
volumes:
- /srv/nextcloud-postgres:/var/lib/postgresql/data
environment:
- POSTGRES_PASSWORD=nextcloud
- POSTGRES_USER=nextcloud
db-backups:
image: prodrigestivill/postgres-backup-local:12-alpine
restart: unless-stopped
volumes:
- /mnt/scratch/db-backups:/backups
depends_on:
- db
environment:
- POSTGRES_HOST=db
- POSTGRES_PASSWORD=nextcloud
- POSTGRES_USER=nextcloud
- POSTGRES_DB=nextcloud
- BACKUP_KEEP_MONTHS=1
- BACKUP_KEEP_WEEKS=1
redis:
image: redis:6-alpine
restart: unless-stopped
volumes:
- ./redis:/data
collabora:
image: collabora/code:latest
restart: unless-stopped
cap_add:
- MKNOD
environment:
- domain=intersect\\.jakehoward\\.tech
labels:
- traefik.enable=true
- traefik.http.routers.collabora.rule=Host(`collabora.jakehoward.tech`)
- traefik.http.routers.collabora.tls.certresolver=le
- traefik.http.services.collabora-nextcloud.loadbalancer.server.scheme=https