A desktop app to run Linux servers: SSH terminal, files, monitoring, Docker, databases, nginx sites, backups and security audit. Everything goes over SSH: no web panel to install, no port to open. Built to replace PuTTY on my own VPS, it is released as open source.
- platforms (Windows, macOS, Linux)
- 3
- ports opened on the server
- 0
- Rust tests
- 176
What I built
- SSH terminal on persistent tmux sessions, with tabs and splits, a file panel that follows the working directory, and input broadcast to several servers.
- Server topology at a glance: subdomain → nginx or Apache vhost → port → container, with TLS certificates and configuration history.
- Full Docker support: containers, logs, compose projects, a one-click app catalogue, and deployment with automatic rollback.
- MySQL, PostgreSQL, SQLite and Redis explorer, encrypted restic backups and a security audit with guided fixes.
- zenyttd, a monitoring agent in Rust (a 2 MB static binary): 30 days of history and Discord alerts, even with the PC switched off.
- An AI assistant (Claude, OpenAI-compatible or a local model) whose every command is approved, plus a read-only MCP server.
- Shared terminals and multi-device sync, end-to-end encrypted (AES-256-GCM).
- Automated releases: signed installers for Windows, macOS and Linux, built-in updates, winget, Homebrew, AUR and Flatpak.
The challenges
Never break production
Every nginx write runs the same server-side script: backup, write, nginx -t, reload, and an exact restore on failure. For SSH and the firewall, a control connection stays open and the change reverts itself if it cuts access.
One channel: SSH
The agent only listens on a unix socket, queried through the SSH connection. Secrets stay in the OS keychain and never leave the Rust side: the UI never talks to a server directly.
Testing against a fake VPS
A Docker-in-Docker environment (sshd, nginx, sudo, fail2ban) is the target of end-to-end tests, run in CI alongside clippy, Rust tests and a dependency audit.
Stack
- Rust
- Tauri 2
- React 19
- TypeScript
- SSH / SFTP
- Docker
- tmux
- MCP
- Year
- 2026
- Type
- Desktop app
- Source code
- GitHub