Production-ready FrankenPHP: custom Caddy build, 56 PHP extensions, Composer, WP-CLI, Node.js
1.9K
Maintained by morsalin1342 · GitHub
FrankenPHP is a modern PHP app server built in Go. This image bundles a custom-compiled Caddy web server, 56 PHP extensions, and essential CLI tools — everything you need to run production PHP applications in a single container.
| Feature | Official image | This image |
|---|---|---|
| Caddy modules | Minimal | ✅ 16 — WAF, rate limiting, Brotli, Souin, 6 DNS |
| Web application firewall | ❌ | ✅ OWASP Coraza, Core Rule Set compiled in |
| PHP extensions | Few built in | ✅ 56 pre-installed |
| Composer / WP-CLI | ❌ | ✅ Both |
| Node.js | ❌ | ✅ v24, configurable |
| Supervisor + Cron | ❌ | ✅ |
| Debian releases | One | ✅ bookworm and trixie |
# docker-compose.yml
services:
app:
image: morsalin1342/frankenphp:8.4
ports:
- "80:80"
- "443:443"
- "443:443/udp"
volumes:
- ./public:/app
- ./Caddyfile:/etc/caddy/Caddyfile
# Caddyfile
:80 {
root * /app
encode zstd gzip
php_server
file_server
}
| Tag | PHP | Base OS |
|---|---|---|
latest, 8.5, 8.5-bookworm | 8.5 | bookworm |
8.4, 8.4-bookworm | 8.4 | bookworm |
8.3, 8.3-bookworm | 8.3 | bookworm |
8.2, 8.2-bookworm | 8.2 | bookworm |
8.5-trixie … 8.2-trixie | 8.2–8.5 | trixie |
bookworm owns the unsuffixed tags; append -trixie for Debian 13.
FROM morsalin1342/frankenphp:8.4
RUN install-php-extensions xdebug
COPY php.ini /usr/local/etc/php/php.ini
Q: Can I add extensions?
A: Yes — RUN install-php-extensions <name> in a layer on top; the installer is already in the image.
Q: How do I run queue workers?
A: Supervisor is installed. Mount your config into /etc/supervisor/conf.d/.
Q: bookworm or trixie?
A: Unsuffixed tags are bookworm. Append -trixie for Debian 13.
| Image / Tool | Description |
|---|---|
| morsalin1342/caddy | Standalone Caddy with WAF, rate limiting & caching |
| morsalin1342/php | Traditional PHP-FPM & CLI images |
| morsalin1342/nginx | nginx with ModSecurity 3, Brotli, zstd & GeoIP2 |
| easydigital/frankenphp | Enterprise org mirror |
| caddy-souin-cache-manager | Manage this image's Souin cache from WP Admin |
⭐ If this image helps you, consider giving it a star on GitHub!
Content type
Image
Digest
sha256:4a5e5ae90…
Size
535.9 MB
Last updated
28 days ago
docker pull morsalin1342/frankenphp