Deploy Laravel on Deployxa.

Deploy Laravel with Composer builds, config and route caching, database migrations, managed MySQL or PostgreSQL, and HTTPS.

All frameworks

01 / Quickstart

Deploy from your terminal.

Install the CLI and deploy the Laravel project in your current directory, or connect the repository in the console for push-to-deploy.

  • Typical database: MySQL or PostgreSQL
  • Build and start commands can be overridden
  • Secrets stay out of build logs
deploy · laravel
$ npm install -g @deployxa/cli$ deployxa login$ deployxa deploy

02 / Guide

How Laravel goes to production.

  1. 01 /

    Connect the repository

    Deployxa finds composer.json and artisan, selects PHP and serves the public/ directory.

  2. 02 /

    Attach a database

    Add managed MySQL or PostgreSQL; the connection details are injected as environment variables.

  3. 03 /

    Cache and migrate

    Run config:cache, route:cache and migrate --force so the release starts with an up-to-date schema.

  4. 04 /

    Go live

    Traffic switches once the new release passes its health check.

03 / Configuration

Environment variables.

Set these in project settings. Values are never written to build logs.

Recommended environment variables for Laravel
VariablePurposeExample
APP_ENVApplication environmentproduction
APP_KEYEncryption key from php artisan key:generatebase64:...
APP_DEBUGKeep detailed errors off in productionfalse
DB_CONNECTIONDatabase drivermysql
CACHE_STORECache backendredis

04 / Included

What every deploy gets.

  • Stack detection

    Deployxa reads your repository and picks the runtime, build and start commands. Override any of them in project settings.

  • Isolated builds

    Every push builds in its own sandbox with cached dependencies and layers.

  • Managed databases

    Attach PostgreSQL, MySQL or Redis and the connection details are injected as environment variables.

  • HTTPS by default

    Every deploy gets a deployxa.online URL with a Let's Encrypt certificate; custom domains too.

  • Health-checked releases

    Traffic only switches to a release that passes its health check, and earlier releases stay available for rollback.

  • Push to deploy

    Connect GitHub, GitLab or Bitbucket and each push to your branch ships a new release.

05 / FAQ

Laravel questions.

How are migrations handled?

php artisan migrate --force runs during the release. If it fails, the deploy stops and the previous release keeps serving traffic.

Where do uploaded files go?

Use a persistent volume or S3-compatible storage for storage/app. Container filesystems are replaced on every deploy.

Ready when you are

Ship your Laravel app.

Connect a repository and get a live HTTPS URL.

See pricing