Pull Docker Compose configs for discord-bots VM, foundry-lxc LXC, and termix. Add pihole and orbital-sync compose files for ubuntu-manticore. Back up LXC 223 (foundry) Proxmox config. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| docker-compose.yml | ||
| homelab-hosts-import.json | ||
| README.md | ||
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