No description
Jenkins sh steps use dash; move compose validation into a bash script like the other CI stages. |
||
|---|---|---|
| docs | ||
| scripts/ci | ||
| .gitignore | ||
| docker-compose.yml | ||
| example.env | ||
| Jenkinsfile | ||
| Makefile | ||
| README.md | ||
Production ERPNext on Coolify
Validated Docker Compose stack for ERPNext on Coolify, derived from frappe/frappe_docker.
Repository: https://git.aexoradao.com/epistemophiliac/erpnext
Quick start (Coolify)
- New Resource → Docker Compose
- Git repository:
https://git.aexoradao.com/epistemophiliac/erpnext - Compose file:
docker-compose.yml - Set environment variables from
example.env(at minimumDB_PASSWORD,SITE_NAME,ADMIN_PASSWORD) - Assign your domain to service
frontend, port8080 - Deploy — first boot creates the site and installs ERPNext (~5–15 minutes)
Login: user Administrator, password = ADMIN_PASSWORD.
What this stack includes
| Service | Role |
|---|---|
db |
MariaDB 11.8 |
redis-cache / redis-queue |
Cache and job queue |
configurator |
One-shot bench config |
create-site |
Idempotent site + ERPNext install |
migrator |
bench migrate on redeploy |
backend |
Gunicorn API |
frontend |
Nginx (port 8080) |
websocket |
Socket.IO realtime |
queue-short / queue-long / scheduler |
Background workers |
CI (Jenkins)
Jenkins runs the same checks on every build via Jenkinsfile:
scripts/ci/ci-readiness.sh— secrets, docs, compose checksscripts/ci/validate-docker-compose.sh— Coolify compose rules +docker compose configdocker compose config+ pull pinnedfrappe/erpnextimage
Jenkins: see docs/JENKINS.md — Multibranch needs Discover branches behaviour, or use a simple Pipeline job on main.
Run locally:
make ci
Requirements
- Coolify server with 4 GB+ RAM (8 GB recommended)
- Domain DNS pointing to your Coolify proxy
SITE_NAMEandFRAPPE_SITE_NAME_HEADERmust match the Coolify domain
Documentation
License
Compose and docs: MIT. ERPNext/Frappe images: see upstream licenses.