services: nextcloud: image: lscr.io/linuxserver/nextcloud:latest container_name: nextcloud environment: - PUID=${PUID} - PGID=${PGID} - TZ=${TZ} volumes: - /home/citadel/data/nextcloud/config:/config - /home/citadel/data/nextcloud/data:/data - /etc/localtime:/etc/localtime:ro - /etc/timezone:/etc/timezone:ro networks: - services - nextcloud_internal restart: unless-stopped depends_on: - nextcloud_db - nextcloud_redis labels: - "com.docker.compose.project=nextcloud" - "backup.enable=true" - "backup.path=/config,/data" nextcloud_db: image: postgres:16-alpine container_name: nextcloud_db environment: - POSTGRES_DB=${DB_NAME} - POSTGRES_USER=${DB_USER} - POSTGRES_PASSWORD=${DB_PASSWORD} - POSTGRES_INITDB_ARGS=--encoding=UTF-8 --lc-collate=C --lc-ctype=C volumes: - nextcloud_db_data:/var/lib/postgresql/data networks: - nextcloud_internal restart: unless-stopped labels: - "com.docker.compose.project=nextcloud" - "backup.enable=true" nextcloud_redis: image: redis:7-alpine container_name: nextcloud_redis command: redis-server --requirepass ${REDIS_PASSWORD} volumes: - nextcloud_redis_data:/data networks: - nextcloud_internal restart: unless-stopped labels: - "com.docker.compose.project=nextcloud" volumes: nextcloud_db_data: name: nextcloud_db_data nextcloud_redis_data: name: nextcloud_redis_data networks: services: external: true nextcloud_internal: driver: bridge name: nextcloud_internal