Laravel Octane Setup with FrankenPHP
Steps to run Laravel Octane with FrankenPHP in a Docker container.
Tested using Laravel v12 and FrankenPHP v1.5.0
Install Laravel Octane
Refer to the official Larvel Octane installation instructions.
# Install Laravel Octane
composer require laravel/octane
# Do not download frankenphp when prompted
php artisan octane:install --server=frankenphpFilename: Dockerfile
Create a tiny FrankenPHP docker image.
# Filename: Dockerfile
# Build a FrankenPHP docker image.
FROM gcr.io/distroless/static-debian12
# Uncomment your architecture below
ADD --chown=root:root --chmod=755 https://github.com/dunglas/frankenphp/releases/download/v1.5.0/frankenphp-linux-x86_64 /frankenphp
#ADD --chown=root:root --chmod=755 https://github.com/dunglas/frankenphp/releases/download/v1.5.0/frankenphp-linux-aarch64 /frankenphp
# On Debian/Ubuntu this is www-data:www-data
USER 33:33
WORKDIR /app/public
ENTRYPOINT ["/frankenphp", "php-server"]Filename: docker-compose.yml
# Filename: docker-compose.yml
# Run Laravel Octane with FrankenPHP
name: frankenphp-localhost
services:
frankenphp:
build: .
container_name: frankenphp.localhost
ports:
- "8080:80"
environment:
- 'SERVER_NAME=:80'
command: ["/frankenphp", "php-cli", "/app/artisan", "octane:frankenphp"]
volumes:
- ./www:/app # ./www is the Laravel root dir
- ./local:/.local # Run "mkdir local; sudo chown www-data:www-data local" in advance