Commit graph

2 commits

Author SHA1 Message Date
Local Dev
3d863b5fe6 Pithos on Linux desktops: per-user s3d paths
s3d's Linux defaults (/etc/s3d/s3d.yml, /var/lib/s3d) are for a system
service; a desktop user cannot write them, so the desktop app could
never create its config. When no system config exists and those places
are not writable, Pithos uses ~/.config/s3d/s3d.yml and
~/.local/share/s3d (XDG), and writes the directory into the new config
so s3d itself, started with S3D_CONFIG_FILE, uses the same place.
2026-10-04 22:41:10 +02:00
Local Dev
6b8eeaf82b Pithos: a control panel for s3d, the Sia S3 gateway
s3d is driven entirely by a CLI and a two-route admin API, which keeps
Sia storage out of reach for anyone who does not live in a terminal.
Pithos wraps it: install the pinned s3d release (checksum verified),
start/stop and logs, indexer login, users and access keys, a bucket and
object browser with share links and public-read policies, and the
upload pipeline stats.

One control server (core/) serves one UI (ui/), and three hosts run it:
a web console, an Electron desktop window and a Theseus add-on, so a
feature lands everywhere at once. The server binds loopback, rejects
foreign Host headers, and signs views in with a one-time secret that
becomes a SameSite=Strict cookie. s3d login reads the recovery phrase
with term.ReadPassword, so it is driven through a pty, with a console
window fallback where the pty module is not shipped.
2026-10-03 19:02:50 +02:00