Open your server's shell in any browser, on phone or desktop, in tabs that keep running
50K+
web-terminal-server puts a shell in your browser, on a phone or a desktop, running in a container on your server. Each tab runs bash or a command you choose, and works on the folders you mount into the container.

Use a terminal on your server from any browser, and pick it up again from any device.
web-terminal-server is built for people who want a shell on their own server from a phone or a laptop, with nothing to install on them. Everyone who logs in shares the same tabs, and restarting the container ends them.
You need a Docker host, and a private network or a reverse proxy with a login in front of it.
Other tools suit a different setup:
web-terminal-server is free software under the MPL-2.0 license.
docker pull cplieger/web-terminal-server:latest
Also published to ghcr.io/cplieger/web-terminal-server with identical images and tags. Release versions are tagged vX.Y.Z alongside latest.
# Example compose for web-terminal-server. See the README for all configuration options and hardening.
services:
web-terminal-server:
image: ghcr.io/cplieger/web-terminal-server:latest
container_name: web-terminal-server
restart: unless-stopped
# Required. An init at PID 1 cleans up the processes each terminal leaves behind.
init: true
environment:
# Change this before the first start. Without a password there is no login.
AUTH_PASSWORD: "your-terminal-password"
# Every host name or IP you open the terminal at. Any other name is refused.
ALLOWED_HOSTS: "localhost,term.example.com"
# The folder each new terminal starts in. It must exist in the container.
WORK_DIR: "/work"
ports:
# Reachable from this host only. Read README "Security" before opening it wider.
- "127.0.0.1:7681:7681"
volumes:
# The container runs as root, so files created here belong to root on the host.
- "./work:/work"
MPL-2.0. See LICENSE. The image carries the license text of every bundled component under /usr/share/licenses/.
The image redistributes two web fonts under their own licences, each served beside the font it covers. Monaspace Neon NF is under the SIL Open Font License 1.1 (/vendor/fonts/MonaspaceNeonNF-LICENSE). Web Terminal Glyphs, the tiling overlay listed ahead of it, is under Apache-2.0 (/vendor/fonts/WebTerminalGlyphs-LICENSE, with its /vendor/fonts/WebTerminalGlyphs-NOTICE).
Content type
Image
Digest
sha256:ca5670ea8…
Size
43.1 MB
Last updated
1 day ago
docker pull cplieger/web-terminal-server