Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Frappe 16 Installation Guide for Ubuntu 24.04

Ubuntu 24.04 Frappe 16 Python 3.14 Node.js 22 MariaDB

A complete developer-friendly guide to install Frappe Framework v16 on Ubuntu 24.04 using uv, Python 3.14, Node.js 22+, MariaDB, Redis, Yarn, wkhtmltopdf, and optional PostgreSQL support.

This guide is useful for developers building ERP systems, SaaS platforms, internal admin tools, business dashboards, and full-stack applications with Frappe Framework or ERPNext.

Features

  • Frappe Framework v16 setup on Ubuntu 24.04
  • Python 3.14 installation using uv
  • Node.js 22+ and Yarn setup
  • MariaDB setup for stable Frappe development
  • PostgreSQL setup option for experimental usage
  • Bench CLI installation and project initialization
  • New site creation, active site switching, and local server startup
  • Common troubleshooting fixes for Redis, MariaDB, Node.js, and site creation

Quick Start

Use the helper script to install Ubuntu packages, Node.js 22, Yarn, uv, Python 3.14, and Bench CLI:

bash install.sh

Then initialize your Frappe 16 bench:

UV_PYTHON=3.14 bench init frappe-bench-16 --frappe-branch version-16
cd frappe-bench-16
bench new-site platform.local
bench use platform.local
bench start

Open your Frappe site:

http://localhost:8000

Important Notes

  • PostgreSQL support is experimental in Frappe v16.
  • MariaDB is recommended for stable production deployments.
  • Use a non-root Linux user when setting up and running Bench.
  • Keep your Ubuntu packages, Node.js, Python, and Bench CLI versions aligned with your project requirements.

Table of Contents

Requirements

  • Ubuntu 24.04 LTS
  • sudo user access
  • Stable internet connection
  • Basic Linux terminal knowledge

Architecture Overview

This repository documents a clean Frappe development stack for Ubuntu 24.04:

Ubuntu 24.04
  -> system packages, Redis, MariaDB, wkhtmltopdf
  -> Node.js 22 and Yarn for frontend assets
  -> uv and Python 3.14 for Python runtime management
  -> Bench CLI for Frappe project management
  -> Frappe Framework v16 site

Installer Script

Run the included installer to prepare your machine:

bash install.sh

The script installs dependencies and developer tooling only. Site creation is still kept manual because Bench asks for database and Administrator passwords.

System Update

sudo apt update && sudo apt upgrade -y

Install Required Dependencies

sudo apt install -y git curl python3-dev python3-pip python3-venv \
redis-server mariadb-server mariadb-client \
pkg-config libffi-dev libssl-dev build-essential \
xvfb libfontconfig wkhtmltopdf

Install Node.js 22

Frappe requires Node.js for frontend asset building.

curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs
sudo npm install -g yarn

Check versions:

node -v
npm -v
yarn -v

Install uv

uv is a modern Python package and version manager.

curl -LsSf https://astral.sh/uv/install.sh | sh
source ~/.bashrc

Check uv:

uv --version

Install Python 3.14

uv python install 3.14
uv python list

Install Bench CLI

pip install frappe-bench

Check Bench:

bench --version

Initialize Frappe Bench 16

UV_PYTHON=3.14 bench init frappe-bench-16 --frappe-branch version-16
cd frappe-bench-16

Create a New Site

MariaDB Recommended

MariaDB is the recommended database for stable Frappe development and production use.

bench new-site platform.local

During site creation, Bench may ask:

Enter mysql super user [root]:

Press Enter to use the default root user.

Then enter your MariaDB root password:

MySQL root password:

Finally, set your Frappe Administrator password:

Set Administrator password:

PostgreSQL Experimental

PostgreSQL support exists in Frappe v16, but it is still evolving. Use MariaDB for production unless your project specifically requires PostgreSQL testing.

bench new-site platform.local --db-type postgres

Switch Active Site

bench use platform.local

This sets platform.local as the default site for Bench commands.

Start Frappe Server

bench start

Open the app in your browser:

http://localhost:8000

Default Login

  • Username: Administrator
  • Password: the Administrator password you set during site creation

Common Issues

MySQL Access Denied

Run MariaDB secure installation:

sudo mysql_secure_installation

If needed, reset the root authentication method:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
FLUSH PRIVILEGES;

Redis Not Running

sudo systemctl start redis-server
sudo systemctl enable redis-server

Node.js Version Issues

node -v

Node.js should be version 22 or higher.

Site Creation Failed

If a failed site exists, remove it and retry:

bench drop-site platform.local --force
bench new-site platform.local

Commands Summary

sudo apt update && sudo apt upgrade -y
bash install.sh
UV_PYTHON=3.14 bench init frappe-bench-16 --frappe-branch version-16
cd frappe-bench-16
bench new-site platform.local
bench use platform.local
bench start

PostgreSQL Note

  • PostgreSQL support in Frappe v16 is experimental.
  • Some Frappe or ERPNext features may not behave the same as MariaDB.
  • MariaDB remains the safer database choice for production deployments.

Tech Stack

  • Frappe Framework v16
  • Ubuntu 24.04 LTS
  • Python 3.14 via uv
  • Node.js 22+
  • Yarn
  • MariaDB
  • PostgreSQL experimental
  • Redis
  • Bench CLI
  • wkhtmltopdf

SEO Keywords

Frappe 16 installation Ubuntu 24.04, ERPNext v16 setup guide, Frappe Framework install, Python 3.14 uv setup, Node.js 22 Frappe, MariaDB Frappe setup, PostgreSQL Frappe experimental, Bench CLI tutorial, full-stack ERP system, Linux server Frappe install, Ubuntu Frappe development environment, Frappe production setup.

Recommended GitHub Topics

Add these topics in the GitHub repository settings:

frappe
frappe-16
frappe-framework
erpnext
ubuntu-24
ubuntu-installation
python-3-14
uv-python
nodejs-22
mariadb
postgresql
bench-cli
backend
fullstack
devops
linux-server

Author

Muhammad Faheem Iqbal
GitHub: @faheem506pk
Frontend Developer | React | Next.js | Frappe Enthusiast

Support

If this guide helped you:

  • Star the repository
  • Share it with Frappe and ERPNext developers
  • Contribute improvements through issues or pull requests

About

Complete step-by-step guide to install Frappe Framework v16 on Ubuntu 24.04 using modern tools like uv (Python 3.14), Node.js 22+, MariaDB, and PostgreSQL (experimental). Includes full setup, troubleshooting, and production-ready configuration.

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages