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_andAS_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).
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/repoidentifier. - 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 (
alwaysornever)
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.