frappe_docker is a free, open source crm & sales project written in Python and released under MIT. It has 2,565 GitHub stars, 2,718 forks and 15 open issues, and was last pushed 10 hours ago. On this registry it ranks #5 of 11 tracked projects in CRM & Sales, with 5 head-to-head comparisons available. It gained 2 stars over the last 3 tracked days.

What is frappe_docker?

What it is

Frappe Docker is the official container setup for Frappe applications, including ERPNext, CRM, Helpdesk, and other apps built on the Frappe framework. It lives in the self-hosted business software ecosystem, where organizations need a repeatable way to package, run, and operate web applications without depending on a vendor-hosted service. The project supplies Docker images, Docker Compose configurations, and documentation so teams can run Frappe applications on their own infrastructure.

The problem it solves is the gap between the Frappe application stack and a reproducible container deployment. The repository gives a quick demo setup, a base production compose file, and documentation for production use. It also supports building custom app images, which helps teams deploy Frappe-based software beyond the standard ERPNext, CRM, and Helpdesk applications.

Key capabilities

  • Provides Docker images and Docker Compose configurations for running Frappe applications, including ERPNext, CRM, Helpdesk, and other Frappe apps.
  • Offers a disposable demo setup through the pwd.yml compose file for short-lived evaluation before a production deployment is planned.
  • Supports production deployment through the base compose.yaml file and overrides for common deployment patterns.
  • Includes documentation for deployment methods, container setup, production operation, development workflows, and ARM64 notes.
  • Supports custom application images and development configurations, including a VS Code devcontainer example.

Who uses it and how

  • Teams evaluating ERPNext, CRM, or Helpdesk can start with the demo environment, wait for the create-site container, and open port 8080 with Administrator and admin credentials.
  • Self-hosters can use the base compose file, overrides, and production documentation to shape a deployment for their own infrastructure.
  • Developers building custom Frappe apps can use the images directory and development configuration to create container images with their own code.
  • Operators can follow the operations documentation for running the stack after the initial containers are started.

Getting started

The README lists Docker, Docker Compose v2, and git as prerequisites. The quick start is to clone the frappe_docker repository, run the pwd.yml compose file, wait for the site to be created, and open the demo on port 8080.

When to use it — and when not to

Frappe Docker is useful when a team wants to self-host Frappe applications and needs an official container path for development, demonstration, and production deployment. It is not a hosted service, so teams must still operate the deployment themselves. The demo setup is disposable and cannot install custom apps, so production use should rely on the production documentation and compose overrides.

project readme (upstream, from github) — read inline

Frappe Docker

Docker images and orchestration for Frappe applications.

Build Stable Build Develop Docs

What is this?

This repository is the official container setup for Frappe applications.

It provides Docker images, Compose configurations, and documentation for running Frappe applications, including ERPNext, CRM, Helpdesk, and other Frappe apps, in containers.

Use it if you want to:

  • run ERPNext, CRM, Helpdesk, or other Frappe apps with Docker
  • start from a quick demo setup
  • use production-ready Docker images and Compose setups
  • build custom app images
  • deploy and operate Frappe in production

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 full frappe_docker documentation is available in docs/ and published at frappe.github.io/frappe_docker.

Recommended entry points:

Prerequisites

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

Demo setup

The fastest way to try Frappe locally is with the single-file demo setup in pwd.yml.

Try on your environment

⚠️ Disposable demo only

This setup is intended for short-lived evaluation only. 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)

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.

Frequently asked questions

Is frappe_docker free to use?

frappe_docker is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does frappe_docker do?

Docker environment for developing, deploying, and running Frappe applications (ERPNext and custom apps) in production and development

What is frappe_docker written in?

frappe_docker is primarily written in Python. Its source is publicly available at https://github.com/frappe/frappe_docker, and it has 2,565 GitHub stars.