All apps · 0 apps
electerm-web
Docker app from Tajniak81's Repository
Overview
Readme
View on GitHubelecterm-web 
This is web app version of electerm app, running in browser, almost has the same features as the desktop version.
electerm is open-sourced terminal/ssh/sftp/telnet/serialport/RDP/VNC/Spice/ftp client(linux, mac, win).
- electerm.org: Homepage, downloads, videos, etc
- electerm-web: Web app version running in browser(including mobile device)
- electerm-web-docker: Docker image for electerm-web
- electerm online: Public free online electerm app
- electerm demo: Online demo
- electerm AI: Free AI for electerm users
- electerm deb repo: Debian repo of electerm
- electerm rpm repo: RPM repo of electerm
Features
- Works as a terminal/file manager or ssh/telnet/serialport/RDP/VNC/WEB/Spice/sftp/ftp client
- Global hotkey to toggle window visibility (similar to guake, default is
ctrl + 2) - Multi platform(linux, mac, win)
- 🇺🇸 🇨🇳 🇧🇷 🇷🇺 🇪🇸 🇫🇷 🇹🇷 🇭🇰 🇯🇵 🇸🇦 🇩🇪 🇰🇷 Multi-language support(electerm-locales, contributions/fixes welcome)
- Double click to directly edit (small) remote files.
- Auth with publicKey + password.
- Support Zmodem(rz, sz).
- Support ssh tunnel.
- Support Trzsz(trz/tsz), similar to rz/sz, and compatible with tmux.
- Transparent window(Mac, win).
- Terminal background image.
- Global/session proxy.
- Quick commands
- UI/terminal theme
- Sync bookmarks/themes/quick commands to github/gitee secret gist
- Quick input to one or all terminals.
- Init from url query string wiki
- Support mobile device(responsive design)
- AI assistant integration (supporting DeepSeek, OpenAI, and other AI APIs) to help with command suggestions, script writing, and explaining selected terminal content
Migration from v2 to v3
Since electerm-web v3, the application uses SQLite instead of NeDB for better performance and stability. If you're upgrading from v2 and have existing data, you'll need to migrate your data.
Migration Steps
Install electerm-data-tool:
npm install -g electerm-data-toolExport your data from NeDB:
# data folder should have a nedb-database child folder electerm-data-tool --data-path "/path/to/your/data-folder-which-has-nedb-database-sub-folder" --app-type web migrateStart electerm-web v3 and go to the Data Sync panel
Import your data: Upload the
data.jsonfile in the Data Sync panel to restore your data
Download
todo
Upgrade
todo
Support
Would love to hear from you, please tell me what you think, submit an issue, Start a new discussion, create/fix language files or create pull requests, all welcome.
Sponsor this project
github sponsor
https://github.com/sponsors/electerm
kofi
wechat donate
Prerequisites
- git
- Nodejs 24, npm, recommend use fnm to install nodejs/npm
- python/make tools, for Linux:
sudo apt install -y make python g++ build-essential, for MacOS: install Xcode, for Windows, installvs studioornpm install --global --production windows-build-tools
One line script to deploy from source code
for Linux or Mac
curl -o- https://electerm.org/scripts/one-line-web.sh | bash
or
wget -qO- https://electerm.org/scripts/one-line-web.sh | bash
for Windows
Invoke-WebRequest -Uri "https://electerm.org/scripts/one-line-web.bat" -OutFile "one-line-web.bat"
cmd.exe /c ".\one-line-web.bat"
Deploy from docker image
Check electerm-web-docker
Dev
# tested in ubuntu16.04+/mac os 10.13+ only
# needs nodejs/npm, suggest using nvm to install nodejs/npm
# https://github.com/creationix/nvm
# with nodejs 22.x
git clone git@github.com:electerm/electerm-web.git
cd electerm-web
cp .sample.env .env
# edit DB_PATH to set db path, default path ./database
# to use same data as desktop electerm
# for Mac OS DB_PATH="/Users/<your-user-name>/Library/Application Support/electerm"
# for Linux OS DB_PATH="/home/<your-user-name>/.config/electerm"
# for Windows OS DB_PATH="C:\\Users\\<your-user-name>\\AppData\\Roaming\\electerm"
npm config set legacy-peer-deps true
npm i
# start webpack dev server
npm start
# in a separate terminal session run app
npm run dev
#then visit http://127.0.0.1:5580 with browser
# code format check
npm run lint
# code format fix
npm run fix
Build && run in production
npm run build
# run production server
npm run prod
# or ./build/bin/run-prod.sh
#then visit http://127.0.0.1:5577 with browser
Run in server
# Edit .env, set
ENABLE_AUTH=1 # if not enabled, everyone can use it without login
DISABLE_LOCAL_TERMINAL=1 # disable local terminal for safety
SERVER_SECRET=some-server-secret
SERVER_PASS=some-login-pass-word
# run prod app
./run-electerm-web.sh
# Check examples/nginx.conf examples/nginx-ssl.conf for domain binding nginx conf example
License
MIT
Install electerm-web on Unraid in a few clicks.
Find electerm-web in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.
Categories
Download Statistics
Total Downloads Over Time
Related apps
Explore more like this
Explore allDetails
zxdong262/electerm-webRuntime arguments
- Web UI
http://[IP]:[PORT:5577]/- Network
bridge- Shell
sh- Privileged
- false
Template configuration
- Target
- 5577
- Default
- 5577
- Value
- 5577
- Target
- /home/electerm/data
- Default
- /mnt/user/appdata/electerm/
- Value
- /mnt/user/appdata/electerm-web/
- Default
- /home/electerm/data
- Value
- /home/electerm/data
Setting HOST=0.0.0.0 configures the service to listen on all available network interfaces. Default: 0.0.0.0
- Default
- 0.0.0.0
- Value
- 0.0.0.0
SERVER_SECRET is used to encrypt data, if not set, would use default value. Should change some_server_secret to some complicated secret string.
- Default
- some_server_secret
Password to login. Should change password_to_login to some complicated secret string
- Default
- password_to_login
When ENABLE_AUTH enabled, would require login with SERVER_PASS when visit
- Default
- 1
- Value
- 1
