This guide walks you through your first BenchPress setup — from installation to deploying your first Frappe bench.
Before installing BenchPress, ensure your host machine has:
| Requirement | Version | Purpose |
|---|---|---|
| Frappe Bench | v16 | The bench environment to install BenchPress into |
| Docker Engine | 20+ | Container management |
| Docker Compose | v2+ | Manages shared MariaDB + Redis infrastructure |
| WireGuard | Any | VPN access (optional but recommended) |
MariaDB and Redis for bench containers are managed automatically via Docker Compose. You only need them on the host for Frappe itself.
cd /path/to/your/frappe-bench
bench get-app https://github.com/Venkateshvenki404224/benchpress --branch develop
bench pip install docker
bench --site your-site.localhost install-app benchpress
bench --site your-site.localhost migratebash apps/benchpress/setup.sh your-site.localhostThe setup script is idempotent (safe to run multiple times) and handles six steps:
- Docker group — Adds your user to the
dockergroup - Shared infrastructure — Starts
benchpress-mariadbandbenchpress-redisvia docker-compose - IP forwarding — Enables kernel IP forwarding for VPN routing
- Sudoers — Configures passwordless sudo for WireGuard commands
- WireGuard tools — Installs
wireguard-toolsif missing - WireGuard server — Generates keys and brings up the
wg0interface
If the Docker group was just added, log out and back in before starting bench.
cd apps/benchpress/frontend
yarn install
yarn build- Start the bench:
bench start - Open BenchPress Settings in your browser:
/app/benchpress-settings - Fill in the WireGuard fields (values are printed by the setup script):
- WG Server Public Key
- WG Server Endpoint — Your server's public IP (
curl -s ifconfig.me) - WG Server Port —
51820
sudo ufw allow 51820/udpOpen your browser to:
http://your-site.localhost:8000/frontend
Once BenchPress is running, follow the Creating Labs guide to create your first lab template and deploy a bench instance.
| Guide | Description |
|---|---|
| Creating Labs | Create lab templates and deploy bench instances |
| Connecting to Benches | SSH access, VPN setup, and connection info |
| Logs and Monitoring | Build logs, deploy logs, and container stats |
| VPN Device Management | Register devices for persistent WireGuard access |
| WireGuard Setup | Detailed WireGuard configuration and troubleshooting |
