Skip to content

Docker images for production and development setups of the Frappe framework and ERPNext

License

Notifications You must be signed in to change notification settings

appliedrelevance/frappe_docker

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,638 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Stable Build Develop

Everything about Frappe and ERPNext in containers, with integrated industrial automation capabilities through EpiBus.

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.

Setup Development Environment

First clone the repo:

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

Quick Start with EpiBus Integration

This setup includes industrial automation capabilities through EpiBus, OpenPLC, and PLC Bridge integration.

Step 1: Build Custom Image with EpiBus

# Build custom Docker image with EpiBus included
./development/build-epibus-image.sh

Step 2: Configure Environment

Copy and configure environment file:

cp example.env .env
# Edit .env to set:
# CUSTOM_IMAGE=frappe-epibus
# CUSTOM_TAG=latest
# PULL_POLICY=never

Step 3: Start All Services (Including OpenPLC and PLC Bridge)

For Mac M-series (ARM64):

docker compose \
  -f compose.yaml \
  -f overrides/compose.mariadb.yaml \
  -f overrides/compose.redis.yaml \
  -f overrides/compose.mac-m4.yaml \
  -f overrides/compose.openplc.yaml \
  -f overrides/compose.plc-bridge.yaml \
  up -d

For x86_64 systems:

docker compose \
  -f compose.yaml \
  -f overrides/compose.mariadb.yaml \
  -f overrides/compose.redis.yaml \
  -f overrides/compose.openplc.yaml \
  -f overrides/compose.plc-bridge.yaml \
  up -d

Step 4: Create Site with EpiBus Integration

# Wait for services to be ready, then create site
# CRITICAL: Use --mariadb-user-host-login-scope=% for Docker network compatibility
docker compose exec backend \
  bench new-site intralogistics.localhost \
  --admin-password admin \
  --db-root-password 123 \
  --mariadb-user-host-login-scope=% \
  --install-app erpnext \
  --install-app epibus

Access the Application

  1. Find the frontend port: Use docker compose ps to find the auto-assigned port for the frontend service
  2. Access web interface: Open http://localhost:<port>/ in your browser
  3. Login credentials: Username: Administrator, Password: admin

To view container logs:

docker compose logs -f configurator
docker compose logs -f backend

Access Industrial Automation Features

  • EpiBus Dashboard: Navigate to "EpiBus" module after login
  • OpenPLC Web Interface: Use ./get-openplc-port.sh to get port number
  • PLC Bridge API: Available on port 7654 for real-time PLC communication
  • MODBUS Communication: Monitor and control PLC signals through EpiBus interface

Troubleshooting

If you encounter database connection issues after restarting containers, run:

# Get current backend container IP
BACKEND_IP=$(docker compose exec backend hostname -i)
# Grant database access (adjust user/password as needed)
docker compose exec db mysql -u root -p123 -e "GRANT ALL PRIVILEGES ON *.* TO 'site_user'@'$BACKEND_IP'; FLUSH PRIVILEGES;"

Documentation

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:

About

Docker images for production and development setups of the Frappe framework and ERPNext

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 35.3%
  • Shell 30.0%
  • Dockerfile 29.9%
  • HCL 4.8%