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