Thomas Gräfenstein
d62b627093
add .mjs MIME type to nginx to fix NS_ERROR_CORRUPTED_CONTENT
...
nginx doesn't know .mjs by default and serves it as
application/octet-stream, which breaks ES module loading
and causes Caddy compression mismatches.
2026-03-22 20:56:10 +01:00
Thomas Gräfenstein
1c2fb3c807
fix nginx redirect loop
2026-03-22 18:12:18 +01:00
Thomas Gräfenstein
b918e713e5
align nginx and Caddy config with official Nextcloud docs
...
Move security headers to Caddy (edge proxy), remove nginx gzip
(Caddy already compresses), add asset_immutable map for versioned
cache control, add missing static file extensions, fix .well-known
block, and hide X-Powered-By header.
2026-03-22 17:58:26 +01:00
Thomas Gräfenstein
ac3bff9351
fix nginx to fall through to PHP for dynamic assets like theming CSS
...
Static file locations were returning hard 404s instead of falling
through to PHP, which broke dynamically generated assets like
theming CSS files.
2026-03-22 17:49:45 +01:00
Thomas Gräfenstein
d88a8db9f1
fix nginx rewrite loop causing slow page loads and 500 errors
...
Static file locations now return 404 instead of falling through to
index.php, and the default location uses a clean rewrite to prevent
/index.php/index.php redirect cycles.
2026-03-22 17:19:34 +01:00
Thomas Gräfenstein
4329cfd3f2
switch nextcloud to FPM + Nginx for better static file performance
...
Replace the all-in-one Apache image with nextcloud:33-fpm and an Nginx
sidecar that serves static assets directly with gzip compression and
cache headers, avoiding the prefork concurrency bottleneck.
2026-03-22 17:00:33 +01:00