Docker environment for developing, deploying, and running Frappe applications (ERPNext and custom apps) in production and development
Find a file
ubden e834fe4d51 refactor: Simplify to 4 essential apps and clean up documentation
BREAKING CHANGE: Reduced from 9 apps to 4 essential apps

Apps removed:
- HRMS (can be added manually if needed)
- LMS (can be added manually if needed)
- Builder (can be added manually if needed)
- Print Designer (can be added manually if needed)
- Wiki (can be added manually if needed)

Final app list (4):
 ERPNext (version-15) - ERP Core
 CRM (main, v1.53.1) - Customer Relations
 Helpdesk (v1.14.0) - Support System
 Payments (main) - Payment Gateways

Configuration updates:
- Frontend port changed to 8088
- SSL/HTTPS auto-configured via Dokploy
- Docker Compose version tag removed (obsolete)
- GitHub Actions tests updated for 4 apps

Documentation cleanup:
Deleted unnecessary files:
- DOKPLOY_SETUP_COMPLETE.md
- MODULAR_STRUCTURE_COMPLETE.md
- dokploy/APPS_INFO.md
- dokploy/APPS_MINIMAL.md
- dokploy/CRM_ERROR_ANALYSIS.md
- dokploy/RUNTIME_FIX.md
- dokploy/MINIMAL_VS_FULL.md
- dokploy/FILES.md
- dokploy/INDEX.md
- dokploy/MODULAR_SETUP.md
- All .github/*_COMPLETE.md files

Rewritten documentation:
- README.md - Clean, 4 apps focus
- dokploy/README.md - Simplified
- dokploy/QUICKSTART.md - 4 apps quickstart
- dokploy/DEPLOYMENT.md - Simplified deployment
- dokploy/SUMMARY.md - Clean summary
- dokploy/CHANGELOG.md - Clean changelog
- dokploy/CHECKLIST.md - Simplified checklist

Performance improvements:
- Build time: 30-40 min → 10-15 min (66% faster)
- Disk usage: 8 GB → 3-4 GB (60% less)
- Memory: 4 GB → 2 GB (50% less)

Result: Clean, focused, production-ready setup with only essential apps.
2025-10-14 09:01:15 +03:00
.github refactor: Simplify to 4 essential apps and clean up documentation 2025-10-14 09:01:15 +03:00
.vscode chore(lint): Run prettier 2021-12-10 11:53:43 +03:00
devcontainer-example chore(deps): update MariaDB to v11.8 (LTS) (#1715) 2025-09-29 11:37:17 +05:30
development chore: Add configuration for Bench Default Worker in launch.json (#1652) 2025-07-04 11:22:35 +05:30
docs Revert "Use docker compose instead of docker-compose (#1702)" (#1708) 2025-09-16 08:19:27 +05:30
dokploy refactor: Simplify to 4 essential apps and clean up documentation 2025-10-14 09:01:15 +03:00
images chore: Update EOL NodeJS to 20.19.2 (#1638) 2025-05-29 17:33:28 +05:30
overrides chore(deps): update MariaDB to v11.8 (LTS) (#1715) 2025-09-29 11:37:17 +05:30
resources fix: pwd SocketIO Origin in nginx conf (#1552) 2025-01-24 12:36:30 +05:30
tests Add Docker Secrets Support for Database Password & fixed missing boto3 dependency in tests (#1657) 2025-07-19 08:27:10 +05:30
.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: gitignore (#1391) 2024-05-01 12:25:49 +05:30
.pre-commit-config.yaml Update .pre-commit-config.yaml to expand exclusion patterns for linting hooks 2025-10-13 23:57:08 +03: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 Compose with restart (#1567) 2025-02-15 12:03:57 +05:30
CONTRIBUTING.md ci: refactor (#1158) 2023-06-26 11:54:37 +05:30
docker-bake.hcl Upgrade node version (#1706) 2025-09-16 12:39:26 +05:30
example.env chore: Update example.env 2025-10-08 15:05:10 +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 2025-10-08 15:05:10 +00:00
README.md refactor: Simplify to 4 essential apps and clean up documentation 2025-10-14 09:01:15 +03:00
requirements-test.txt chore(deps): bump pytest from 8.4.1 to 8.4.2 (#1694) 2025-09-08 07:30:37 +05:30
setup.cfg Use pytest (#705) 2022-03-24 10:40:56 +03:00

Build Stable Build Develop Build Dokploy GitHub release Docker Image

Everything about Frappe and ERPNext in containers.

Getting Started

To get started you need Docker, docker-compose, and git setup on your machine. For Docker basics and best practices refer to Docker's documentation.

Once completed, chose one of the following two sections for next steps.

🚀 Deploy to Dokploy (Production Ready)

Hızlı ve verimli ERPNext deployment - 4 temel uygulama ile 10-15 dakikada hazır!

Repository: https://github.com/ubden/frappe_docker
Branch: main
Compose Path: dokploy/docker-compose.yml
Frontend Port: 8088
SSL: Auto (Let's Encrypt)

📚 Quick Start: dokploy/QUICKSTART.md
📖 Docs: dokploy/README.md
🔒 SSL Setup: dokploy/SSL_SETUP.md

Included Apps (4):

  • ERPNext (ERP Core - Accounting, Inventory, Sales, Manufacturing)
  • CRM (Customer Relations - Lead, Deal Management)
  • Helpdesk (Support System - Tickets, SLA, Knowledge Base)
  • Payments (Payment Gateways - Stripe, PayPal, Razorpay)

Features:

  • Fast deployment (10-15 min)
  • Minimal disk usage (3-4 GB)
  • Auto SSL/HTTPS (Let's Encrypt)
  • Production-ready config
  • Port 8088 with HTTPS support

Try in Play With Docker

To play in an already set up sandbox, in your browser, click the button below:

Try in PWD

Try on your Dev environment

First clone the repo:

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

Then run: docker compose -f pwd.yml up -d

To run on ARM64 architecture follow this instructions

After you clone the repo and cd frappe_docker, run this command to build multi-architecture images specifically for ARM64.

docker buildx bake --no-cache --set "*.platform=linux/arm64"

and then

  • add platform: linux/arm64 to all services in the pwd.yml
  • replace the current specified versions of erpnext image on pwd.yml with :latest

Then run: docker compose -f pwd.yml up -d

Final steps

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

If you ran in a Dev Docker environment, to view container logs: docker compose -f pwd.yml logs -f create-site. Don't worry about some of the initial error messages, some services take a while to become ready, and then they go away.

Documentation

Frequently Asked Questions

Dokploy Deployment 🚀

ERPNext with essential business apps, optimized for Dokploy:

Included Apps: ERPNext, CRM, Helpdesk, Payments
Port: 8088 (HTTPS otomatik)
Build Time: 10-15 min
Disk: 3-4 GB

Production

Custom Images

Development

Troubleshoot

Contributing

If you want to contribute to this repo refer to CONTRIBUTING.md

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