Project Settings

The Settings tab is where you configure how Depfloy builds, deploys, and operates your project. Open it from the project's tab strip in the Console.

The Settings tab requires the same permission as updating the project — Owner, Admin, Manager, or Developer roles. See Members.

Git repository

  • Repository URL — the URL or org/repo identifier
  • Source Control Provider — must be one of the providers connected under Settings → Source Control
  • Branch — the branch Depfloy deploys from. Auto-deploy listens to pushes on this branch.

Changing the branch is the right tool when you want to promote a release branch to production without recreating the project. The next push to the new branch triggers a deployment automatically (if Auto Deploy is on).

Framework and build

  • Framework — Depfloy uses this to choose default install and build commands. If you switch frameworks, the defaults switch too.
  • Custom Install Command — overrides Depfloy's default install command for the chosen framework (for example to use pnpm install instead of npm install). Leave blank to use the default.
  • Custom Build Command — overrides the default build command (for example to use npm run build:prod instead of npm run build). Leave blank to use the default.

You do not need to put composer install, npm install, or php artisan migrate in these fields — Depfloy runs the framework-appropriate equivalents as part of the build pipeline.

Custom deployment command

A custom deployment command runs after Depfloy finishes the build, the symlink switch is done, and the new release is live. Use it for post-deploy work that's specific to your project — warming caches, signalling a dashboard, restarting a non-Depfloy-managed service.

# Example
php artisan cache:clear
php artisan queue:restart

Important guidelines:

  • Don't call php artisan reverb:restart — Depfloy already restarts Laravel plugins (Reverb, Horizon, Octane, Nightwatch) for you. Calling them again from your script can hang the deployment.
  • Keep commands short. A custom command is for a quick post-deploy step, not a database backfill. Long-running work should live in your build pipeline or in a one-off Command.

See Developer Guide → Custom deployment commands for full guidance.

Auto-deploy

  • Enable Auto Deploy — when on, every push to the configured branch triggers a deployment. Depfloy installed the webhook when you created the project; disabling Auto Deploy just disconnects Depfloy's response to it (the webhook itself stays registered with your Git provider).

If your Git provider rotates webhook secrets or the connection between Depfloy and the provider breaks, the Refresh action on this tab re-registers the webhook.

Health check

Set a health-check endpoint and Depfloy uses it to decide when a new deployment is "really" live before flipping the symlink. The endpoint should:

  • Return 200 OK on a healthy application
  • Run quickly — under a second is fine; under 30 seconds is the maximum
  • Not require authentication or session state

Typical Laravel health check: /up (built-in since Laravel 11). Typical Node.js health check: /healthz or /api/health.

If the health check fails during a deploy, the deployment is marked failed and the previous release stays active.

Shared directories

Beyond Depfloy's default shared paths (.env, storage/), you can declare additional directories that should persist across deployments. Useful for:

  • User-uploaded files outside storage/
  • A directory of generated PDFs or reports you don't want to regenerate every deploy
  • Anything else where the contents are runtime state rather than versioned code

List each path relative to the project root. Depfloy creates the corresponding shared/PATH directory once and symlinks it into every release.

Maintenance Mode

Near the bottom of the Settings tab, just before the Delete Project card, is a Maintenance Mode card. The card shows a title and short description on the left and a switch on the right. Flip the switch to put the project behind a holding page; flip it back to bring the project online again. Toggles take effect immediately.

While maintenance mode is on, the Nginx Configuration tab is read-only — your custom snippets and SSL toggle are locked until you turn maintenance off again.

For a deeper guide on the holding page and customisation, see Maintenance Mode.

Delete project

The Delete project button at the bottom of the Settings tab removes the project from Depfloy entirely. Files in the project directory on the server are removed along with the project's history.

A few project-level actions live in the three-dot menu in the project header rather than in this tab:

  • Change Server — move the project to a different server
  • Rollback — restore a previous successful deployment (see Deployments)

Was this page helpful?