diff --git a/Containers/nextcloud/entrypoint.sh b/Containers/nextcloud/entrypoint.sh index b90b4011..858b1f9a 100644 --- a/Containers/nextcloud/entrypoint.sh +++ b/Containers/nextcloud/entrypoint.sh @@ -903,11 +903,24 @@ if [ "$EUROOFFICE_ENABLED" = 'yes' ]; then # Adjust the EuroOffice host if using internal pattern if echo "$EUROOFFICE_HOST" | grep -q "nextcloud-.*-eurooffice"; then + # Set internal URLs for server-to-server calls via Docker network, + # bypassing the public domain which may not resolve inside containers. + # DocumentServerInternalUrl: NC -> EuroOffice (direct container port) + # StorageUrl: EuroOffice -> NC (via port 23973 which has a matching Caddy server-block) + APACHE_CONTAINER_HOST=$(echo "$EUROOFFICE_HOST" | sed 's/-eurooffice$/-apache/') + php /var/www/html/occ config:app:set eurooffice DocumentServerInternalUrl --value="http://$EUROOFFICE_HOST:80/" + php /var/www/html/occ config:app:set eurooffice StorageUrl --value="http://$APACHE_CONTAINER_HOST.nextcloud-aio:23973/" EUROOFFICE_HOST="$NC_DOMAIN/eurooffice" export EUROOFFICE_HOST fi php /var/www/html/occ config:app:set eurooffice DocumentServerUrl --value="https://$EUROOFFICE_HOST" + + # Register EuroOffice preview provider in the explicit allowlist. + # Use a high fixed index (50) to avoid colliding with AIO's seeded indices (1-7, 23). + if ! php /var/www/html/occ config:system:get enabledPreviewProviders | grep -q "Eurooffice"; then + php /var/www/html/occ config:system:set enabledPreviewProviders 50 --value="OCA\Eurooffice\Preview" + fi fi else # Remove EuroOffice app if disabled and removal is requested