Serving a Laravel web application with FrankenPHP is as easy as mounting the project in the /app
directory of the official Docker image.
Run this command from the main directory of your Laravel app:
docker run -p 443:443 -v $PWD:/app dunglas/frankenphp
And enjoy!
Alternatively, you can run your Laravel projects with FrankenPHP from your local machine:
Add the following configuration to a file named Caddyfile
in the root directory of your Laravel project:
{
frankenphp
order php_server before file_server
}
# The domain name of your server
localhost {
# Set the webroot to the public/ dir
root * public/
# Enable compression (optional)
encode zstd gzip
# Execute PHP files in the current directory and serve assets
php_server {
# Required for the public/storage/ dir
resolve_root_symlink
}
}
Start FrankenPHP from the root directory of your Laravel project: ./frankenphp run
See this Pull Request.