Install with Docker
FusionTerm runs as a Docker container on any Linux, macOS or Windows machine that has Docker. The image is hammadsaqib/fusionterm on Docker Hub, for Intel/AMD and ARM servers.
Quick start (SSH only)
docker run -d --name fusionterm -p 5577:5577 \
-e FORCE_SECURE_COOKIE=false -e TRUST_PROXY=false \
-v fusionterm-data:/data \
--restart unless-stopped \
hammadsaqib/fusionterm:latest
Open http://<your-server>:5577 and create the admin account.
Note: FORCE_SECURE_COOKIE=false lets you sign in over plain http:// while you try FusionTerm, and TRUST_PROXY=false tells it there's no proxy in front (so nobody can fake their address to get around the sign-in limits). For real use, put it behind HTTPS and remove both — see Run it behind HTTPS.
Full install (SSH and RDP) with Docker Compose
Windows desktops (RDP) need a small gateway called guacd running next to FusionTerm. Save this as docker-compose.yml:
services:
fusionterm:
image: hammadsaqib/fusionterm:latest
ports:
- "5577:5577"
environment:
GUACD_HOST: guacd
FORCE_SECURE_COOKIE: "false" # plain-HTTP evaluation only
TRUST_PROXY: "false" # no proxy in front (remove both once behind HTTPS)
volumes:
- fusionterm-data:/data
depends_on:
- guacd
init: true
restart: unless-stopped
guacd:
image: guacamole/guacd:1.6.0
platform: linux/amd64
restart: unless-stopped
volumes:
fusionterm-data:
Then, in the same folder:
docker compose up -d
Using Docker Desktop's Run button
If you start the image from Docker Desktop instead of a command, open Optional settings and set:
| Setting | Value |
|---|---|
| Host port | 5577 |
| Volume | fusionterm-data → /data |
| Environment variables | FORCE_SECURE_COOKIE = false and TRUST_PROXY = false |
Without the host port, FusionTerm isn't reachable; without the variable, signing in over http:// doesn't stick.
Use a different port
Change the left side of the port mapping, for example -p 8080:5577, and open http://<your-server>:8080.
The one-line installer (curl -fsSL https://fusionterm.com/install.sh | sh) picks the port for you: 5577, or the next free one (5578, 5579, …) if another program already uses it. It prints the address at the end and keeps the same port when you run it again. To choose the port yourself, run it with FUSIONTERM_PORT=8080.
Where your data is
Everything — the database, the key that encrypts saved passwords, and the sign-in secret — is in the fusionterm-data volume. Back it up; see Updates and backups.