FrankenWP (Wordpress on FrankenPHP)
-
- Title: FrankenWP on Cloudron
- Main Page: https://github.com/StephenMiracle/frankenwp
- Git: https://github.com/StephenMiracle/frankenwp
- Licence: MIT License
- Dockerfile: Yes
- Demo: n/a
- Summary: An enterprise-grade WordPress image built for scale. It uses the new FrankenPHP server bundled with Caddy. Lightning-fast server side caching Caddy module.
Why FrankenPHP?
FrankenPHP is built on Caddy, a modern web server built in Go. It is secure & performs well when scaling becomes important. It also allows us to take advantage of built-in mature concurrency through goroutines into a single Docker image. high performance in a single lean image.Check out FrankenPHP Here: https://frankenphp.dev/
- Notes: excited about its performance and scalability, specifically because of concurrency in the go-based frankenphp
- Alternative to / Libhunt link: n/a
- Screenshots: n/a
-
via Arya
🦾 Cool Applications for FrankenPHP
FrankenPHP's unique architecture—merging the Caddy web server with a modern PHP worker—unlocks a new tier of performance and functionality for PHP applications. Here are some exciting use cases it can support.
High-Performance Web Applications & APIs
-
Native PHP Frameworks (Laravel, Symfony):
- Benefit: Dramatically reduces response times by keeping the application bootstrapped in memory between requests. Eliminates the traditional PHP-FPM overhead.
- Ideal For: High-traffic SaaS platforms, enterprise applications, and complex APIs where every millisecond of latency counts.
-
Headless CMS Backends (Strapi, Directus - PHP ports/custom):
- Benefit: Provides incredibly fast content delivery for JAMstack sites, mobile apps, and other frontends. The worker mode ensures instant API responses.
- Ideal For: Developers building sites with Next.js, Nuxt, or SvelteKit who want a powerful, programmable backend without Node.js.
-
Real-time Applications:
- Benefit: While not a WebSocket server itself, its performance makes it an excellent backend for real-time features (handled by a separate WebSocket server) that require rapid API calls for data persistence and authentication.
️ Specialized Workloads & Microservices
-
gRPC Services:
- Benefit: FrankenPHP has built-in support for gRPC, a high-performance RPC framework. You can now write microservices in PHP that communicate efficiently with services in other languages (Go, Python, Java).
- Ideal For: Creating a performant, inter-service communication layer within a larger microservices architecture.
-
Queue Workers:
- Benefit: You can write long-running PHP scripts that process queues (e.g., for sending emails, processing video, generating reports) without worrying about script timeouts, as the worker is persistent.
- Ideal For: Offloading heavy, asynchronous tasks from your main web application.
-
Data Processing & ETL Pipelines:
- Benefit: The ability to run persistent scripts makes PHP viable for data-intensive tasks that require loading large datasets into memory once and processing them continuously.
- Ideal For: Building custom internal tools for data transformation, aggregation, and analysis.
️ Developer Experience & Modern Workflows
-
Static Site Generators:
- Benefit: The embedded Caddy server can serve built static files with exceptional performance. You can also build a dynamic SSG in PHP that runs at near-instant speed due to worker mode.
- Ideal For: Generating blogs, documentation sites, and marketing pages with the power of PHP templating but the speed of static hosting.
-
Development Environments & Tooling:
- Benefit: The single-binary nature of FrankenPHP makes it trivial to version and distribute. It's perfect for
docker-compose
setups or local dev environments, eliminating complex webserver configs. - Ideal For: Teams standardizing their development environment to be fast, consistent, and easy to set up.
- Benefit: The single-binary nature of FrankenPHP makes it trivial to version and distribute. It's perfect for
-
Serverless Functions (Early Stage):
- Benefit: With its quick cold start times (especially using the
--worker
script), FrankenPHP is a compelling runtime for PHP-based serverless functions or FaaS (Function-as-a-Service) platforms. - Ideal For: Event-driven computing where you need to run PHP code without managing a full server.
- Benefit: With its quick cold start times (especially using the
Key FrankenPHP Features That Enable This:
- Worker Mode: Persists your application in memory. This is the game-changer.
- Automatic HTTPS: Powered by Caddy, it's set up by default.
- Early Hints: Send
103 Early Hints
responses to speed up page loads. - Built-in Compression: Automatic gzip and Brotli compression.
- Single Binary: Easy to install, deploy, and run anywhere.
-