Frappe Framework can be installed using Docker for quick setup, or manually for development. Choose the method that best fits your needs.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/frappe/frappe/llms.txt
Use this file to discover all available pages before exploring further.
Docker installation (recommended for evaluation)
The fastest way to try Frappe Framework is using Docker. This method is perfect for evaluation and testing.Install prerequisites
Ensure you have Docker, Docker Compose, and Git installed on your system.
Refer to Docker Documentation for installation instructions specific to your operating system.
Clone and start Frappe Docker
The first run will take several minutes as Docker downloads and builds the necessary images.
ARM architecture (Apple Silicon)
If you’re running on ARM-based systems (like M1/M2 Macs), see the Frappe Docker ARM setup guide.Manual installation (recommended for development)
For development work, install Frappe Framework using bench, the CLI tool that manages Frappe applications.Prerequisites
Before installing Frappe, ensure your system has:System dependencies
System dependencies
- Python 3.14+ - Frappe requires Python 3.14 or later
- Node.js 20+ - For building frontend assets
- MariaDB 10.6+ - Primary database (PostgreSQL also supported)
- Redis - For caching and background jobs
- wkhtmltopdf - For PDF generation
- Git - For version control
Operating system support
Operating system support
Frappe works best on:
- Ubuntu 22.04 LTS (recommended)
- Debian 11+
- macOS (for development)
- WSL2 on Windows (for development)
Production deployments should use Ubuntu or Debian Linux.
Install using bench
Install bench
Bench is the CLI tool for managing Frappe applications. The easiest way to install it is using the automated script:For more control, visit the bench installation guide.
The installation script will create new passwords for the MariaDB root user, Frappe user, and Administrator account. These are displayed during installation and saved to
~/frappe_passwords.txt.Initialize a bench
Create a new bench (a directory that contains your Frappe installation):This command:
- Creates a new directory
frappe-bench - Clones the Frappe Framework repository
- Sets up a Python virtual environment
- Installs Python and Node.js dependencies
This process can take 5-10 minutes depending on your internet connection.
Create a new site
Sites in Frappe are multi-tenant installations. Each site has its own database and can have different apps installed:You’ll be prompted to set an administrator password. This creates:
- A new database
- Site configuration files
- Administrator user account
Start the development server
- Web server (port 8000) - Serves your application
- SocketIO (port 9000) - Real-time communications
- Redis - Cache and job queue
- Background workers - Process jobs asynchronously
Database options
While MariaDB is the default and recommended database, Frappe also supports PostgreSQL and SQLite.Verify installation
Confirm your installation is working correctly:Common installation issues
Port already in use
Port already in use
If port 8000 is already in use, you can specify a different port:
Database connection errors
Database connection errors
Verify MariaDB is running and accessible:Check database credentials in
sites/common_site_config.jsonNode.js build errors
Node.js build errors
Clear the build cache and rebuild:
Permission errors
Permission errors
Ensure your user has proper permissions:
Development environment setup
For the best development experience, install these additional tools:Next steps
Quick start
Build your first Frappe app
Architecture
Understand how Frappe works
Core concepts
Learn about DocTypes and Documents
Bench commands
Master the bench CLI
Getting help
If you run into issues:- Check the installation troubleshooting guide
- Ask on the discussion forum
- Review GitHub issues
Production deployment: This guide covers development setup. For production deployments, see the production setup guide.