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.

Webterminal logo

Self-host Webterminal

0.9.6.1

Open-source bastion host for SSH, RDP, VNC, databases, K8s

ReleaseOpen SourceLGPL-3.0
Updatedlast week
LanguagePython
Setup difficultyModerate
Stars
1 725
Ports
443 (Console HTTPS (web terminals / API / file transfer)), 80 (301 redirect to 443 only), 2222 (Native SSH / SFTP proxy), 3389 (Native RDP proxy), 13306 (MySQL proxy), 15432 (PostgreSQL proxy), 11433 (SQL Server proxy), 11521 (Oracle proxy), 16379 (Redis proxy), 37017 (MongoDB proxy)
Docker
webterminal/webterminal
Install with Docker
Asset center showing managed assets, accounts, rotation policies and gateways

What is Webterminal?

Webterminal is a self-hosted privileged access management platform (bastion host) that lets operators connect to Linux, Windows, databases and Kubernetes clusters from a web browser or their existing native clients. It provides unified asset onboarding, authorization by principal across assets, accounts, protocols and actions, centralized credential storage with automatic rotation, and complete session recording with command/SQL filtering and replay. The 1.0 release is a Go + React rewrite packaged as a single Docker image containing the server, nginx and SQLite — no external dependencies required for single-node deployments. Multi-node HA is supported via Helm. Community edition limits RDP/VNC/database assets to 50 and 5 concurrent restricted sessions; SSH assets are unlimited. A 15-day online trial unlocks Enterprise features. The legacy 0.x Django codebase is no longer maintained.

Should you self-host Webterminal?

Webterminal scores 56/100 on selfhost.directory (how scoring works) and ranks #19 of 40 in Authentication. It has 1 725 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 LGPL-3.0-licensed and written mostly in Python.

Its closest alternative on selfhost.directory is keycloak (86/100, 37 573 stars). It scores higher overall, so compare the two before you pick. See Webterminal vs keycloak side by side.

Features

  • Command/SQL filtering and blocking
  • Credential vault and rotation
  • Database wire-protocol proxies
  • Fine-Grained Authorization
  • Job center and batch operations
  • Kubernetes terminal access
  • LDAP/AD sync and OIDC/SAML/CAS SSO
  • Multi-Factor Authentication
  • Multi-replica HA via Helm
  • Native client proxy support
  • Network gateways
  • RDP/VNC remote desktop
  • RemoteApp publishing
  • Session recording and replay
  • SSH/SFTP/Telnet access

Webterminal README

How to install Webterminal

Install Webterminal with Docker

Environment variables
BASTION_PUBLIC_HOST, BASTION_SSH_PROXY_PORT, BASTION_RDP_PROXY_PORT

docker run -d --name webterminal --restart unless-stopped
-p 443:443 -p 80:80
-p 2222:2222 -p 3389:3389
-p 13306:13306 -p 15432:15432 -p 11433:11433 -p 11521:11521
-p 16379:16379 -p 37017:37017
-v webterminal-data:/data
webterminal/webterminal:1.0

Single all-in-one container with SQLite, nginx, and Go backend

How to configure Webterminal

  • BASTION_PUBLIC_HOSTPublic hostname for issued wterm:// URLs

    Public hostname for issued wterm:// URLs

  • BASTION_RDP_PROXY_PORTPublic RDP proxy port for wterm:// URLs

    Public RDP proxy port for wterm:// URLs

  • BASTION_SSH_PROXY_PORTPublic SSH proxy port for wterm:// URLs

    Public SSH proxy port for wterm:// URLs

Webterminal releases & version history

FAQ

How does this relate to the Django Webterminal on GitHub?

This is the next generation rewritten in Go and React with new protocol proxies, authorization model, and audit. The old version stays in repository history.

More in Remote Access

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…