Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/Termix-SSH/Termix/llms.txt

Use this file to discover all available pages before exploring further.

Termix supports several installation methods. Docker Compose is the recommended approach for running the Termix server, as it handles all dependencies in a single file and makes upgrades straightforward. Native desktop and mobile clients are also available for every major platform and can connect to any self-hosted Termix server. The Docker image is published at ghcr.io/lukegus/termix:latest. The compose file below includes guacd, which is required for RDP and VNC remote desktop support. You can omit guacd and the termix-net network if you don’t plan to use remote desktop features.
1

Create a docker-compose.yml file

Copy the following into a new docker-compose.yml file in a directory of your choice:
docker-compose.yml
services:
  termix:
    image: ghcr.io/lukegus/termix:latest
    container_name: termix
    restart: unless-stopped
    ports:
      - "8080:8080"
    volumes:
      - termix-data:/app/data
    environment:
      PORT: "8080"
    depends_on:
      - guacd
    networks:
      - termix-net

  guacd:
    image: guacamole/guacd:1.6.0
    container_name: guacd
    restart: unless-stopped
    ports:
      - "4822:4822"
    networks:
      - termix-net

volumes:
  termix-data:
    driver: local

networks:
  termix-net:
    driver: bridge
The guacd container (Apache Guacamole Daemon) is required for RDP and VNC remote desktop sessions. If you only need SSH terminal access, you can remove the guacd service, its ports entry, the depends_on block from termix, and the networks sections entirely.
2

Start the containers

Run the following command in the same directory as your docker-compose.yml:
docker compose up -d
Docker will pull the termix and guacd images on first run. This may take a minute depending on your connection speed.
3

Open Termix in your browser

Navigate to http://<your-server-ip>:8080 in any modern browser. On first load, you will be prompted to create an admin account.
To access Termix over HTTPS, set ENABLE_SSL=true in the environment block and optionally set SSL_DOMAIN to your server’s hostname. Termix will auto-generate a self-signed certificate on first start.

Environment variables

VariableDefaultDescription
PORT8080Port the Termix web UI listens on.
ENABLE_SSLfalseSet to true to enable HTTPS with automatic certificate generation.
SSL_PORT8443Port for the HTTPS listener when SSL is enabled.
SSL_DOMAINlocalhostDomain name used when generating the SSL certificate.
SSL_CERT_PATH/app/data/ssl/termix.crtPath to a custom SSL certificate file.
SSL_KEY_PATH/app/data/ssl/termix.keyPath to a custom SSL private key file.
PUID1000User ID the Termix process runs as inside the container.
PGID1000Group ID the Termix process runs as inside the container.
All Termix data (database, uploads, SSL certificates) is stored in the termix-data volume mounted at /app/data. Do not remove this volume when updating Termix or you will lose your configuration.

Updating Termix

To update to the latest image, pull the new version and recreate the container:
docker compose pull && docker compose up -d
Your data volume is preserved across updates.

Native client installation

The Termix desktop and mobile clients can connect to any self-hosted Termix server, or run standalone without a backend for SSH-only use.
See the Docker Compose instructions above. This is the recommended method for running the Termix server.Supported: Any Linux, Windows, or macOS host with Docker Engine or Docker Desktop installed.

Mobile

PlatformMethod
iOS/iPadOS (v15.1+)Apple App Store or IPA sideload
Android (v7.0+)Google Play Store or APK sideload

Browser (PWA)

Any modern browser (Chrome, Safari, Firefox) can access the Termix web UI directly. You can also install it as a Progressive Web App (PWA) from your browser’s install prompt for an app-like experience without downloading a native client.

Build docs developers (and LLMs) love