Docker environment for developing, deploying, and running Frappe applications (ERPNext and custom apps) in production and development
Find a file
2026-03-31 16:40:41 +02:00
.github chore(deps): bump actions/deploy-pages from 4 to 5 2026-03-26 08:22:38 +00:00
.vscode chore(lint): Run prettier 2021-12-10 11:53:43 +03:00
devcontainer-example Remoed the version attribute from docker compose files 2025-12-17 11:10:10 +02:00
development chore: Add configuration for Bench Default Worker in launch.json (#1652) 2025-07-04 11:22:35 +05:30
docs chore(deps): bump @isaacs/brace-expansion from 5.0.0 to 5.0.1 in /docs 2026-03-19 11:02:11 +00:00
images fix: copy security_headers.conf before chown 2026-03-24 18:48:20 -07:00
overrides Merge pull request #1837 from IB2357/fix/redis-network-isolation 2026-03-16 15:55:11 +01:00
resources/core/nginx fix(nginx): set absolute_redirect off 2026-03-31 16:40:41 +02:00
tests style: fix linting issues with black 2026-03-18 10:14:54 +07:00
.dockerignore Global refactoring (#617) 2022-03-14 11:23:03 +05:30
.editorconfig chore: Use pre-commit framework (#604) 2021-12-10 11:48:00 +03:00
.gitignore fix(lint): resolve pre-commit formatting 2026-03-19 11:57:06 +01:00
.pre-commit-config.yaml chore(pre-commit): exclude docs pnpm lockfile from prettier 2026-03-19 12:25:24 +01:00
.shellcheckrc chore(lint): Take hooks configs out so linting works without pre-commit too (#609) 2021-12-10 12:31:44 +03:00
CODE_OF_CONDUCT.md #1402 Environment variables for custom image (#1403) 2024-06-08 00:21:17 +05:30
compose.yaml feat: add chromium pdf generator support 2026-02-16 06:51:59 -08:00
CONTRIBUTING.md fix: More details in contributing 2026-03-16 00:01:28 +05:30
docker-bake.hcl fix(bake): synchronize production build versions for v16 compliance (#1810) (#1823) 2026-03-03 06:16:06 +05:30
example.env chore: Update example.env 2026-03-23 17:02:54 +00:00
install_x11_deps.sh Cypress UI Test service and updates to installer.py (#1250) 2023-10-26 08:35:31 +05:30
LICENSE chore: Rename LICENSE.md to LICENSE (#608) 2021-12-10 16:25:57 +05:30
pwd.yml chore: Update example.env 2026-03-23 17:02:54 +00:00
README.md docs(readme): refactor readme to explaining how to navigate this repository (#1779) 2026-01-02 02:30:45 +05:30
requirements-test.txt chore(deps): bump pytest from 9.0.1 to 9.0.2 (#1761) 2025-12-11 06:09:36 +05:30
setup.cfg Use pytest (#705) 2022-03-24 10:40:56 +03:00

Frappe Docker

Build Stable Build Develop

Docker images and orchestration for Frappe applications.

What is this?

This repository handles the containerization of the Frappe stack, including the application server, database, Redis, and supporting services. It provides quick disposable demo setups, a development environment, production-ready Docker images and compose configurations for deploying Frappe applications including ERPNext.

Repository Structure

frappe_docker/
├── docs/                 # Complete documentation
├── overrides/            # Docker Compose configurations for different scenarios
├── compose.yaml          # Base Compose File for production setups
├── pwd.yml               # Single Compose File for quick disposable demo
├── images/               # Dockerfiles for building Frappe images
├── development/          # Development environment configurations
├── devcontainer-example/ # VS Code devcontainer setup
└── resources/            # Helper scripts and configuration templates

This section describes the structure of this repository, not the Frappe framework itself.

Key Components

  • docs/ - Canonical documentation for all deployment and operational workflows
  • overrides/ - Opinionated Compose overrides for common deployment patterns
  • compose.yaml - Base compose file for production setups (production)
  • pwd.yml - Disposable demo environment (non-production)

Documentation

The official documentation for frappe_docker is maintained in the docs/ folder in this repository.

New to Frappe Docker? Read the Getting Started Guide for a comprehensive overview of repository structure, development workflow, custom apps, Docker concepts, and quick start examples.

If you are already familiar with Frappe, you can jump right into the different deployment methods and select the one best suited to your use case.

Prerequisites

For Docker basics and best practices refer to Docker's documentation

Demo setup

The fastest way to try Frappe is to play in an already set up sandbox, in your browser, click the button below:

Try in PWD

Try on your environment

⚠️ Disposable demo only

This setup is intended for quick evaluation. Expect to throw the environment away. You will not be able to install custom apps to this setup. For production deployments, custom configurations, and detailed explanations, see the full documentation.

First clone the repo:

git clone https://github.com/frappe/frappe_docker
cd frappe_docker

Then run:

docker compose -f pwd.yml up -d

Wait for a couple of minutes for ERPNext site to be created or check create-site container logs before opening browser on port 8080. (username: Administrator, password: admin)

Getting Started Guide

Frequently Asked Questions

Getting Started

Deployment Methods

ARM64

Container Setup Overview

Development

Contributing

Contributions are welcome! Please see CONTRIBUTING.md for guidelines.

This repository is only for container related stuff. You also might want to contribute to:

Resources

License

This repository is licensed under the MIT License. See LICENSE for details.