|
All checks were successful
Reindex Knowledge Base / reindex (push) Successful in 3s
Adds title, description, type, domain, and tags frontmatter to every doc for improved KB semantic search. The description field is prepended to every search chunk, and domain/type/tags enable filtered queries. Type values: context, guide, runbook, reference, troubleshooting Domain values match directory structure (networking, docker, etc.) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| docker-compose.yml | ||
| homelab-hosts-import.json | ||
| README.md | ||
| title | description | type | domain | tags | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Termix SSH Management Platform | Setup and configuration reference for Termix, a self-hosted web-based SSH management platform on LXC 210 (10.10.0.210:8180). Covers deployment, host import, terminal/file/Docker features, RBAC/2FA security, NPM integration, backup/restore, and troubleshooting. | reference | server-configs |
|
Termix - SSH Server Management Platform
LXC 210 (n8n) | 10.10.0.210:8180 | termix.manticorum.com
Self-hosted, open-source alternative to Termius for comprehensive SSH server management with web-based terminal, file management, Docker control, and monitoring.
Quick Info
| Property | Value |
|---|---|
| Type | Docker container on n8n LXC |
| Host OS | Ubuntu (LXC 210) |
| Host IP | 10.10.0.210 |
| Port | 8180 (internal) |
| Public URL | https://termix.manticorum.com |
| Termix Version | 1.11.0 (via Docker) |
| Reverse Proxy | Nginx Proxy Manager (10.10.0.16) |
Deployment Details
- Deployed on: Existing n8n LXC (210) to save resources
- Shares container with: n8n, omni-tools
- Docker compose:
/opt/termix/docker-compose.yml - Data directory:
/opt/termix/data/
Services
Termix Web App
- Port: 8080 (internal)
- Tech Stack: TypeScript/React, SQLite database
- Data:
/opt/termix/data(encrypted SQLite) - Config: Environment variables in docker-compose
Docker Engine
- Required to run Termix container
- Manages Termix app lifecycle
Management
Access Container
ssh root@10.10.0.210
# or via Proxmox
pct enter 210
Service Management
# Status
cd /opt/termix
docker compose ps
# Restart
docker compose restart
# Logs
docker compose logs -f
# Stop/Start
docker compose down
docker compose up -d
View Termix Logs
docker compose logs -f termix
Configuration
Docker Compose Location
/opt/termix/docker-compose.yml
Environment Variables
Created in /opt/termix/.env (if needed):
# Termix configuration
TERMIX_PORT=8080
# Add any custom env vars as needed
Data Persistence
All Termix data is stored in /opt/termix/data:
- Database: Encrypted SQLite with server credentials
- SSH Keys: Generated and managed by Termix
- User Settings: RBAC, 2FA settings, preferences
Features & Usage
SSH Terminal
- Full-featured web terminal with split-screen (up to 4 panels)
- Tab-based interface for multiple sessions
- Copy/paste support
- Session reconnection
SSH Tunneling
- Create local and remote tunnels
- Automatic reconnection with health monitoring
- Persistent tunnel configuration
File Management
- Upload/download files via web interface
- Remote file editing with syntax highlighting
- View code and media files directly
- Directory navigation and operations
Docker Management
- List containers across connected servers
- Start/stop/pause/remove containers
- Exec into containers with web terminal
- View container logs and stats
Server Monitoring
- Real-time CPU, memory, disk, network usage
- Server uptime tracking
- Firewall status visibility
- Custom dashboards with network graphs
Host Management
- Save SSH connections with tags and folders
- Automated SSH key deployment
- Organize servers by environment, project, or location
- Quick connect from saved hosts
Security Features
- RBAC: Role-based access control for multi-user
- 2FA: TOTP authentication support
- OIDC: Single sign-on integration
- Encryption: All credentials encrypted in database
Initial Setup
First Login
- Navigate to https://termix.manticorum.com
- Create admin account on first run
- Important: Enable 2FA immediately after account creation
Add Your First Server
- Click "Add Host" or "+"
- Enter connection details:
- Hostname: Server IP or hostname (e.g.,
10.10.0.33) - Port: 22 (default SSH)
- Username: SSH user (e.g.,
calorroot) - Auth: SSH key (recommended) or password
- Hostname: Server IP or hostname (e.g.,
- Test connection
- Organize with tags (e.g.,
proxmox,docker,production)
Deploy SSH Keys
Termix can generate and deploy SSH keys to your servers:
- Generate key pair in Termix
- Use "Deploy SSH Key" feature
- Termix will add the key to
~/.ssh/authorized_keyson target server
Organize Servers
Create folders for organization:
- By Environment:
production/,development/,homelab/ - By Function:
docker-hosts/,databases/,proxmox/ - By Location:
local/,cloud/
Quick Import: All Home Lab Servers
A pre-configured JSON import file is available with all your home lab servers:
File: server-configs/termix/homelab-hosts-import.json
Import Instructions
- Log into Termix at https://termix.manticorum.com
- Go to Settings → Import/Export
- Click Import Hosts
- Upload
homelab-hosts-import.json - All 12 servers will be imported with:
- Organized folders (Infrastructure, LXC Containers, VMs, Cloud)
- Appropriate tags for filtering
- Docker management enabled for Docker hosts
- File manager with correct default paths
- System monitoring enabled
- Database tunnel pre-configured for strat-database
After Import: Configure SSH Keys
The import uses SSH key authentication. After importing:
- Go to each host in Termix
- Edit host settings
- Add your SSH private key or generate a new one in Termix
- Use Termix's "Deploy SSH Key" feature to add keys to servers
Or use password authentication temporarily:
- Edit each host and change
authTypeto "password" - Add password in the password field
- Later switch to SSH keys for security
Included Servers
| Server | IP | User | Folder | Features |
|---|---|---|---|---|
| proxmox | 10.10.0.11 | root | Infrastructure | ⭐ Pinned, Monitoring |
| ubuntu-manticore | 10.10.0.226 | cal | Physical Servers | ⭐ Pinned, Docker, Media |
| n8n | 10.10.0.210 | root | LXC Containers | ⭐ Pinned, Docker, Automation |
| discord-bots | 10.10.0.33 | cal | Virtual Machines | Docker, Dev Bots |
| sba-bots | 10.10.0.88 | cal | Virtual Machines | ⭐ Pinned, Docker, Production |
| strat-database | 10.10.0.42 | cal | Virtual Machines | Docker, Database, Tunnel |
| arr-stack | 10.10.0.221 | root | LXC Containers | Docker, Media Automation |
| foundry-lxc | 10.10.0.223 | root | LXC Containers | Docker, Gaming |
| openclaw | 10.10.0.224 | root | LXC Containers | Docker, AI Assistant |
| gitea | 10.10.0.225 | root | LXC Containers | Git Server, CI/CD |
| home-assistant | 10.0.0.28 | root | Virtual Machines | Smart Home |
| akamai | 172.237.147.99 | root | Cloud Servers | Docker, Public Cloud |
Backup
What to Backup
- Termix database:
/opt/termix/data/(contains all settings, credentials, SSH keys) - Docker compose:
/opt/termix/docker-compose.yml - Environment:
/opt/termix/.env(if exists)
Backup Commands
# Full data directory (includes encrypted database)
tar -czf termix-backup-$(date +%Y%m%d).tar.gz /opt/termix
# Database only
cp /opt/termix/data/termix.db /backups/termix-db-$(date +%Y%m%d).db
Restore
# Stop Termix
cd /opt/termix
docker compose down
# Restore data
tar -xzf termix-backup.tar.gz -C /
# Start Termix
docker compose up -d
Upgrades
Update Termix
cd /opt/termix
# Pull latest image
docker compose pull
# Restart with new image
docker compose down
docker compose up -d
# Check logs for successful start
docker compose logs -f
Check Version
View version in Termix web UI: Settings → About
Integration with NPM
Configure reverse proxy on NPM (10.10.0.16):
- Domain: termix.manticorum.com
- Scheme: http
- Forward Hostname/IP: 10.10.0.210
- Forward Port: 8180
- SSL: Let's Encrypt
- Websockets: ✅ MUST BE ENABLED (required for terminal sessions)
- Block Common Exploits: Enabled
- Cache Assets: Disabled (for real-time terminal)
Troubleshooting
Container won't start
# Check logs
docker compose logs
# Common issues:
# - Port 8080 already in use
# - Missing /opt/termix/data directory
# - Permissions on data directory
Can't connect to servers from Termix
# Ensure Termix container has network access
docker exec -it termix ping 10.10.0.11
# Check SSH from container
docker exec -it termix ssh -v user@server-ip
# Verify firewall rules on target servers
502 Bad Gateway on web
# Check Termix is running and listening
docker compose ps
docker compose logs
# Test local connection
curl http://localhost:8080
# Verify NPM can reach container
curl http://10.10.0.226:8080
Terminal sessions disconnect
- Ensure websockets are enabled in NPM
- Check for network connectivity issues
- Verify Termix auto-reconnect settings
Database corruption
# Stop Termix
docker compose down
# Restore from backup
cp /backups/termix-db-YYYYMMDD.db /opt/termix/data/termix.db
# Start Termix
docker compose up -d
Security Notes
- All credentials are encrypted in SQLite database
- SSH keys are stored securely within Termix
- Enable 2FA for all users
- Use SSH key authentication instead of passwords where possible
- LXC is unprivileged for better isolation
- Termix only accessible via HTTPS through NPM
- Consider restricting NPM access to internal network only
Advanced Configuration
OIDC Integration
For single sign-on with external identity provider:
- Configure OIDC provider (e.g., Authelia, Keycloak)
- Add OIDC settings to Termix via environment variables
- Enable OIDC login in Termix settings
Custom Themes
Termix uses Tailwind/Shadcn UI. Themes can be customized if building from source.
Multi-User Setup
- Create user accounts in Termix admin panel
- Assign roles (Admin, User, Viewer)
- Set per-user server access permissions
- Enforce 2FA for all users
Related Documentation
- Official Termix GitHub
- Termix Documentation (check for wiki)
- Proxmox LXC Config
- Networking Setup
Deployment Date
Created: 2026-02-03 By: Claude Code (Proxmox Skill) Tech: Termix (Docker) on Ubuntu 22.04 LXC
Next Steps
After deployment:
- ✅ Create LXC 226 on Proxmox
- ✅ Install Docker and Docker Compose
- ✅ Deploy Termix via docker-compose
- ⬜ Configure NPM reverse proxy
- ⬜ Set up first admin account
- ⬜ Enable 2FA
- ⬜ Add home lab servers to Termix
- ⬜ Deploy SSH keys to managed servers
- ⬜ Organize servers with tags and folders
- ⬜ Test terminal, file management, Docker control features