11 Commits

Author SHA1 Message Date
Thomas Gräfenstein
b5c5c11114 ensure monitoring stack starts before all other services 2026-03-22 22:55:42 +01:00
Thomas Gräfenstein
a02f33e96e move text compression from Caddy to nginx for lower latency
Nginx is closer to the origin, so compressing there avoids an
extra hop. Removes the Caddy encode block for Nextcloud and adds
gzip in nginx with level 4 targeting text, CSS, JS, JSON, XML, SVG.
2026-03-22 21:08:40 +01:00
Thomas Gräfenstein
fb1de4f079 limit Caddy compression to text content types to fix slow file downloads
Caddy was compressing all responses including binary file downloads
(PDFs, images, videos), which severely throttled download speed to
~130KB/s despite 30MB/s VPS bandwidth. Now only compresses text-based
types (HTML, CSS, JS, JSON, XML, SVG) where compression actually helps.
2026-03-22 20:26:03 +01:00
Thomas Gräfenstein
3bf80f6940 disable file compression temporary 2026-03-22 20:20:37 +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
0088c11d5e enable Caddy response compression to fix slow page loads
Caddy was decompressing nginx's gzip responses and sending them
uncompressed to the browser, causing core-common.js (5.7MB) to
take 25s to download. Adding encode zstd gzip compresses it to
1.3MB at the edge.
2026-03-22 17:43:24 +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
Thomas Gräfenstein
c0c20a42ed add gzip/zstd compression and Redis caching for Nextcloud performance 2026-03-22 16:47:02 +01:00
Thomas Gräfenstein
89b806fd5b fix more issues 2026-03-22 12:29:58 +01:00
Thomas Gräfenstein
0f12c5f5a8 added basic caddy rate limits 2026-03-22 12:22:00 +01:00
Thomas Gräfenstein
e12cdb6e68 caddy setup 2026-03-22 12:04:10 +01:00