ultisuite-backend/deploy/nextcloud/docker-compose.nextcloud.yml
2026-05-24 00:03:36 +02:00

77 lines
2.4 KiB
YAML

services:
nextcloud-fpm:
image: nextcloud:30-fpm-alpine
restart: unless-stopped
depends_on:
postgres:
condition: service_healthy
keydb:
condition: service_healthy
environment:
- POSTGRES_HOST=postgres
- POSTGRES_DB=nextcloud
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- REDIS_HOST=keydb
- REDIS_HOST_PORT=6379
- NEXTCLOUD_ADMIN_USER=${NC_ADMIN_USER:-admin}
- NEXTCLOUD_ADMIN_PASSWORD=${NC_ADMIN_PASSWORD:-changeme}
- NEXTCLOUD_TRUSTED_DOMAINS=${DOMAIN:-localhost}
- OBJECTSTORE_S3_BUCKET=nextcloud
- OBJECTSTORE_S3_HOST=rustfs
- OBJECTSTORE_S3_PORT=9000
- OBJECTSTORE_S3_KEY=${RUSTFS_ACCESS_KEY}
- OBJECTSTORE_S3_SECRET=${RUSTFS_SECRET_KEY}
- OBJECTSTORE_S3_SSL=false
- OBJECTSTORE_S3_USEPATH_STYLE=true
- OVERWRITEHOST=${DOMAIN:-localhost}
- OVERWRITEPROTOCOL=${NC_OVERWRITE_PROTOCOL:-http}
- OVERWRITEWEBROOT=/cloud
- OVERWRITECLIURL=${NC_PUBLIC_URL:-http://localhost/cloud}
- TRUSTED_PROXIES=10.0.0.0/8 172.16.0.0/12 192.168.0.0/16
- NC_OIDC_CLIENT_ID=${NC_OIDC_CLIENT_ID:-ulti-nextcloud}
- NC_OIDC_CLIENT_SECRET=${NC_OIDC_CLIENT_SECRET:-changeme}
- NC_OIDC_DISCOVERY_URL=${NC_OIDC_DISCOVERY_URL:-http://nginx/auth/application/o/nextcloud/.well-known/openid-configuration}
volumes:
- nextcloud_data:/var/www/html
- ./nextcloud/init.sh:/docker-entrypoint-hooks.d/post-installation/init.sh:ro
networks:
- ulti-net
healthcheck:
test: ["CMD-SHELL", "php -r 'echo 1;' || exit 1"]
interval: 30s
timeout: 10s
retries: 5
nextcloud:
image: nginx:alpine
restart: unless-stopped
depends_on:
nextcloud-fpm:
condition: service_healthy
volumes:
- ./nextcloud/nginx.conf:/etc/nginx/conf.d/default.conf:ro
- nextcloud_data:/var/www/html:ro
networks:
- ulti-net
healthcheck:
test: ["CMD-SHELL", "wget -qO- http://127.0.0.1/ >/dev/null 2>&1 || exit 1"]
interval: 30s
timeout: 10s
retries: 5
start_period: 30s
nextcloud-cron:
image: nextcloud:30-fpm-alpine
restart: unless-stopped
depends_on:
- nextcloud-fpm
entrypoint: /cron.sh
volumes:
- nextcloud_data:/var/www/html
networks:
- ulti-net
volumes:
nextcloud_data: