23 Agustus 2026

Termix: Terminal dan Remote Desktop dari Browser

Termix memusatkan SSH, RDP, dan VNC ke satu dashboard web berbasis Apache Guacamole: terminal multi-panel, file manager SFTP, tunnel, sampai manajemen Docker tanpa client desktop.

Akses ke server homelab sering tersebar di banyak alat: satu SSH client di laptop, aplikasi RDP di desktop, dan browser untuk panel admin. Berubah total saat hanya ada tablet atau browser di perangkat orang lain — tidak ada client terpasang. Termix menjawabnya: aplikasi self-hosted yang menyatukan SSH, remote desktop, file transfer, tunnel, dan manajemen Docker dalam satu dashboard browser.

Mengapa Termix

Kebutuhan awalnya sederhana: satu tempat untuk membuka terminal SSH dan sesi remote desktop dari browser, tanpa menginstal client tambahan di perangkat lokal. Termix adalah proyek open source yang memposisikan diri sebagai alternatif self-hosted untuk Termius, gratis tanpa langganan. Alih-alih mengelola beberapa aplikasi client, cukup satu web UI untuk menyimpan profil host, kredensial, dan sesi aktif.

Yang membuatnya lebih dari SSH client web biasa: selain terminal, ada RDP, VNC, Telnet di browser, file manager SFTP, tunnel SSH lokal/remote/SOCKS, hingga kontrol container Docker dan Podman. “Akses dari mana saja” jadi soal membuka browser, bukan menginstal aplikasi.

Arsitektur: Termix + guacd

Termix tidak berbicara protokol remote desktop sendiri. Bagian itu diserahkan ke guacd (Guacamole Daemon), proxy dari proyek Apache Guacamole yang menerjemahkan protokol asli RDP/VNC/SSH menjadi stream HTML5/WebSocket:

  1. Termix Frontend/API: antarmuka web untuk mengelola host, kredensial, dan sesi; antarmuka React yang berjalan sebagai container Node.js.
  2. guacd (Guacamole Daemon): daemon yang mengodekan protokol native menjadi stream yang bisa dirender browser.

Keduanya bertemu di port 4822, port default guacd; alamatnya diatur lewat environment GUACD_HOST dan GUACD_PORT. Karena pemisahan ini, cukup satu port HTTP yang diekspos; lalu lintas remote desktop tetap di belakang layar.

Deployment dengan Docker Compose

Konfigurasi berikut menjalankan Termix bersanding dengan guacd. Termix dipetakan ke port host 8081, sementara guacd sengaja tidak dipublikasikan ke host — jaringan internal Docker sudah cukup untuk menjangkaunya:

services:
  guacd:
    image: apache/guacd:latest
    container_name: guacd
    restart: unless-stopped

  termix:
    image: ghcr.io/lukegus/termix:latest
    container_name: termix
    restart: unless-stopped
    ports:
      - "8081:8080"
    environment:
      - GUACD_HOST=guacd
      - GUACD_PORT=4822
    volumes:
      - ./termix-data:/app/data
    depends_on:
      - guacd

Setelah docker compose up -d, UI bisa diakses di port yang dipetakan; setup awal memandu pemilihan preset, tema, dan host pertama. Untuk produksi, pin image :latest ke versi spesifik seperti :2.4.0 supaya rilis baru tidak mengejutkan. Data — database SQLite, konfigurasi, kredensial terenkripsi — tersimpan di volume ./termix-data; PostgreSQL dan MySQL didukung untuk database eksternal.

Keamanan dan Operasional

  • Autentikasi: login lokal plus OIDC, LDAP, GitHub, dan Google, dengan dukungan 2FA TOTP dan passkey (WebAuthn). Aktifkan sebelum mengekspos UI ke jaringan yang lebih luas.
  • Kredensial terenkripsi per user: password dan SSH key dienkripsi per pengguna, dan file database bisa dienkripsi di disk.
  • Jangan ekspos guacd: daemon menerima koneksi tanpa autentikasi sendiri; biarkan hanya di jaringan internal Docker dan jangan petakan portnya ke host.
  • TLS: sertifikat otomatis dengan redirect HTTPS, atau reverse proxy (Caddy, Nginx) di depan port HTTP.
  • Telemetry: secara default Termix mengirim ping anonim kecil setiap hari; matikan dengan ENABLE_TELEMETRY=false sebelum start pertama jika tidak diinginkan.

Kelebihan yang terasa

  • Terminal multi-tab dengan split screen — sampai enam panel sekaligus, dengan toolbar berisi CPU, memory, dan disk host.
  • Remote desktop (RDP/VNC) di tab yang sama, plus file browser untuk drive RDP dan upload drag-and-drop.
  • File manager SFTP untuk browsing, edit, upload/download, dan menyalin file antar-server.
  • Tunnel SSH — lokal, remote, dan SOCKS dinamis dengan auto-reconnect.
  • Manajemen container Docker/Podman — start, stop, buka shell — tanpa keluar dashboard.
  • Rekaman sesi untuk terminal, RDP, dan VNC, dengan pemutaran ulang dan log koneksi per sesi.

Keterbatasan yang jujur

  • Satu titik konsentrasi kredensial. Semua password dan kunci host disimpan di satu aplikasi; kompromi web UI berarti akses ke seluruh infrastruktur. Enkripsi per user meringankan, tapi risiko tetap terpusat.
  • Bergantung pada guacd. RDP/VNC/Telnet butuh daemon eksternal; jika guacd mati, fitur remote desktop berhenti meski terminal tetap jalan.
  • Fitur sangat luas. Imbasnya kurva belajar dan UI yang padat; automations, fleets, dan AI assistant kemungkinan tidak terpakai di setup kecil.
  • Satu mesin, satu failure domain. Di homelab satu mesin, Termix dan server yang dikelola sering berbagi storage dan jaringan; jika mesin mati, alat untuk memperbaikinya ikut mati. Dokumentasi menyarankan menjalankan Termix di luar jaringan yang dikelola, misalnya di VPS.
  • Telemetry default on dan AI assistant opsional; keduanya perlu diperiksa dan dimatikan sesuai kebijakan.

Kesimpulan

Termix menyelesaikan masalah nyata: akses SSH dan remote desktop dari browser, dalam satu dashboard yang rapi, tanpa client tambahan. Untuk homelab satu mesin, ia nyaman dipakai untuk terminal, file manager, dan sesi RDP/VNC sesekali — selama kredensial dijaga ketat, UI dilindungi autentikasi kuat plus TLS, dan guacd tetap internal. Ia bukan pengganti VPN, dan titik konsentrasi kredensialnya harus disadari; dengan mitigasi itu, Termix menjadi salah satu pintu akses remote paling praktis.

Referensi