System Requirements
Before installing Bench, ensure your system meets these requirements:Required
- Python: 3.10 or higher
- Operating System: Linux or macOS (Unix-like systems)
- Git: For cloning repositories
- Node.js: 18.x or higher (for building assets)
- Database: MariaDB 10.6+ or PostgreSQL 12+
- Redis: For caching and background jobs
Recommended
- RAM: 4GB minimum, 8GB+ recommended
- Storage: 10GB+ free space
- Network: Stable internet connection for downloading apps
Installation Methods
Choose the installation method that best fits your needs:Docker
Recommended for production and quick evaluation
Easy Install Script
Automated setup with minimal configuration
Manual Installation
Full control for development environments
Method 1: Docker Installation (Recommended)
The easiest and most reliable way to run Bench is using Docker. This method works for both development and production.Install Docker
Install Docker and Docker Compose on your system:
Log out and back in after adding your user to the docker group.
Setup Production Environment (Option B)
For production deployments with SSL and proper configuration:
Method 2: Easy Install Script
The easy-install script automates Docker setup and creates a production-ready or development environment.Run for Production
Deploy a production environment with ERPNext:Parameters:
--email: Email for Let’s Encrypt SSL certificate notifications--sitename: Your site’s domain name--app: App(s) to install (can specify multiple times)--version: ERPNext version (defaults to latest stable)
The easy-install script automatically installs Docker if not present and handles all configuration.
Easy Install Options
Deploy Options
Deploy Options
Build Custom Image Options
Build Custom Image Options
Method 3: Manual Installation (Development)
For developers who want full control and local installation without Docker.Install Bench CLI
Install Bench from PyPI:Verify installation:
Add
~/.local/bin to your PATH if the bench command is not found.Initialize Your First Bench
Create a new bench instance:This creates a directory structure with a Python virtual environment and clones the Frappe framework.
Post-Installation Setup
After installing Bench, configure your environment:Create Your First Site
Install Apps
Start Development Server
http://mysite.local:8000
Add
127.0.0.1 mysite.local to your /etc/hosts file for local development.Troubleshooting
Command not found: bench
Command not found: bench
The bench executable is not in your PATH. Add it:
Permission denied errors
Permission denied errors
Don’t run bench commands with sudo. If you encounter permission issues:
Database connection failed
Database connection failed
Ensure MariaDB is running and accessible:
Port already in use
Port already in use
If port 8000 is occupied, specify a different port:
Easy install script fails
Easy install script fails
Check the log file for details:Common issues:
- Docker not installed/not running
- Insufficient disk space
- Port conflicts (80, 443 already in use)
Development vs Production
Development Setup
- Use manual installation or develop mode
bench startfor auto-reload- Local database and Redis
- No SSL/NGINX configuration
- Easy debugging and testing
Production Setup
- Use Docker or easy-install script
- NGINX reverse proxy
- SSL certificates via Let’s Encrypt
- Supervisor/systemd for process management
- Automated backups configured
Next Steps
Now that Bench is installed:Quick Start Guide
Create your first bench, site, and install apps
Command Reference
Explore all available Bench commands