Jenkins builds from apps.json, pushes to Forgejo registry, and archives Coolify image tags; compose installs all apps on first site creation.
1.7 KiB
1.7 KiB
Production ERPNext on Coolify
Custom Docker image and Compose stack for ERPNext plus HRMS, Lending, and LMS (Learning) on Coolify. Derived from frappe/frappe_docker.
Repository: https://git.aexoradao.com/epistemophiliac/erpnext
Apps baked into the image
| App | Source | Branch |
|---|---|---|
| ERPNext | frappe/erpnext | version-16 |
| Payments | frappe/payments | version-16 (required by LMS) |
| HRMS | frappe/hrms | version-16 |
| Lending | frappe/lending | version-16 |
| LMS (Learning) | frappe/lms | v2.55.0 |
Defined in apps.json. Edit that file and push to change apps; Jenkins rebuilds the image.
Pipeline (Jenkins)
- Validate compose + readiness
- Build custom image (
images/layered/Containerfile) - Push to Forgejo registry:
git.aexoradao.com/epistemophiliac/erpnext:main-<sha>and:main - Archive
dist/coolify-image.envwithCUSTOM_IMAGE/CUSTOM_TAGfor Coolify
See docs/JENKINS.md.
Coolify deploy (you configure)
- Docker Compose from this git repo, file
docker-compose.yml - Env vars from
example.env— useCUSTOM_TAGfrom latest green Jenkins build - Domain on service
frontend, port8080
Local checks
make ci # validate only
BUILD_IMAGE=1 bash scripts/ci/jenkins-run.sh # build image locally (slow)
Stack services
MariaDB, Redis, configurator, create-site, migrator, backend, frontend (8080), websocket, workers.
License
Compose and docs: MIT. Frappe/ERPNext apps: see upstream licenses.