I built a persistent terminal "deck" that watches my machines over plain ssh and follows me from desktop to phone
Phosphor Deck is an open-source setup around zellij that turns one machine that stays on (the "brain") into a persistent terminal session: your other machines' health, their files, your notes and the TUIs you already use, in tabs laid out once from a single TOML profile. Leave from your desktop, open it on your phone, and you're exactly where you were.
What it does:
- **Fleet panel**: CPU, RAM, disks, containers, failed systemd units, pending (security) updates, SMART, CPU temperature. Read over plain ssh: nothing is installed on the watched machines, no agents, no daemons.
- **Your files**: every machine's disks show up as folders under `~/fleet` (rclone sftp mounts through your own ssh keys). Nothing is copied.
- **Any screen**: `deck` on another computer, a Termux kit for Android (scan a QR), or `ssh -t` from anything. It reconnects by itself, and a phone can get its own layout.
- **Notes from anywhere**: Alt-j from any tab, tagged with where you were. It can live in a folder you already sync (Obsidian, Syncthing).
- **Alerts**: a host going down or a disk failing pushes to your phone through ntfy (self-hostable), if you turn it on.
- **Browser access**: optional and off by default. Tailnet only (`tailscale serve`, never `funnel`), with a login token.
Install (no root, static binaries into `~/.local/bin`, then a wizard):
curl -fsSL https://raw.githubusercontent.com/rsmedrano-cloud/phosphor-deck/main/install.sh | sh
Want to look first? `phosphor demo` runs it over made-up machines and a made-up notebook. That's what the video shows, so the hosts in it aren't real.
What it isn't: not a web dashboard, no telemetry, nothing listening by default.
Repo: https://github.com/rsmedrano-cloud/phosphor-deck
Manual: https://rsmedrano-cloud.github.io/phosphor-deck/
I'd love feedback, especially on what's confusing during the first install.