heather: add pi-web service + Caddy vhost pi.iscg.dev with basicauth

pi-web (agegr/pi-web, npm @agegr/pi-web) — web UI для pi coding agent.
systemd service на 127.0.0.1:30141, Caddy pi.iscg.dev терминирует TLS +
basicauth (bcrypt, пароль в pass iscg.dev/pi-web/auth).
nodejs в systemPackages; pi и pi-web ставятся в ~/.npm-global вручную.
This commit is contained in:
mikl 2026-07-13 13:21:34 +03:00
commit 87faa84104
3 changed files with 63 additions and 0 deletions

View file

@ -19,6 +19,14 @@ let
# (на heather: nix-shell -p caddy --run 'caddy hash-password ...')
# Защищает syncthing GUI снаружи (GUI слушает только 127.0.0.1:8384,
# Caddy проксирует sync.iscg.dev + basicauth).
# pi-web basicauth. Пароль в pass iscg.dev/pi-web/auth (plaintext).
# Hash сгенерить на heather: nix-shell -p caddy --run 'caddy hash-password --plaintext ...'
piBasicAuth = ''
basicauth {
mikl $2a$14$yqYiMGLvtPs0sLRZhu1/VOfiRO.CARIBcGGrFpo4iwOd9s4o4IVCy
}
'';
syncBasicAuth = ''
basicauth {
mikl $2a$14$ozHN9/aa4VhPX43NN8MKdODKvOoJ5MBpOUFhzkxwvb58ZI5b6eqEK
@ -93,6 +101,12 @@ in {
"home.iscg.dev".extraConfig = ''
reverse_proxy 127.0.0.1:3002
'';
# pi-web (web UI для pi coding agent)
# basicauth защищает весь vhost включая SSE /api/agent — leak нет.
"pi.iscg.dev".extraConfig = piBasicAuth + ''
reverse_proxy 127.0.0.1:30141
'';
};
};
}