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-serverThe 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 onboardPress Enter at any question to keep the default shown in brackets.
Answer the questions
- Bind host. Keep
127.0.0.1to allow only this machine, for example behind a reverse proxy. Enter0.0.0.0to 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. Answeryto let other devices make changes. See Allow changes from other devices. - Update channel.
stable,insider,nightly, ornone. 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-serverThis 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 8080The 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.
- Open the server's address in a browser.
- Click + next to PROJECTS, then click New project. You can also press
Alt+N. - Click Browse. Termul opens a folder picker that shows the folders on the server, not on your own device.
- 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.