FrankenPHP vs River
A side-by-side comparison of two self-hosted reverse proxy & gateways options — licensing, setup difficulty, resource needs, and what each one replaces.
Not the right match-up?
FrankenPHP
Modern PHP application server built on Caddy
VS
River
Configurable reverse proxy from the Pingora project
| Feature | FrankenPHP | River |
|---|---|---|
| Category | Reverse Proxy & Gateways | Reverse Proxy & Gateways |
| License | MIT | Apache-2.0 |
| Language | Go | Rust |
| Setup difficulty | Medium | Medium |
| Min. RAM | 256 MB | 64 MB |
| Deployment | docker, binary | binary, source |
| GitHub stars | ★ 11,275 | ★ 2,351 |
| First released | 2022 | 2024 |
| Replaces | nginx, Apache HTTP Server | nginx, HAProxy |
Why pick each one
Choose FrankenPHP if…
- Released under the MIT license
- First-class Docker support for quick deployment
- Mature project with 11.3k GitHub stars
- Written in Go
Choose River if…
- Released under the Apache-2.0 license
- Active community (2.4k GitHub stars)
- Written in Rust
- Tiny footprint — runs in 64 MB RAM
Frequently asked questions
Is FrankenPHP or River better?
Neither is universally better. FrankenPHP has the larger community; both share a medium setup difficulty, so the decision comes down to features and licensing.
Are FrankenPHP and River free and open-source?
Yes. FrankenPHP is licensed under MIT and River under Apache-2.0. Both can be self-hosted at no software cost.
Can I run FrankenPHP and River with Docker?
FrankenPHP: yes. River: check the project docs for container support.