--- 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