Termix is an open-source, self-hosted platform designed to simplify server and infrastructure management through a unified web-based interface. It consolidates essential DevOps tasks—SSH terminal access, remote file management, Docker container control, and SSH tunneling—into a single, intuitive application. Built with React, Tailwind CSS, and Shadcn, Termix provides a modern UI that works seamlessly across web, desktop (Windows, macOS, Linux), and mobile (iOS/Android) platforms. It targets system administrators, DevOps engineers, and developers who need secure, centralized access to multiple servers without relying on proprietary tools like Termius. With built-in encryption, RBAC, and OIDC/2FA authentication, Termix offers enterprise-grade security while remaining free to use.
What You Get
- SSH Terminal Access - Full-featured terminal with split-screen support (up to 4 panels), tabbed sessions, customizable themes and fonts, command history with auto-complete, and keyboard-driven command palette (double-tap left shift).
- SSH Tunnel Management - Create and manage local (-l) and remote (-r) SSH tunnels with automatic reconnection and health monitoring, including support for jump hosts and Warpgate.
- Remote File Manager - Browse, edit, upload, download, rename, move, and delete files on remote servers with sudo privileges; supports code, images, audio, and video files directly in-browser.
- Docker Management - Start, stop, pause, and remove containers; view real-time stats and execute commands inside running containers via integrated docker exec terminal (not intended as a full Portainer replacement).
- SSH Host Manager - Save, organize, and tag SSH connections with reusable credentials; automate SSH key deployment and manage jump hosts.
- Server Stats Dashboard - Monitor CPU, memory, disk usage, network traffic, uptime, system info, firewall rules, and open ports on Linux-based servers in real time.
- RBAC & User Authentication - Role-based access control to share hosts across users; supports local accounts, OIDC integration, and TOTP-based 2FA with session monitoring and revocation.
- Database Encryption - All data (SSH hosts, credentials, file manager state) is stored in encrypted SQLite files—see security docs for details.
- Automatic SSL Setup - Built-in Let’s Encrypt certificate generation and HTTPS redirection with no manual configuration required.
- Multi-Platform Support - Available as a web app, PWA, desktop apps (Windows MSI/Portable, Linux AppImage/Deb/Flatpak/AUR, macOS DMG/Homebrew), and native mobile apps (iOS/Android).
- Command Snippets & Multi-Server Execution - Create reusable command snippets and run the same command across multiple open SSH terminals simultaneously.
- Data Export/Import - Fully export and import SSH hosts, credentials, and file manager data for backup or migration.
- Multi-Language Support - Interface translated into ~30 languages via Crowdin, with community-driven translation management.
- Network Graph Dashboard - Visualize your homelab or infrastructure topology based on SSH connections with live status indicators.
Common Use Cases
- Building a homelab dashboard - System administrators use Termix to monitor and manage multiple Raspberry Pis, NAS devices, and VPS instances from a single web interface with real-time stats and SSH access.
- Managing remote development servers - Developers working on cloud-hosted environments use Termix’s file editor and terminal to quickly edit config files, restart services, and debug applications without leaving their browser.
- Security-conscious teams deploying SSH access - DevOps teams needing to audit and control who can access which server use Termix’s RBAC, 2FA, and encrypted storage to meet compliance requirements while avoiding cloud-based SSH clients.
- Mobile-first server troubleshooting - On-call engineers use the Termix mobile app to connect to a failed server via SSH, view logs, and restart services from their phone while off-site.
Under The Hood
Termix is a cross-platform desktop application that combines SSH terminal access, file management, and system monitoring into a unified interface. Built with modern web technologies and Electron, it provides a powerful terminal-based solution for developers and system administrators.
Architecture
The project adopts a monolithic architecture with clear separation between frontend and backend components, enabling modular development and maintainability.
- The system is structured into distinct modules handling SSH operations, database interactions, and user authentication
- Middleware patterns are employed for consistent authentication flow across components
- Component-based UI rendering ensures scalable and reusable frontend elements
Tech Stack
The tech stack centers around TypeScript, React, and Electron to deliver a feature-rich desktop experience with modern web standards.
- The frontend is built using React and TypeScript, supported by Vite for fast development and builds
- Electron is used to package the application for cross-platform deployment
- Backend services integrate with Express, Drizzle ORM, and SSH2 to support terminal and file operations
- Development tools include ESLint, Prettier, Husky, and lint-staged for code quality and automated checks
Code Quality
The codebase reflects matured practices with an emphasis on type safety, component modularity, and system-level integration.
- Strong use of TypeScript enhances code reliability and developer experience
- Code linting and formatting tools are consistently applied across the project
- Component architecture supports scalable UI development with clear separation of concerns
- Modern backend services are built with structured database access and utility classes
What Makes It Unique
Termix distinguishes itself through its integration of terminal, file management, and system monitoring in a single desktop application.
- Combines SSH terminal access with native file management and real-time system monitoring capabilities
- Leverages modern UI component libraries such as Radix UI and shadcn for polished interfaces
- Offers a cross-platform solution that bridges web-based development tools with native desktop functionality