First Deployment
Deploy an application from a Git repository and put it behind a domain.
This walkthrough takes a web app from a Git repository to a live HTTPS URL. It assumes you have an online server with Docker installed and a domain whose DNS you control.
Connect GitHub (optional)
For private repositories and deploy-on-push, open Settings → GitHub and connect. VPSPilot creates a GitHub App that belongs to you. Public repositories can be deployed by URL without this. See GitHub Integration.
Create the application
Go to Applications → New application, pick the server, then the repository and branch. Choose how it runs: Docker (the default), systemd for a Node.js or Python app without Docker, or Compose for a repository with a compose.yaml. See Applications.
For Docker, set the container port your app listens on. VPSPilot also sets PORT to that value, so apps that read it work unchanged.
Review the build
With a Dockerfile in the repository, VPSPilot builds it. Without one, it detects Node.js, Bun, Python, Go, Rust or a static site and writes a Dockerfile for you. Override the build or start command if detection guesses wrong.
Add environment variables
Mark credentials as secret: they are encrypted at rest and never shown again in the dashboard.
Deploy
The deployment log streams the checkout, build, health check and release. The new container only replaces the old one after it answers on the health check path.
Add a domain
In Domains, add app.example.com and point an A record at the server’s public IP. Caddy obtains a certificate on the first request.
app.example.com. 300 IN A 203.0.113.10Create a managed PostgreSQL instance on the same server and attach it to the app. VPSPilot creates a dedicated login and adds DATABASE_URL to the app’s environment. See Users and Attaching.