version: "2.3" services: nextcloud: image: linuxserver/nextcloud:18.0.4-ls80 container_name: nextcloud environment: - PUID={{ docker_user.id }} - PGID={{ docker_user.id }} - TZ=Europe/London volumes: - ./nextcloud/config:/config/www/nextcloud/config - ./nextcloud/apps:/config/www/nextcloud/apps - /srv/nextcloud-data/data:/data - /opt/gitea/repos:/repos:ro - /mnt/media:/content:ro restart: unless-stopped 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" 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: - /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:5-alpine restart: unless-stopped volumes: - ./redis:/data onlyoffice: image: onlyoffice/documentserver container_name: onlyoffice restart: unless-stopped environment: - JWT_ENABLED=true - JWT_SECRET={{ nextcloud.onlyoffice_jwt_secret }} labels: - "traefik.enable=true" - "traefik.http.routers.onlyoffice.rule=Host(`onlyoffice.jakehoward.tech`)" - "traefik.http.routers.onlyoffice.tls.certresolver=le" - "traefik.http.routers.onlyoffice.middlewares=oo-header" - "traefik.http.middlewares.oo-header.headers.customRequestHeaders.X-Forwarded-Proto=https"