This is a simple demo of how to deploy a Laravel application served by FrankenPHP in a Docker container on Clever Cloud. You'll need a Clever Cloud account and Clever Tools.
npm i -g clever-tools
clever login
To create the Laravel application, you'll need Composer, then:
composer create-project laravel/laravel frankenLaravel
cd frankenLaravel
git init
We set the port (8080
) of FrankenPHP via SERVER_NAME
. We also set APP_ENV
and APP_KEY
used by Laravel:
clever create -t docker
clever env set APP_KEY "$(grep '^APP_KEY=' .env | cut -d '=' -f2)"
clever env set APP_ENV "production"
clever env set SERVER_NAME ":8080"
cat << 'EOF' > Dockerfile
FROM dunglas/frankenphp
COPY . /opt/app/
WORKDIR /opt/app/
# Install dependencies
RUN apt-get update && apt-get install -y \
git \
zip \
unzip
# Install composer
RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" && \
php composer-setup.php && \
php -r "unlink('composer-setup.php');" && \
php composer.phar install
EOF
You can also choose to download the Dockerfile from this repository:
wget -q https://raw.githubusercontent.com/davlgd/frankenphp-laravel-demo/main/Dockerfile
git add . && git commit -m "Initial commit"
clever deploy
clever open
After the deployment, you should see the Laravel application running on Clever Cloud.