App Configuration
Configure platforms, runtime versions, build commands, and process settings for your Devpilot apps.
Every app has three layers of configuration:
- General settings — name, platform, server, project path, environment label, status, and notification behavior.
- Source control and app configs — provider, repository, branch, and miscellaneous app-level key/value settings grouped by purpose.
- Platform configs — runtime-specific settings tied to the platform you selected (PHP version, Node version, build command, and so on).
This page walks through each layer and documents the settings Devpilot actually exposes today.
Supported platforms
Devpilot currently supports six web platforms. Choose the one that matches your codebase.
PHP applications built with Laravel. Devpilot manages Composer installs, PHP runtime settings, PHP-FPM restarts, and post-deploy hooks such as migrations.
Any PHP project that does not use a framework Devpilot tracks natively. You still get full PHP runtime tuning and PHP-FPM restart control.
Plain HTML, CSS, and JavaScript served directly from the project path. Devpilot just syncs files — no build step is assumed.
Nuxt apps. Node runtime, build commands, output directory, and PM2 process settings are all configurable.
React apps, including Vite, Create React App, and custom bundlers. Node runtime and build output directory are configurable.
Vue 2 or Vue 3 apps. Node runtime and build output directory are configurable.
Every platform in Devpilot is currently of type web. Support for additional platforms is added over time — ping support if you need something not listed here.
General app settings
These fields live on the app itself and apply no matter which platform you picked.
| Setting | Description |
|---|---|
| Name | The display label of the app within the project. |
| Description | Optional free-text description. |
| Platform | One of the six supported platforms. Changing this resets the platform config. |
| Server | Optional server where Devpilot deploys the app over SSH. |
| Project path | Absolute directory on the server (for example /home/acme/public_html/api). |
| Environment | Free-text label such as production or staging. |
| Version | Optional version tag set by your team. |
| Status | Active (deploys run) or Inactive (deploys blocked). |
| Notify on | always or never — controls team notifications on deploy events. |
Source control settings
You edit source control settings in the app's Source Control tab.
| Setting | Purpose |
|---|---|
| Provider | GitHub, GitLab, or Bitbucket. |
| Repository | The repository identifier (for example acme/api). |
| Branch | Branch to deploy from. |
| Source directory | Optional sub-directory for monorepos. |
| Auto deploy | Deploy automatically when a matching webhook arrives. |
| Install Composer | PHP/Laravel apps: run composer install on deploy. |
| Install Composer dev dependencies | PHP/Laravel apps: include dev dependencies. |
Before the repository picker can list your repos, the corresponding Git provider must be connected in Integrations.
Platform configs
Each app can have one or more platform configs — runtime settings for the chosen platform. You can maintain multiple platform configs per app (for example, one for PHP-FPM and one for a Node process running side-by-side). Each config tracks a sync status so Devpilot knows when the server is in line with what you saved.
PHP settings (Laravel and Vanilla PHP)
Runtime
PHP version, executable path, max execution time, memory limit.
Uploads & input
Upload max filesize, post max size, max input vars, and max input time.
Session
Session garbage-collection lifetime and session cookie lifetime.
Diagnostics
Display errors, log errors, and whether to restart PHP-FPM after deploy.
Node settings (Nuxt Js, React Js, Vue Js)
Runtime
Node version and npm version.
Build
Build command and output directory for the compiled bundle.
PM2
Memory and CPU caps, max restarts, minimum uptime, instance count, execution mode, and whether to restart PM2 after deploy.
Python settings (reserved)
The platform config also reserves fields for a future Python/Gunicorn integration (Python version, pip version, worker count and class, worker connections, max requests, timeout). These are inactive for the platforms currently available in Devpilot.
Static content settings (Vanilla Javascript)
Output
Index file (default entry) and output directory (build output).
Delivery
Error page, cache-control, compression, and minify toggles.
Status and sync
Each platform config has a status (Active/Inactive) and a sync status that Devpilot updates as it applies settings to the server. If syncing fails, the last error and timestamp are recorded so you can retry.
App configs
In addition to source control, Devpilot stores a few other app-level settings:
| Group | What it holds |
|---|---|
| Source control | Repository, branch, auto-deploy, and Composer options (shown above). |
| Environment | Environment metadata (display hints for runtime values). |
| Development statistics | Cached counters such as deploys today, this month, successful, and failed. |
| Activity tracker | Behavioral metadata like password protection or segments used in previews. |
These are written automatically as you use the app and rarely need manual editing.
Custom domains
Each app can have one or more custom domains attached. Open the Domains tab and add a domain by its URL. Devpilot records each domain with a creation time; point your DNS at the server and the domain becomes active on the next deploy.
Configuration workflow
Create the app
Pick the platform, name, server, and project path — see Managing Apps.
Connect the repository
Fill in the source control fields so Devpilot knows where to pull code from.
Review platform settings
Open the platform config for your app, set the runtime version, build command, and process/restart behavior.
Scan environment variables
Run an environment scan to detect required variables and set values — see Environment Variables.
Deploy
Trigger your first deployment. Devpilot applies the platform config and any pending env var changes as part of the deploy.