To deploy a full-stack app on a VPS with Peon, connect a Linux server over SSH, choose a deployment type that matches your app, configure its secrets and persistent storage, then set up routing and HTTPS. Peon coordinates deployment; you provide the server and the application-specific runtime configuration. With Peon Cloud, the dashboard and workers run in Peon’s cloud while the app and database run on your VPS. You can also self-host Peon’s control plane.
Choose where to run Peon’s control plane
The control plane manages deployments, but it is separate from the machines that run your application. Whether you use Peon Cloud or self-host Peon, you supply the application server.
As an Amazon Associate I earn from qualifying purchases.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
| Option | Where the control plane runs | What remains on your VPS | Cost stated in Peon documentation |
|---|---|---|---|
| Peon Cloud | Peon hosts the dashboard and workers. | Your application and database workloads. | $3 per project per month or $30 per year, according to Peon’s documentation accessed in 2026; verify current pricing before subscribing. |
| Self-hosted Peon | You host the control plane, including its dashboard database. | Your application and database workloads; the control plane also runs on infrastructure you manage. | Free for the control-plane software, according to Peon’s documentation accessed in 2026. You still provide and pay for the infrastructure you use. |
Choose Cloud if you want Peon to operate the dashboard and workers. Self-hosting is an option if you want the control plane on your own network or need to manage its database yourself. Its documented prerequisites—Node.js 20 or later, pnpm, PostgreSQL, and a production HTTPS domain—are for the control plane, not for a connected app server. See Peon’s self-hosting documentation for current details.
What does the VPS need?
Peon’s server documentation specifies 64-bit Linux and SSH access. For first-time Docker installation, the SSH account needs root privileges or sudo access. The server must also have enough capacity for the services you plan to run. Peon lists approximately 1 GB of RAM as a minimum and recommends 4 GB or more for a host running multiple services; these are vendor guidelines, not a guarantee that a particular application will fit.
#1 Best Overall
- Confirm you can reach the server over SSH using the intended account and key.
- Allow inbound TCP ports 80 and 443 if the server will handle public HTTP and HTTPS traffic through Peon’s gateway.
- Check that your firewall and any network firewall in front of the VPS allow the required traffic.
- Plan CPU, memory, and disk capacity around your app, database, build process, and expected workload.
See Peon’s server requirements and troubleshooting guidance. The RAM figures are Peon’s stated guidance, not a universal sizing rule.
How to connect the server over SSH
- Create an SSH key in workspace settings. Use Peon’s documented key-creation flow, and keep the private key protected.
- Add a server. Enter its IP address or hostname, SSH port, login user, and the key to use.
- Connect and validate. Peon checks the connection and prepares Docker when needed. A live server agent enables operational metrics.
If validation fails, check the hostname or IP, SSH port reachability, login user, key pairing and permissions, and whether the account has root or sudo access for Docker setup. The product’s current screen labels can change; follow the connection flow in the server documentation.
Free tools Windows power users keep installed
One-click scans. No signup required.
Rank #2
Choose a deployment type for your app
Pick a service type based on how the repository is built and run, rather than assuming every full-stack app needs the same layout. Peon documents Git applications, Docker image services, Compose stacks, static sites, and database services. A typical app might use separate frontend, API, and database services, but those can also be combined or arranged differently according to the app’s runtime and repository.
| Deployment type | Use it when | What to account for |
|---|---|---|
| Git application | You want Peon to build from a repository. Peon documents GitHub App, public repository, and deploy-key connection options. | Choose a supported build option appropriate to the project, such as Nixpacks, Railpack, Dockerfile, or Static. Confirm the current available options in Peon’s documentation. |
| Docker image | The app is already packaged as an image you want to deploy. | Configure the container’s listening port so the gateway can reach it. Pin a version tag rather than using a floating latest tag when you need reproducible releases. |
| Compose stack | Your app consists of multiple containers described together in a Compose configuration. | Review how the stack handles networking, volumes, health checks, and updates; do not assume it has the same rollout behavior as every other service type. |
| Static site | The output is built files that can be served without running an application process. | Configure the correct build output and route the domain to the deployed site. |
| Database service | You want to deploy a supported database service on the VPS. | Configure persistent storage deliberately, and plan backups and access controls for the specific database. |
Peon’s deployment overview describes the available service types and workflows: Peon documentation.
Rank #3
Set secrets, persistent storage, and health checks
Keep runtime configuration out of source control
Peon says it injects encrypted environment variables during deployment. Set the variable names and values your app actually expects, using its sample configuration or official app documentation to determine them. Do not commit secrets such as database passwords, API keys, or signing keys to the repository.
Make data survive container replacement
Container filesystems are not a substitute for deliberate persistence. Configure the appropriate persistent path or volume for uploads, database files, and other data that must survive a redeploy. Peon’s Docker-image guide documents environment and named-volume configuration; the exact paths and volume layout depend on the image and application.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Fix the driver behind crashes, sound loss and screen glitches3Clear out junk files and repair common Windows errorsUse readiness checks that reflect the app
For eligible rolling updates, Peon starts a new container and switches traffic after its health check passes; the previous image can be retained for rollback. Configure the check to represent readiness to serve requests, not merely that a process started. Rollout behavior can differ for Compose and some database update paths, so do not assume every deployment is zero-downtime. See Peon’s deployment overview and Docker-image guide.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Attach a domain and enable HTTPS
- Point DNS to the VPS. Configure the domain’s DNS records to resolve to the server’s public address.
- Configure the domain for the service. Use the service’s domain settings so Peon’s gateway can route requests to the right app.
- Enable a gateway. Peon documents Traefik, Caddy, and None as gateway choices. A managed gateway can provide public domain routing and HTTPS; choosing None means you need another routing solution.
- Allow inbound ports 80 and 443. Check the VPS firewall, network firewall, and whether another process is already using either port.
- Verify the domain and HTTPS. Allow DNS changes to take effect, then check that the domain reaches the intended service and that HTTPS is active.
If HTTPS or proxy routing fails, check that DNS resolves to the right server, the gateway is enabled, ports 80 and 443 are reachable, and no conflicting process occupies those ports. Peon identifies a disabled gateway and busy HTTP(S) ports among common proxy and HTTPS problems. Current gateway setup and troubleshooting guidance is in the server documentation.
Deploy, inspect, and recover
A deployment queues work for the target server. Depending on the service type, Peon pulls the selected commit or image, builds if necessary, injects configured variables, and starts the container or containers on a network shared with the gateway. Use the product’s deployment status and logs to identify whether a failure occurred during connection, build, startup, or health checking; consult Peon’s current interface and documentation for exact UI paths.
For an eligible app with a bad release, use Peon’s documented rollback capability to return to a retained previous image. Confirm that the service type supports the rollout and rollback behavior you need, and keep application data in configured persistent storage so a container rollback does not become a data-recovery plan. Peon’s behavior and service coverage are described in its deployment documentation.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




