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.

electerm-web logo

Self-host electerm-web

Web-based terminal and SSH/SFTP client for self-hosting

ReleaseOpen SourceMIT
Updated4 months ago
LanguageJavaScript
Setup difficultyModerate
MobileResponsive
Stars
179
Ports
5577 (Production HTTP server), 5580 (Development server)
Docker
zxdong262/electerm-web
Install with Docker
electerm-web screenshot 1electerm-web screenshot 2

What is electerm-web?

electerm-web is the browser-based edition of the electerm terminal client, letting you run a complete terminal and remote connection manager in any web browser. It handles SSH, SFTP, FTP, Telnet, serial, RDP, VNC, and SPICE protocols with SSH tunneling, connection hopping, Zmodem/Trzsz transfers, and an AI assistant compatible with OpenAI and Anthropic APIs. The interface is customizable with themes and backgrounds, supports 14+ languages, and works responsively on mobile devices. Bookmarks, themes, and quick commands can be synchronized to GitHub or Gitee secret gists, WebDAV endpoints, or custom servers. Deployment options include Docker (image zxdong262/electerm-web), Docker Compose, or building from source with Node.js. SQLite stores data locally, and optional password authentication secures multi-user deployments.

Should you self-host electerm-web?

electerm-web scores 50/100 on selfhost.directory (how scoring works) and ranks #3 of 8 in Terminal. It has 179 GitHub stars.

There was no stable release in the past 12 months, so check the repository's recent activity before you rely on it.

Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is MIT-licensed and written mostly in JavaScript.

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

Features

  • AI Assistant
  • Cloud Sync
  • Customizable Themes
  • FTP client
  • Multi-language Support
  • RDP client
  • Serial port client
  • SFTP file manager
  • Spice client
  • SSH client
  • SSH Tunneling
  • Telnet client
  • Terminal Emulator
  • VNC client
  • Zmodem/Trzsz file transfer

electerm-web README

How to install electerm-web

Install electerm-web with Docker

Docker
Environment variables
DB_PATH, HOST, SERVER_SECRET, SERVER_PASS, ENABLE_AUTH, DISABLE_LOCAL_TERMINAL

docker run --init
-v $(pwd)/electerm-web-data:/home/electerm/data
-e "DB_PATH=/home/electerm/data"
-e "HOST=0.0.0.0"
-p 8082:5577
zxdong262/electerm-web

Map host port 8082 to container port 5577

How to configure electerm-web

  • DB_PATH./databasePath to database folder

    Path to database folder

  • DB_TYPEsqliteDatabase implementation type

    Database implementation type

    values: sqlite, custom

  • DEV_HOST127.0.0.1Development server bind address

    Development server bind address

  • DEV_PORT5580Development server port

    Development server port

  • DISABLE_LOCAL_TERMINAL0Disable local terminal for safety

    Disable local terminal for safety

    values: 0, 1

  • ENABLE_AUTH0Enable password authentication

    Enable password authentication

    values: 0, 1

  • HOST127.0.0.1Server bind address

    Server bind address

  • PORT5577Production server port

    Production server port

  • SERVER_PASS1Password for login when auth enabled

    Password for login when auth enabled

  • SERVER_SECRETx4345655@!3446%5FS334*sfdgsfJWT secret for authentication tokens

    JWT secret for authentication tokens

  • SERVER_USERdefault_userDefault username

    Default username

  • TOKEN_EXPIRED_TIME120yJWT token expiration time

    JWT token expiration time

FAQ

How do I configure AI assistant in electerm?

Open AI settings, enter your API URL (e.g., https://api.openai.com/v1), select or type the model name, input your API key, and optionally define a system role prompt.

How do I make electerm start automatically when I log in?

Use the --autohide flag to start electerm minimized to the system tray, with platform-specific startup configuration.

Can I open SSH connections from a browser or external links?

Yes, electerm supports deep links using protocols like ssh://, telnet://, rdp://, vnc://, serial://, spice://, and the custom electerm:// protocol.

What is Batch Operation and how do I use it?

Batch Operation lets you define and run multi-step SSH/SFTP workflows using JSON with actions like connect, command, sftp_upload, and sftp_download.

How do I connect to a server without saving a bookmark?

Use Quick Connect from the sidebar with connection strings like ssh://user@host:22, rdp://user@host:3389, or serial://COM1?baudRate=115200.

What is the Workspace feature and how do I use it?

Workspace saves your current layout and open tabs as a preset. Only tabs opened from bookmarks are saved.

How do I use SSH tunnels in electerm?

SSH tunnels are configured when creating or editing an SSH bookmark, supporting both local-to-remote and remote-to-local port forwarding.

How do I keep my SSH session from timing out?

Configure SSH Keep Alive Interval in Settings or click the keep-alive icon in the terminal toolbar during an active session.

Can I hide the local file manager in the SFTP panel?

Yes, by adding custom CSS in Settings → Appearance → Custom CSS to hide the local section and expand the remote section.

Is electerm free and open-source?

Yes, electerm is completely free and open-source software released under the MIT License.

More in SSH

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…