TUI SSH monitor for Synology DSM 7.x
Find a file
2026-09-10 14:22:04 +02:00
.github/workflows ci: stash rendered formula before checkout in source-repo commit step 2026-06-13 18:02:07 +02:00
dsmview fix(services): scrolling, cursor persistence and visible controls 2026-06-17 20:51:44 +02:00
Formula chore: refresh formula for v0.3.1 2026-06-17 18:52:15 +00:00
.gitignore feat: initial dsmview - TUI SSH monitor for Synology DSM 7.x 2026-06-13 16:12:58 +02:00
LICENSE feat: initial dsmview - TUI SSH monitor for Synology DSM 7.x 2026-06-13 16:12:58 +02:00
pyproject.toml fix(services): scrolling, cursor persistence and visible controls 2026-06-17 20:51:44 +02:00
README.md docs: update install instructions for Forgejo 2026-09-10 14:22:04 +02:00

dsmview

TUI SSH monitor for Synology DSM 7.x — read-only dashboard inspired by btop.

Installation

macOS (Homebrew)

brew tap janvete/tools https://git.janvete.com/seth/homebrew-tools.git
brew install dsmview

Debian / Ubuntu (APT)

echo "deb [trusted=yes] https://git.janvete.com/seth/apt/raw/branch/main ./" | sudo tee /etc/apt/sources.list.d/janvete.list
sudo apt update
sudo apt install dsmview

From source

git clone ssh://git@git-ssh.janvete.com:554/seth/dsmview.git
cd dsmview
pip install .

Usage

dsmview ssh -p334 root@192.168.1.100
dsmview ssh root@192.168.1.100      # default port 22
dsmview ssh nas-home                # alias from ~/.ssh/config
dsmview ssh -i ~/.ssh/id_nas root@IP

Reads ~/.ssh/config (HostName, Port, IdentityFile, ProxyJump). Tries id_ed25519, id_ecdsa, id_rsa, then the SSH agent. Falls back to a password prompt only when no key works.

Read-only philosophy

The application only reads data from the NAS. No agent is installed, no configuration is touched. The single exception is start/stop/restart of a service — and that requires explicit confirmation in the UI.

Tabs

  • F1 Dashboard — CPU history graph, memory, storage pools, network throughput, load average, temperatures, services summary and disk health.
  • F2 Logs — live tail of system, auth and package logs (including Active Backup) with severity filters and text search.
  • F3 Services — systemctl service list with up/down status and start/stop/restart actions.

Keys

F1..F3       switch tab
r            refresh now
q            quit
/            focus log search
ESC          clear log search
Logs tab:
  a / 1-4    severity filter (All / Error / Warn / Security / Info)
Services tab:
  ↑/↓        select service
  s          start
  S          stop
  R          restart
  (or use the Start / Stop / Restart buttons)

Requirements

  • Python 3.12+
  • Synology DSM 7.x with SSH enabled and a user that can run system commands (typically root or a user in administrators).