Devpilot
Troubleshooting

Connection Issues

Troubleshoot server connection failures, inactive servers, and provisioning errors in Devpilot.

Devpilot tracks server connectivity in two fields you can see on every server page: a status (Active or Inactive) and a connection status (live SSH reachability). New servers also have a provisioning status that becomes Provisioned once initial setup finishes. This guide is organized around those three signals so you can match what the dashboard shows you to a resolution.

Server marked Inactive

Where you see it: The server card under Servers shows an Inactive badge, or the status column in the server list reads Inactive.

A server becomes Inactive when Devpilot could not reach it the last time it tried — usually because the server is off, the network path is blocked, or the host has been rebuilt and the SSH key no longer matches.

Confirm the server is running at the provider

Log into the cloud provider that hosts this server (AWS, DigitalOcean, Hetzner, etc.) and verify the instance is powered on.

  • If it is stopped, start it and wait for the Devpilot connection indicator to go green.
  • If it was terminated, Devpilot cannot recover it — provision a new server through Servers > Create Server.

Check that SSH still works

Open Servers > [Your Server] and use the built-in terminal. If the terminal connects, the connection status should update within a minute and the server will flip back to Active.

If the terminal fails to open, the SSH path is broken — continue with the next steps.

Verify the SSH credentials stored for the server

On the server page, open the details panel and confirm the host, port, username, and authentication type match how the server is actually reachable. If the IP address changed (for example the instance was rebooted and got a new public IP), update the host on the server record.

Check firewall rules at the provider

Devpilot does not manage the cloud provider's network security groups directly. If the server is behind a provider firewall, make sure inbound TCP is allowed on the SSH port you recorded for the server. Re-running a deployment is pointless until SSH reachability is restored.

Server active but deployments fail while fetching source

Where you see it: The server is Active and the connection status is healthy, but every new deployment fails while Devpilot tries to fetch your code (typically during or right after the Pre Source Control / Post Source Control stages) with a Git-related error.

This is a different problem from server connectivity — the server is reachable, but it cannot reach your Git provider.

  • Confirm the server still has outbound internet access (most providers allow this by default, but a recent security group change can break it).
  • Open Integrations > Git and confirm the provider connection is still healthy. Reconnect if it shows as disconnected.
  • Confirm the repository deploy key is still present on your Git provider. If you or a teammate removed it, Devpilot cannot clone.

See Deployment Errors > Git failure for the specific error messages you may see.

Provisioning failed on a new server

Where you see it: Servers > [Server] > Provisioning shows a step with status Failed. The provision itself has status Failed or Rolled back.

Server creation runs through these steps, in order:

The cloud provider credentials on the integration are wrong or expired. Open Integrations and reconnect the provider. Then retry the provision.

The infrastructure backend could not be set up for this provision. This is almost always transient — retry the provision. If it keeps failing, contact support with the provision ID.

A variable required for your provider (region, instance type, disk type) was rejected. Check the status message on the provision — it usually identifies the bad field. Recreate the server with the corrected field.

The generated infrastructure configuration could not be uploaded. Retry the provision.

The infrastructure run could not be started. Retry the provision.

The provider rejected the planned configuration. Common causes: the requested instance type is not available in the selected region, the image is not published in that region, or your account does not have the service enabled. Read the step's message — it passes through the provider's error verbatim. Recreate the server with a supported combination.

The provider accepted the plan but failed while actually creating the server — usually a quota or capacity issue. Check your provider account quotas. Retry, or recreate with a smaller instance type.

The infrastructure was created but Devpilot could not read its outputs (IP address, instance ID). Retry — if it keeps failing, contact support with the provision ID.

Devpilot could not create the server record. Retry the provision.

The server came up but Devpilot cannot SSH into it on port 22 using the generated key. Confirm the provider security group allows inbound TCP 22 from Devpilot. If you selected a custom image, it may not have the expected SSH user configured — switch back to the default image.

SSH works but the Devpilot agent failed to install. Usually a network issue from the new server to the Devpilot download host, or the OS on the image is not supported. Confirm outbound HTTPS is allowed and use a supported base image (recent Ubuntu LTS).

The agent installed but Devpilot could not collect the final server metadata. Retry. If the server is otherwise healthy it can often be marked Provisioned by re-running this step.

A provision in status Rolled back means Devpilot tore down the partially-created infrastructure to avoid leaving orphan resources. You can retry from Servers > Create Server — no cleanup is needed on your side.

Application unreachable after a successful deployment

Where you see it: The deployment finished as Completed and the server is Active, but the site does not load.

  • Open Apps > [App] > Domains and confirm the domain points to the correct server.
  • Confirm the service your app runs under is up. The terminal on the server page can run systemctl status against the service.
  • Check Monitoring > Error Tracking — if the app booted but is crashing on each request, errors will accumulate there within seconds of traffic arriving.

SSH connection troubleshooting checklist

Use this checklist before opening a support ticket for an Inactive server:

  • Can you open the Devpilot terminal on Servers > [Server]? If yes, connectivity is fine.
  • Does the provider console show the instance as running?
  • Does the recorded host on the server match the provider's current public IP?
  • Is the recorded port (usually 22) open at the provider's firewall?
  • Has someone rotated the SSH key on the server outside Devpilot? If so, Devpilot's stored key no longer matches — easiest recovery is to redeploy the key through Servers > [Server] > SSH Keys.

When to escalate

Contact Devpilot support if:

  • A provision fails repeatedly at the same internal step (for example Create workspace, Trigger run, Fetch outputs, or Create server) — these are platform-side and usually need staff intervention.
  • A server is stuck in Active but every action against it hangs.
  • A provision was rolled back but you can see orphan resources in your cloud provider account.

Include the server ID, provision ID (if any), the failing step name, and the exact message shown on the provision page.