One gateway.
Every server you manage.
From a production fleet to a rack of Raspberry Pis - Bastion gives you secure terminal access from any browser, with nothing to install and no key to lose.
Experience the Workspace.
Interact with the actual Bastion UI below. Select a server and drop into a live-mock terminal environment directly from your browser.
Servers
Manage your organization's servers and access
| Actions | Name | Host | User | OS | Status |
|---|---|---|---|---|---|
| prod-db-primary | 10.0.1.45 | postgres | Connected | ||
| api-gateway-01 | 10.0.2.12 | deploy | Connected | ||
| cache-redis-cluster | 10.0.3.88 | redis | Offline | ||
| staging-worker-queue | 10.0.4.15 | ubuntu | Connected |
Engineered for absolute workload isolation
Unprivileged Execution
Operates entirely as a non-root process. Enforces a strict least-privilege model by default.
Engineered for absolute workload isolation
Get started with Bastion.
Use the official installation script to deploy securely in minutes via Docker Compose.
Install
Pull the published images and scaffold the deployment directory. Uses the official installation script.
Configure
Review .env. A secure random encryption key (64 hex characters) is generated automatically on first run.
Launch
Bastion brings the PostgreSQL schema up to date and creates the bootstrap owner account.
Reachable only by the people you trust.
Bastion enforces a zero-trust perimeter by binding exclusively to 127.0.0.1. Access requires a private overlay network (e.g., Tailscale) terminating at an Nginx proxy. Buffering is explicitly disabled to allow massive file transfers to stream directly to the target host.
Everything routed through
one governed entry point.
Each of these capabilities ships as the default behavior out of the box, not as an add-on configured after the fact.
A real terminal that holds its place
Full xterm.js SSH access from any device, phone included, with a purpose-built mobile input layer. Close the tab, lock the phone, drop the WiFi, the session is exactly where it was on reconnect.
Nobody ever sees a credential
Server passwords and private keys stay encrypted and are never exposed to the people using them. Access goes to servers, not to secrets.
Every session, recorded and replayable
Terminal sessions are captured automatically in a compact, open format and replay frame-by-frame, file transfers marked directly on the timeline. No setup, no opt-in.
File transfer without leaving the terminal
Drag a file onto the terminal and it streams straight to the remote host, no disk buffering, no separate FTP client, no context switch. It shows up in the audit trail like everything else.
Workspaces and roles that mean something
One workspace per deployment, three roles. Owners and admins manage servers and users and can review anyone's session history; everyone else sees only what they've been given.
Revocation that's actually immediate
Pull someone's access and any terminal session they had open is severed on the spot, not next time they reconnect, not eventually.
Built for modern infrastructure teams.
DevOps & Platform Engineering
Eliminate credential sprawl and unmanaged .pem files. Onboard engineers instantly with centralized RBAC, giving them browser-based access to the fleet without ever seeing a private key.
Security & Compliance Teams
Turn infrastructure access into an immutable audit trail. Every keystroke, terminal session, and file transfer is automatically recorded in asciicast v2 format for post-incident review.
Self-Hosters & Homelabs
An enterprise-grade access control layer packaged into an ~60MB footprint. Free, open-source under the MIT license, and deployed securely via Docker Compose in a single command.
Engineered for low overhead.
Frontend & Terminal Stack
React & TypeScript
Strictly typed UI components
Vite
Fast HMR and optimized production builds
xterm.js
Hardware-accelerated terminal rendering
asciinema-player
Native playback of asciicast v2 audit files
Tailwind & shadcn/ui
Utility-first styling with accessible primitives
Not a clean sweep. A lighter stack.
Bastion isn't the only self-hosted gateway. A couple of these alternatives are incredibly well-engineered and represent close calls, not a landslide. Here is the factual breakdown.
Future Infrastructure.
Bastion is actively evolving. These features represent the next phases of development. Open-source contributions toward any of these initiatives are explicitly welcome.
Session Sharing
Share a recorded session via a unique link for debugging, onboarding, or post-mortems.
Live Session Shadowing
Allow admins to silently observe an active terminal session in real-time.
Zero-Downtime Key Rotation
Rotate the encryption key across every stored credential atomically, with automatic rollback.
Govern your access.
Build operational trust.
Deploy a highly secure, private access plane in minutes. Hardened out of the box.