selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

DumbTerm logo

Self-host DumbTerm

v1.3.0

Web-based terminal emulator with Starship prompt

ReleaseOpen SourceGPL-3.0
Updated8 hours ago
LanguageJavaScript
Setup difficultyEasy
MobilePWA
ThemeDark mode
Stars
246
Port
3000 (Web terminal HTTP/WebSocket server)
Docker
dumbwareio/dumbterm
Install with Docker
DumbTerm web terminal preview showing the interface with Starship prompt

What is DumbTerm?

DumbTerm is a web-based terminal emulator that provides terminal access from any device with a browser. It runs a full terminal environment with Starship prompt for a beautiful experience showing git status, command duration, and more. The Docker image is based on Debian and includes pre-installed utilities such as git, vim, nano, htop, curl, wget, ssh, python3, and network tools. Security features include optional numeric PIN protection with brute-force lockout, session management, CORS controls, and HTTPS support. The UI supports dark mode, works on phones and computers, and can be installed as a PWA. Terminal features include search (Ctrl+F), tab management with drag-and-drop reordering, history persistence, and keyboard shortcuts. It can be deployed via Docker, Docker Compose, or run locally with Node.js >=20. The project recommends putting it behind a reverse proxy with an auth provider like Authentik, Authelia, or tinyauth for production use.

Should you self-host DumbTerm?

DumbTerm scores 47/100 on selfhost.directory (how scoring works) and ranks #5 of 8 in Terminal. It has 246 GitHub stars.

It shipped 1 stable release in the past year. The latest, v1.3.0, came out on 28 October 2026.

Setup is easy: most people get it running in one sitting. An official Docker image is available. It is GPL-3.0-licensed and written mostly in JavaScript.

Its closest alternative on selfhost.directory is cmux (80/100, 28 572 stars). It scores higher overall, so compare the two before you pick. See DumbTerm vs cmux side by side.

Features

  • Demo Mode
  • In-terminal hyperlinks
  • Keyboard Shortcuts
  • PIN protection
  • Pre-installed utilities
  • Session persistence
  • Starship prompt integration
  • Tab management
  • Terminal search
  • Web-based terminal access
  • XTerm.js addons

DumbTerm README

How to install DumbTerm

Install DumbTerm with Docker

Environment variables
DUMBTERM_PIN, SITE_TITLE, BASE_URL, ALLOWED_ORIGINS, ENABLE_STARSHIP, TZ, LOCKOUT_TIME, MAX_SESSION_AGE

Pull and run with one command

docker run -p 3000:3000
-v ./data:/root/data
-v ./config:/root/.config
-e DUMBTERM_PIN=1234
-e SITE_TITLE=DumbTerm
-e BASE_URL=http://localhost:3000
-e ALLOWED_ORIGINS=http://localhost:3000
-e ENABLE_STARSHIP=true
-e TZ=America/Los_Angeles
-e LOCKOUT_TIME=15
-e MAX_SESSION_AGE=24
dumbwareio/dumbterm:latest

Uses pre-installed Debian 13 Trixie-based container

How to configure DumbTerm

  • ALLOWED_ORIGINS* (all origins)Allowed CORS origins (comma-separated list)

    Allowed CORS origins (comma-separated list)

  • BASE_URLhttp://localhost:3000Base URL for the application

    Base URL for the application

  • DEBUGTRUEEnable debug logging

    Enable debug logging

    values: TRUE, FALSE

  • DEMO_MODEfalseEnable demo mode with simulated terminal

    Enable demo mode with simulated terminal

    values: true, false

  • DUMBTERM_PINPIN protection (numeric)

    PIN protection (numeric)

  • DUMBTERM_TZAmerica/Los_AngelesContainer timezone (Docker only)

    Container timezone (Docker only)

  • ENABLE_STARSHIPtrueEnable Starship prompt (Docker only)

    Enable Starship prompt (Docker only)

    values: true, false

  • LOCKOUT_TIME15PIN Lockout Duration (in minutes)

    PIN Lockout Duration (in minutes)

  • MAX_SESSION_AGE24Duration of authenticated session (in hours)

    Duration of authenticated session (in hours)

  • NODE_ENVproductionNode environment mode (development or production)

    Node environment mode (development or production)

    values: development, production

  • PORT3000Server port

    Server port

  • SITE_TITLEDumbTermSite title displayed in header

    Site title displayed in header

  • TZAmerica/Los_AngelesContainer timezone

    Container timezone

DumbTerm releases & version history

More in Terminal

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…