Laravel and PHP deployment guide

# How do I deploy a Laravel and PHP project to Cloud Noce?

A practical guide to deploying Laravel, PHP and Artisan to Cloud Noce PaaS from Git or Gerdoo CLI, with build and start commands, variables, domains and production guidance.

Short answer

Connect your **Laravel and PHP** project repository to [Cloud Noce PaaS](/en/products/paas) or run `gerdoo deploy` inside the project folder. Cloud Noce builds the project, runs the service in an isolated environment and provides a temporary domain, SSL, logs and release management.

Last reviewed:6 September 2026

## Prepare the project for deployment

Commit the dependency files, **composer.json and composer.lock** , to the repository. Typical build and start commands for this stack are:

```
# Build command
composer install --no-dev --optimize-autoloader && php artisan config:cache

# Start command
php artisan serve --host=0.0.0.0 --port=$PORT
```

Set APP_KEY, APP_ENV, APP_URL and database connection details as environment variables.

## Deploy from Git

- Create a project and environment in the Cloud Noce panel.

- Connect a new service to your GitHub or GitLab repository and selected branch.

- Set the build and start commands to match your project's structure.

- Add the required values in Variables and specify whether each is used at build time or runtime.

- Deploy the service and follow the build and runtime logs until the health check passes.

- Connect a custom domain in Domains and test its HTTPS response.

## Deploy a local folder with Gerdoo CLI

```
curl -fsSL https://get.gerdoo.cloud/install.sh | sh
gerdoo login
cd your-project
gerdoo deploy
gerdoo logs
```

The CLI deploys a local folder without a Git connection. In CI, you can read the token from an environment variable and check service status with JSON output. For the full guide, see the [CLI documentation](/en/support/docs/cli) .

## Production checklist for Laravel and PHP

- Review migrations before running them, and take a backup first.

- Run the queue worker and scheduler separately as services or cron jobs.

- Use persistent storage or MinIO for uploaded files.

- Test the health check path, timeouts and restart behavior before receiving production traffic.

- Keep persistent data outside the running release's filesystem, using Add-ons or Storage.

- Test a rollback from Deployments so your team knows the recovery process.

## Management with Gerdoo Agents

After connecting Cloud Noce MCP, compatible agents such as Claude Code, Cursor and Codex can find services, deploy projects, read builds and logs, and manage variables, domains and service state. Destructive operations still require explicit confirmation. See the [Agents connection guide](/en/support/docs/cli/agents) .

## Frequently asked questions

### Does Laravel and PHP run on Cloud Noce without a Dockerfile?

Yes. Cloud Noce can detect the build process when standard project files such as composer.json and composer.lock are in the repository. You can also use a Dockerfile for full control.

### Can I deploy a Laravel and PHP project with the CLI?

Yes. Run gerdoo deploy inside your project folder. The first run creates the service; subsequent runs update it.

### How do I enable a domain and SSL?

After deployment, your service has a temporary domain. Add a custom domain in the service settings to have an SSL certificate issued automatically.

### Where should I store secrets?

Save secrets in the Variables section of the service or environment. Keep them out of Git, Dockerfiles and browser code.
