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 installruns on the server) - Python (
pip installruns 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 --releasethen deploy the binary - Static sites —
npm run buildthen deploy thedist/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.ymlneeded
What Happens on Deploy¶
Regardless of method, Plitho:
- Receives your code or binary
- Reads
plitho.ymlfrom the uploaded files - Installs dependencies (for interpreted languages)
- Runs
releaseandpredeployscripts - Generates nginx config and systemd unit
- Provisions SSL (if domain configured via dashboard)
- Starts the app process
- Runs
postdeployscripts