Production-ready candidate Pingora reverse proxy profile for ERPNext/Frappe benches.
This project routes ERPNext traffic like this:
client -> Pingora
/socket.io -> ERPNext realtime/socket.io upstream
everything else -> ERPNext web upstream
It is intended as a second reverse-proxy option beside the common nginx setup. It is not an official ERPNext, Frappe, Pingora, or Cloudflare project.
This proxy is considered production-ready for an environment only after its production gate passes in that same environment:
./scripts/production-gate.shThe gate verifies build health, ERPNext web routing, socket.io routing, response headers, and HTTP load behavior.
Validated environment and results:
docs/tested-matrix.mddocs/production-validation-report.md
- Pingora-based HTTP reverse proxy
- ERPNext site host forwarding
/socket.iorouting to the realtime serviceX-Forwarded-*,X-Real-IP, andX-Frappe-Site-Nameupstream headers- Health endpoint at
/_pingora_health - Configurable via environment variables
- Rust toolchain
- Running ERPNext/Frappe bench
- ERPNext web server, usually on
127.0.0.1:8000 - ERPNext realtime/socket.io server, usually on
127.0.0.1:9000
Copy the example env file:
cp .env.example .envDefault values:
PINGORA_LISTEN=127.0.0.1:8088
PINGORA_WEB_UPSTREAM=127.0.0.1:8000
PINGORA_SOCKETIO_UPSTREAM=127.0.0.1:9000
PINGORA_SITE_HOST=erpnext.localhost
PINGORA_FORWARDED_PROTO=http
RUST_LOG=infoDevelopment:
RUST_LOG=info cargo runRelease build:
cargo build --releaseWith the helper script:
scripts/start-prod.sh
scripts/stop-prod.shThen open:
http://127.0.0.1:8088
Health check:
curl http://127.0.0.1:8088/_pingora_healthRun the repeatable production gate:
./scripts/production-gate.shSee docs/production-gate.md for load-test knobs and release criteria.
For public production use, verify TLS, domain configuration, service supervision, log rotation, firewall rules, and ERPNext production process management in the target environment.
Pingora is an open-source project by Cloudflare. See the Pingora project and its license before adopting this in production.