r/ssh

▲ 32 r/ssh+2 crossposts

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.

u/PressureFine6804 — 6 days ago