From b7de0f2a63405f9b499218fbd9bfb781f3535d4d Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Fri, 10 Apr 2026 15:57:04 +0300 Subject: f3s skill: document Pi lighttpd config and Host-based virtual hosting Amp-Thread-ID: https://ampcode.com/threads/T-019d7766-909d-741c-bcb9-1e1e931f1e1b Co-authored-by: Amp --- prompts/skills/f3s/SKILL.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'prompts') diff --git a/prompts/skills/f3s/SKILL.md b/prompts/skills/f3s/SKILL.md index 11e21ae..8c0315b 100644 --- a/prompts/skills/f3s/SKILL.md +++ b/prompts/skills/f3s/SKILL.md @@ -67,6 +67,26 @@ Current role split: - `pi0` and `pi1` serve static `f3s.buetow.org` content behind OpenBSD `relayd` over WireGuard - `pi2` and `pi3` remain available for Pi-specific services and experiments +### lighttpd Configuration + +Config file: `/etc/lighttpd/lighttpd.conf` (managed directly on pi0/pi1, not in a config repo) + +- Document root: `/var/www/html` +- SSH access: `ssh paul@piN.lan.buetow.org -p 22` +- Host-based virtual hosting maps domains to subdirectories: + - `snonux.foo` / `www.snonux.foo` → `/var/www/html/snonux` + +**Why Host-based vhosts?** `relayd` on the OpenBSD frontends cannot rewrite URL paths. It forwards requests with the original path intact. To serve a subdirectory as root for a domain, lighttpd must remap the document root based on the `Host` header. + +Example vhost block: +``` +$HTTP["host"] =~ "^(www\.)?snonux\.foo$" { + server.document-root = "/var/www/html/snonux" +} +``` + +**Note**: The pcre2 JIT warning (`no more memory`) on Pi 3 hardware is harmless — regex matching still works, just without JIT compilation. + ## Config Repository All manifests and config: `https://codeberg.org/snonux/conf` (directory: `f3s/`) -- cgit v1.2.3