Skip to main content

Frappe Framework Installation

The Frappe Framework installation process equips you with a ready environment to build and customize ERPNext or any other Frappe-based applications. This guide walks ERP consultants, Python developers, and system administrators through setting up Frappe on a fresh machine for both development and production environments.

Overview

Frappe can be installed in two modes:

Development Setup: For building apps, testing, and local development.

Production Setup: For hosting live ERPNext instances with security, supervisor, and nginx configurations.

This documentation focuses on a clean and structured installation aligned with Frappe compatibility matrix cross-verified from Frappe GitHub.

Installation / Setup

1. System Prerequisites

Ensure the following are installed (details in prerequisites documentation):

  • Python 3.10+
  • Node.js 18+
  • Yarn 1.22+
  • MariaDB 10.6+
  • Redis
  • wkhtmltopdf (0.12.6 with patched Qt)
  • pip and pipx

2. Install Bench CLI

Bench is the command-line tool to manage Frappe apps and sites.

# Install bench globally via pipx (recommended)
pip install pipx
pipx install frappe-bench
# Verify bench installation
bench --version

Source Reference: bench-repo

3. Initialize Bench Directory

Create a new bench folder with Frappe.

# Initialize bench with Frappe v15 branch
bench init frappe-bench --frappe-branch version-15
# Move into bench directory
cd frappe-bench

4. Create a New Site

Sites are where your apps run. Each site has its own database and configuration.

# Create a new site (will prompt for MySQL root password and admin password)
bench new-site yoursite.local

Example prompt output:

MySQL root password:
Set Administrator password:
Re-enter Administrator password:

5. Install ERPNext App (Optional)

If you want ERPNext along with Frappe:

# Get ERPNext app from v15 branch
bench get-app erpnext --branch version-15
# Install ERPNext app on your site
bench --site yoursite.local install-app erpnext

6. Start Development Server

Start the server to access your site locally.

bench start

Navigate to http://localhost:8000 and login with:

  • Username: Administrator
  • Password: (set during site creation)

Configuration

For production deployment:

1.Setup Production:

# Install production dependencies
sudo bench setup production [username]

2.This sets up supervisor and nginx for process management and reverse proxy.

Source Reference: bench/commands/setup.py

Tips, Best Practices & Pitfalls

Tips & Best Practices

  • Always use pipx for global bench installations to avoid environment conflicts.
  • Match your Python and Node.js versions exactly as per compatibility to prevent build failures.
  • Use bench setup production only after thoroughly testing your development setup.

Pitfalls

  • Skipping MariaDB secure installation may expose your server to security risks.
  • Using non-patched wkhtmltopdf will break PDF headers and footers.
  • Failing to set up swap memory on low-RAM servers (e.g., 1GB) may result in build failures.

Optional Metadata

  • Industry Relevance: Manufacturing, Healthcare, Services, Education
  • Use Case / Problem Solved: Rapid ERP application deployment and customization
  • Target Users: Python Developers, ERP Consultants, System Administrators

References

Click to rate this post!
[Total: 1 Average: 5]