From 1193504a1e1e4b3a9cc09a6d0e04d5942d77c82f Mon Sep 17 00:00:00 2001 From: Daniel Maksymilian Syrnicki Date: Tue, 28 Apr 2026 12:09:26 +0200 Subject: [PATCH] perf(site): gzip CSS, JS, SVG and fonts on the furtka.org nginx MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Default nginx only gzips text/html, so the homepage HTML was the only asset coming back compressed. The ~600 KB three.min.js bundle (and the hashed CSS) were being shipped uncompressed across the public openresty proxy. `gzip_types` now covers css/js/json/xml/svg/woff2. Needs `sudo ops/nginx/setup-vm.sh` on forge-runner-01 to take effect — the site-deploy workflow only rebuilds Hugo, it doesn't touch the nginx config. Co-Authored-By: Claude Opus 4.7 (1M context) --- ops/nginx/furtka.org.conf | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/ops/nginx/furtka.org.conf b/ops/nginx/furtka.org.conf index 19aa68b..ceb94ea 100644 --- a/ops/nginx/furtka.org.conf +++ b/ops/nginx/furtka.org.conf @@ -8,6 +8,23 @@ server { charset utf-8; + gzip on; + gzip_vary on; + gzip_min_length 1024; + gzip_comp_level 6; + gzip_types + text/css + text/plain + text/xml + application/javascript + application/json + application/xml + application/rss+xml + application/atom+xml + image/svg+xml + font/woff + font/woff2; + location / { try_files $uri $uri/ $uri.html =404; }