- /files/* back to plain file_server (v2RayTun.zip stays at iscg.dev/files/)
- nix.iscg.dev: file_server browse (directory listing) from /var/www/nix
- DNS nix.iscg.dev A → 51.250.45.111 added via yc dns
Для раздачи временных файлов (например v2RayTun.zip) прямой https-ссылкой.
handle_path stripает /files/ prefix, file_server раздаёт из /var/www/files/.
Не конфликтует с matrix (использует /_matrix/*, /.well-known/matrix).
nix.gc.automatic requires nix.enable=true, but poppy uses the
Determinate nix installer (nix.enable=false). Define a launchd
user agent directly that runs nix-collect-garbage --delete-older-than 14d
weekly at Sun 03:00.
Декларативное правило в /etc/hosts через extraActivation,
чтобы работала короткая ссылка http://pi:30141 на локальный
pi-web (@agegr/pi-web, порт 30141). Идемпотентно.
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 вручную.
teable has no dashboard-icons entry and favicon is 16x16 .ico. Use the
teableio GitHub avatar (420x420 png) placed in /var/lib/homepage-images/.
Next.js caches static file list at container start, so adding images
requires docker restart homepage.
tecnativa/docker-socket-proxy (read-only, CONTAINERS=1, POST=0) exposes
docker API to homepage over compose network. Per-service server/container
in services.yaml → green dot status. statusStyle: dot. Syncthing and
tuwunel-admin are systemd, no container status.
bookmarks.yaml needs href: key (was bare URL → new URL() crash).
jitsi.png -> jitsi-meet.png (proper brand icon in dashboard-icons).
teable has no dashboard-icons entry -> use teable.iscg.dev/favicon.ico.
Background photo (mounted ro from /var/lib/homepage-images into
/app/public/images). cardBlur: md for matte semi-transparent service
cards. opacity 70 to soften the photo.