Skip to content

Deployment

Plitho supports multiple ways to deploy your apps. All methods authenticate via your SSH key — no passwords needed.

Deployment Methods

Method Best for How it works
SSH Git Push Source code — Node.js, Python git push plitho main
CLI Deploy Compiled binaries — Go, Rust, C plitho deploy --at server -y ./binary
Tar Deploy CI/CD pipelines, custom workflows Stream a tarball via SSH
Template Deploy One-click app installs Pre-configained apps from the dashboard

All methods require your SSH key to be added to Plitho. See SSH Keys for setup.

Choosing a Method

Use Git Push when your app needs Plitho to install dependencies:

  • Node.js (npm install runs on the server)
  • Python (pip install runs on the server)
  • Any runtime where the server needs your source code

Use CLI Deploy when you build locally and just need to send artifacts:

  • Go — go build -o server . then deploy the binary
  • Rust — cargo build --release then deploy the binary
  • Static sites — npm run build then deploy the dist/ folder
  • C/C++ — compile locally, deploy the binary

Use Tar Deploy when you need raw control over what gets sent:

  • Custom CI/CD pipelines
  • Deploying specific files without git
  • Scripting and automation

Use Template Deploy when you want a known app running quickly:

  • PocketBase, TrailBase, FileBrowser
  • No plitho.yml needed

What Happens on Deploy

Regardless of method, Plitho:

  1. Receives your code or binary
  2. Reads plitho.yml from the uploaded files
  3. Installs dependencies (for interpreted languages)
  4. Runs release and predeploy scripts
  5. Generates nginx config and systemd unit
  6. Provisions SSL (if domain configured via dashboard)
  7. Starts the app process
  8. Runs postdeploy scripts