- Laravel
- Symfony
- Next.js
- Nuxt
- Go
- Python
Prerequisites
- PHP 8.2 or greater
- Laravel 9.x or greater
- A GitHub, GitLab, or Bitbucket account
Go to your main Laravel Cloud dashboard page and select + New application.

Connect your Git provider

Create a new application


Select the PHP runtime
Set build and deploy commands
composer install --no-dev && npm run build
php artisan migrate --force
Add environment variables
APP_KEY. You can generate one locally and paste the value into the Laravel Cloud dashboard:php artisan key:generate --show
Deploy
Prerequisites
- PHP 8.2 or greater
- Symfony 7.4 LTS or 8.x
- A GitHub, GitLab, or Bitbucket account
Go to your main Laravel Cloud dashboard page and select + New application.

Connect your Git provider

Create a new application


php bin/console as the command runner.Select the PHP runtime
Set build and deploy commands
composer install --no-dev && php bin/console asset-map:compile
php bin/console doctrine:migrations:migrate --no-interaction
Add environment variables
APP_ENV and APP_SECRET in the Laravel Cloud dashboard:| Variable | Value |
|---|---|
APP_ENV | prod |
APP_SECRET | A securely generated secret string |
DATABASE_URL environment variable.DATABASE_URL or other Cloud-injected variables in .env.prod, those values will take precedence over Cloud’s runtime injection. Keep Cloud-managed variables out of .env.prod to avoid unexpected overrides.Deploy
Prerequisites
- Node.js 20 or greater, Bun 1.2, or Deno 2.2.6
- A GitHub, GitLab, or Bitbucket account
Go to your main Laravel Cloud dashboard page and select + New application.

Connect your Git provider

Create a new application


Adjust the Node.js version
Set the build command
npm ci --audit false
npm run build
start script defined in your package.json (or the deno task start command, if you’re using the Deno runtime). You can override it from your deployment settings if needed.Add environment variables
NEXT_PUBLIC_ are available in the browser; all other variables are server-only.Laravel Cloud automatically sets NODE_ENV=production and NEXT_PUBLIC_SITE_URL (your application’s URL) on every deployment. If your application uses a database or cache, connect a resource from the infrastructure canvas; Laravel Cloud will automatically inject the DATABASE_URL or REDIS_URL connection string.Deploy
Prerequisites
- Node.js 20 or greater, Bun 1.2, or Deno 2.2.6
- A GitHub, GitLab, or Bitbucket account
Go to your main Laravel Cloud dashboard page and select + New application.

Connect your Git provider

Create a new application


Adjust the Node.js version
Set the build command
npm ci --audit false
npm run build
# alternatively for static site generation
# npx nuxt generate
.output/server/index.mjs with node, bun run, or deno run -A depending on your runtime. You can override it from your deployment settings if needed.node-server preset, which outputs to .output/server/index.mjs. If your nuxt.config was previously deployed to another host, remove any nitro.preset option (for example, vercel, netlify, or cloudflare) and any NITRO_PRESET environment variable. A leftover preset still builds successfully, but it produces output Laravel Cloud can’t serve, and your deployment will complete without routing any traffic to your application.Add environment variables
NUXT_PUBLIC_ are available client-side; all other variables are server-only.Laravel Cloud automatically sets NODE_ENV=production and NUXT_PUBLIC_SITE_URL (your application’s URL) on every deployment. If your application uses a database or cache, connect a resource from the infrastructure canvas; Laravel Cloud will automatically inject the DATABASE_URL or REDIS_URL connection string.Deploy
Prerequisites
- Go 1.24 or greater
- A
go.modfile at the root of your repository - A GitHub, GitLab, or Bitbucket account
Go to your main Laravel Cloud dashboard page and select + New application.

Connect your Git provider

Create a new application


go.mod file and reads your Go version from the go directive at the top of that file.Set the build command
CGO_ENABLED=0 go build -trimpath -ldflags="-s -w" -o app .
./app, runs the binary this build command produces. If you change the output path or binary name, update the start command to match.Add environment variables
DATABASE_URL or REDIS_URL connection string.Laravel Cloud sets these variables on your application process rather than writing a .env file, so read them with os.Getenv; your application doesn’t need a loader such as godotenv.Your application must listen on the port Laravel Cloud provides via the PORT environment variable (3000 by default).Deploy
Prerequisites
- Python 3.10 or greater
- A
pyproject.toml,requirements.txt,Pipfile, orsetup.pyfile - A GitHub, GitLab, or Bitbucket account
Go to your main Laravel Cloud dashboard page and select + New application.

Connect your Git provider

Create a new application


Set the build command (optional)
uv, Poetry, Pipenv, or pip to match whichever lockfile is present in your repository. You only need a build command for an extra step, such as:python manage.py collectstatic --noinput
Set the start command
| Framework | Fallback start command |
|---|---|
| Django | gunicorn <project>.wsgi --bind [::]:$PORT |
| FastAPI | uvicorn main:app --host '' --port $PORT |
| Flask | gunicorn app:app --bind [::]:$PORT |
| Generic Python | python main.py |
<project> placeholder, replace it with your project’s settings module name (the directory containing wsgi.py) before deploying; Laravel Cloud will fail the deployment with a clear error if the placeholder is still there. Also make sure gunicorn or uvicorn is listed among your dependencies, since Laravel Cloud doesn’t install a WSGI or ASGI server on your behalf.Add environment variables
DATABASE_URL or REDIS_URL connection string.Laravel Cloud sets these variables on your application process rather than writing a .env file, so read them from os.environ; your application doesn’t need a loader such as python-dotenv.Deploy

