Devpilot
Projects & Apps

Managing Apps

Create, configure, clone, move, and manage apps inside your Devpilot projects.

An app is a single deployable codebase inside a project. Every app has a platform (such as Laravel or React Js), an optional server, a project path where code is deployed, and a Git repository that Devpilot pulls from. This guide covers the full app lifecycle.

What an app contains

Each app in Devpilot tracks:

  • Name — the display label (for example, API, Frontend, or Admin Dashboard).
  • Platform — one of the platforms Devpilot supports. Today these are Laravel, Vanilla PHP, Vanilla Javascript, Nuxt Js, React Js, and Vue Js.
  • Server — optional. If assigned, Devpilot deploys the app to this server over SSH.
  • Project path — the absolute directory on the server where the repository is cloned and built (for example /home/acme/public_html/site).
  • Environment label — a free-text label such as production, staging, or preview.
  • Version and description — optional metadata you can set for your team.
  • Notify on — whether the team is notified on every deploy (always) or not (never).
  • Status — either Active or Inactive. Inactive apps skip scheduled and webhook-triggered deploys.
  • App key / secret — auto-generated AK_ and AS_ credentials used by webhooks and the deploy API.

Creating an app

Open the project

Go to the project where the app should live, then click Create App.

Choose the platform

Pick one of the supported platforms. The platform controls which runtime settings appear later (PHP version, Node version, build command, and so on).

Standard Laravel applications. Configure PHP version, Composer install options, and restart PHP-FPM after deploy.
Any PHP project that is not a known framework. Configure PHP version and PHP-FPM restart.
Static HTML/CSS/JS projects served straight from the project path. Configure the index file and output directory.
Nuxt applications. Configure Node version, build command, output directory, and PM2 process manager settings.
React single-page apps (Vite, CRA, or custom). Configure Node version, build command, and output directory.
Vue 2/3 applications. Configure Node version, build command, and output directory.

Name the app

Enter a descriptive name up to 255 characters.

Pick a server (optional)

Select a server from the workspace if you want Devpilot to run deployments. Apps without a server can still be created and configured, but cannot run remote deployments until a server is assigned.

Set the project path

Enter the directory on the server where the code will be cloned — for example /home/acme/public_html/api. You can update this later.

Save

Devpilot creates the app and generates its key and secret pair. You are taken to the app detail page where you can configure the repository, environment variables, and deployment hooks.

Connecting a repository

Open the app's Source Control tab to set:

  • Provider — GitHub, GitLab, or Bitbucket.
  • Repository — the owner/repo identifier.
  • Branch — the branch Devpilot pulls from.
  • Source directory — optional sub-path for monorepos.
  • Auto deploy — enable to deploy automatically when a webhook fires.
  • Install Composer / Install Composer dev — Laravel and PHP apps only; toggles whether Composer runs on deploy.

You must first connect your Git provider in Integrations before the repository picker can list your repos.

Editing app settings

Open the app and use the Settings panel to update:

  • App name, description, and environment label
  • Platform (changing the platform resets platform-specific runtime settings)
  • Server and project path
  • Status (Active or Inactive)
  • Notify-on behavior (always or never)

Changes to the project path or server do not automatically migrate files that were already deployed — migrate data manually before your next deploy.

Cloning and copying apps

Devpilot provides three related actions for duplicating an app, accessible from the app's Actions menu.

Clone

Creates a brand-new app in the same project with the same platform, server, repository, and settings. Deployment history is not copied.

Copy to project

Copies the app into a different project in the same workspace. The original app stays intact.

Move to project

Moves the app into another project. The app keeps its ID, history, and domains — only the project assignment changes.

When you open Clone or Copy, Devpilot shows the copy options so you can rename the new app and override the target project, server, or branch before confirming.

Bulk-moving apps

To move several apps into the same destination project at once, open the project and use Bulk Move. Select the apps to move, choose a destination project, and confirm.

Managing app status

The Status field on each app is either:

  • Active — deploys (manual, webhook, and schedule) run normally.
  • Inactive — deploy triggers are rejected until you reactivate the app.

Toggling to Inactive does not stop any process currently running on the server; it only blocks future Devpilot-initiated deploys. Restart or stop the running process on the server directly if needed.

Viewing an app

The app detail page includes tabs for:

  • Overview — latest deployments, platform, server, and domain summary.
  • Statistics — deployments today and this month, success/failure counts, retained deploys.
  • Configuration — source control, platform-specific runtime settings, and general app settings.
  • Environment — detected and configured environment variables, plus scan history.
  • Hooks — active deployment hooks ordered by priority.
  • Branches — available branches from the connected repository.
  • Domains — custom domains pointed at this app.

Deleting an app

Deleting an app soft-deletes it and its configuration, domains, and detected environment variables. Deployed files on the server are not removed — clean those up manually if needed.

Open the app's Settings, click Delete App, and confirm. The app disappears from the project list.

Quotas

Each workspace plan caps the number of apps you can create across all projects. Devpilot enforces this automatically when you click Create App and will block creation once you reach the limit. View your usage on the workspace billing page.

Next steps