What is Werbot?
Werbot is an open-source solution allowing users to securely share access to servers, data bases, web applications, desktops, containers and clouds; providing full-fledged options for controlling and auditing of the work performed on them.
⚠️ Current major version is zero (
v0.x.x) to accommodate rapid development and fast iteration while getting early feedback from users. Please keep in mind that Werbot is still under active development and therefore full backward compatibility is not guaranteed before reaching v1.0.0.
🏆 Features
- Werbot works with dedicated, VPS, and cloud servers
- Manages servers from different providers in one account
- Doesn’t require any additional agent to be installed on the server
- Records every server session and collects logs
- Provides a single sign-on
Werbot is written in golang, runs in Docker containers, and works as microservices. It requires little processing power, scales easily, and can be implemented in the workflow of any company within 1 hour.
Supported technology:
- Protocols - SSH, Telnet, RDP, VNC
- Providers - all providers + fast import from AWS, Google, Amazon, Azure
- Containers - Docker, Kubernetes
- Databases - MySQL, Maria, PostgresQL, Redis, MongoDB, Elasticsearch, and other
🔥 Why Werbot?
Problem
- Unsafely kept server access, passwords, and keys
- Difficult server access management
- Uncontrolled work on servers
- Unwanted connections on servers
- Expensive and limited in functionality server monitoring tools

Solution
Werbot users connect to all accessible servers with a single sign-on using their login and private key. All work performed on servers connected to Werbot is logged and recorded as a screencast.

Competition
Identity and Access Management solutions existing today can have limited functionalities or work with only one server provider, and support few protocols.
There are also complex Enterprise solutions that are quite expensive solutions and not suitable for everyone.
🚀 Why did we build Werbot?
The prototype of Werbot was developed for internal use firstly. Over time, the prototype was refined and developed into a full-fledged platform available to everyone.
SaaS version is currently working on the site werbot.com. There we are offering a ready-made solution that is suitable for most companies and does not need to be configured by a specialist, so it can be used even without the involvement of cybersecurity specialists.
Werbot covers 3 of the most important cybersecurity challenges:
- Helps to manage server access
- Helps to control users’ activity on servers
- Gathers evidence to show security certification compliances
Recently we decided to rewrite the code of the SaaS version and make it open source. We are currently working on this.
🧬 Project components
Here is a list of modules that are included within the Werbot.
| Component | Description |
|---|---|
| web | 🖥 Werbot web dashboard |
| ee | 🏭 Werbot Enterprise functions |
| install | 🚀 The script for installing Werbot |
| agent.windows | 👮♂️ Windows agent |
| agent.unix | 👮♂️ Unix agent |
| pam | 🔐 Pluggable Authentication Module for native two factor authentication agents for *nix platforms |
📚 Documentation
Documentation for Werbot is available in the docs/ directory. Currently available:
- Token Package Documentation - Comprehensive guide to the token management system
Additional documentation is being actively developed. For the latest updates, please check the docs/ directory.
🏁 Installation
Prerequisites
- Docker and Docker Compose
- Domain name with DNS access (Cloudflare recommended)
- Go 1.25+ (for development)
- Make (for build automation)
Quick Start
Clone the repository:
git clone https://github.com/werbot/werbot.git cd werbotConfigure environment:
- Copy
.env.exampleto.env(if available) or create.envfile - Configure required environment variables:
GEOLITE_LICENSE- Geolite key for downloading the latest geolite databaseDOMAIN- Second-level domain in format*.domain.comDNS_CLOUDFLARE_EMAIL- Your Cloudflare emailDNS_CLOUDFLARE_API_KEY- Your Cloudflare API key
- Copy
Set up DNS records:
- Add DNS A records pointing to your server:
api.domain.com→ Your server IPapp.domain.com→ Your server IP
- Add DNS A records pointing to your server:
Initialize the environment:
make initThis script will:
- Validate DNS configuration
- Generate secure passwords for PostgreSQL and Redis
- Generate encryption keys
- Create necessary configuration files
Start services:
cd docker docker-compose up -d
Development Setup
Install development tools:
make toolsBuild the project:
make buildThis will build all services into the
bin/directory.Run database migrations:
make migrationUpdate GeoLite database:
make geolite
Available Make Commands
make help- Show all available commandsmake init- Initialize development environmentmake build [service]- Build project or specific servicemake tools- Install/update development toolsmake migration- Run database migrationsmake geolite- Update GeoLite databasemake clean- Clean up temporary files and containersmake key- Generate encryption keysmake protos- Generate protobuf files
Docker Services
The project runs as microservices in Docker containers:
- taco - Main API service