Devpilot
Projects & Apps

App Configuration

Configure platforms, runtime versions, build commands, and process settings for your Devpilot apps.

Every app has three layers of configuration:

  1. General settings — name, platform, server, project path, environment label, status, and notification behavior.
  2. Source control and app configs — provider, repository, branch, and miscellaneous app-level key/value settings grouped by purpose.
  3. 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.

SettingDescription
NameThe display label of the app within the project.
DescriptionOptional free-text description.
PlatformOne of the six supported platforms. Changing this resets the platform config.
ServerOptional server where Devpilot deploys the app over SSH.
Project pathAbsolute directory on the server (for example /home/acme/public_html/api).
EnvironmentFree-text label such as production or staging.
VersionOptional version tag set by your team.
StatusActive (deploys run) or Inactive (deploys blocked).
Notify onalways or never — controls team notifications on deploy events.

Source control settings

You edit source control settings in the app's Source Control tab.

SettingPurpose
ProviderGitHub, GitLab, or Bitbucket.
RepositoryThe repository identifier (for example acme/api).
BranchBranch to deploy from.
Source directoryOptional sub-directory for monorepos.
Auto deployDeploy automatically when a matching webhook arrives.
Install ComposerPHP/Laravel apps: run composer install on deploy.
Install Composer dev dependenciesPHP/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:

GroupWhat it holds
Source controlRepository, branch, auto-deploy, and Composer options (shown above).
EnvironmentEnvironment metadata (display hints for runtime values).
Development statisticsCached counters such as deploys today, this month, successful, and failed.
Activity trackerBehavioral 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.

Next steps