docker-files/nextcloud/compose.yaml

53 lines
1.3 KiB
YAML

---
volumes:
nextcloud-main:
nextcloud-db:
services:
nextcloud-app:
image: docker.io/library/nextcloud:31.0.5-apache
container_name: nextcloud-app
volumes:
- /mnt/hdd1/nextcloud-data:/var/www/html/data
- nextcloud-main:/var/www/html
labels:
- traefik.enable=true
- traefik.http.routers.nextcloud.rule=Host(`cloud.${DOMAIN}`)
- traefik.http.routers.nextcloud.entrypoints=websecure
- traefik.http.routers.nextcloud.tls=true
- traefik.http.routers.nextcloud.tls.certresolver=cloudflare
- traefik.http.middlewares.nextcloud-headers.headers.customrequestheaders.X-Forwarded-Proto=https
environment:
- PHP_MEMORY_LIMIT=1G
- PHP_UPLOAD_LIMIT=30G
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- POSTGRES_DB=${POSTGRES_DB}
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_HOST=nextcloud-db
networks:
- frontend
- backend
restart: unless-stopped
nextcloud-db:
image: postgres:14
container_name: nextcloud-db
networks:
- backend
volumes:
- nextcloud-db:/var/lib/postgresql/data
environment:
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- POSTGRES_DB=${POSTGRES_DB}
- POSTGRES_USER=${POSTGRES_USER}
restart: unless-stopped
networks:
frontend:
external: true
backend:
external: true