Termul Docs
Browser and phone

Install and start termul-server

Run Termul on a server and open it from any browser.

termul-server is Termul without a window. It runs your agents, terminals and git on one machine and serves the Termul app to any browser that connects to it. Use it on a home server, a cloud machine, or your own computer.

Install the server

You can install the server as a single program file or run it in Docker.

Release builds are for Linux on x64 and arm64. Download the one that matches your machine:

case "$(uname -m)" in
	x86_64)        asset=termul-server ;;
	aarch64|arm64) asset=termul-server-linux-aarch64 ;;
	*) echo "Unsupported architecture: $(uname -m)" >&2; exit 1 ;;
esac
curl -fL -o termul-server "https://github.com/gnoviawan/termul/releases/latest/download/$asset"
chmod +x termul-server

The builds need glibc 2.35 or newer, which Ubuntu 22.04 and later have. Distributions that use musl instead of glibc, such as Alpine, aren't supported.

The link above gets the latest stable release. For the nightly build, download from https://github.com/gnoviawan/termul/releases/download/nightly/$asset instead.

Move the file to a folder on your PATH, such as ~/.local/bin, so you can run termul-server from anywhere.

Set it up with the wizard

termul-server onboard asks a few questions, then starts the server in the background so it keeps running after you log out of SSH.

Start the wizard

Run this in a terminal on the server:

termul-server onboard

Press Enter at any question to keep the default shown in brackets.

Answer the questions

  • Bind host. Keep 127.0.0.1 to allow only this machine, for example behind a reverse proxy. Enter 0.0.0.0 to accept connections from other devices.
  • Bind port. The default is 8080.
  • Sessions directory and Projects registry file. Where Termul keeps chat history and your project list. The defaults are in ~/.local/state/termul.
  • Allow non-loopback write peers. Asked only when the host is 0.0.0.0. Answer y to let other devices make changes. See Allow changes from other devices.
  • Update channel. stable, insider, nightly, or none. If you pick a channel, the wizard also asks how often to check, in seconds.

The wizard may also offer to write a settings file, termul-server.env, in the state folder. Answer y so the background server gets the same settings.

Read the summary

The wizard starts the server and prints where to find it:

  • The address, http://localhost:<port>.
  • When the host is 0.0.0.0, the path of the file that holds the access token.
  • How to read the logs and how to stop the server.
  • A command to run the same server in the foreground.

On machines with systemd, the wizard installs a termul-server service. When you run it as root, it is a system service and you manage it with systemctl stop termul-server and journalctl -u termul-server -f. As another user, it is a user service, so add --user to both commands.

On machines without systemd, the wizard starts the server as a background process. The log is termul-server.log and the process ID is in termul-server.pid, both in the state folder. A background process doesn't restart after a crash or a reboot.

Start the server by hand

To try the server, run it in the foreground:

termul-server

This serves Termul at http://localhost:8080 for browsers on the same machine. Press Ctrl+C to stop it.

To let phones and other computers connect, listen on all network interfaces:

termul-server --host 0.0.0.0 --port 8080

The first time you do this, the server creates an access token and prints the path of the file that holds it. Read the token from that file, then open http://<server-address>:8080/#token=<token>. See The access token.

Plain http:// sends the token and everything else unencrypted over the network. Use it only on a network you trust. For anything else, put an HTTPS reverse proxy in front of the server.

Add your first project

A new server has no projects.

  1. Open the server's address in a browser.
  2. Click + next to PROJECTS, then click New project. You can also press Alt+N.
  3. Click Browse. Termul opens a folder picker that shows the folders on the server, not on your own device.
  4. Go to the project folder and select it, then create the project.

The server saves the project in its projects file, so it is still there after the server restarts.

For the rest of the project setup, see Getting started.

On this page