Skip to content

Tar Deploy

Stream a tarball directly to the server. No git history needed — just pack your files and send them.

Prerequisites

  • Your SSH key added to Plitho (see SSH Keys)
  • A plitho.yml in your project directory
  • The app must already exist (create it in the dashboard first)

Manual Tar Deploy

Pack your files and stream them via SSH:

tar -cf - plitho.yml | gzip | ssh -p 2222 your-server "tar-deploy myapp --stream"

Breaking It Down

tar -cf - plitho.yml          # Pack plitho.yml into a tar stream
    | gzip                     # Compress it
    | ssh -p 2222 your-server  # Send to server via SSH
      "tar-deploy myapp --stream"  # Tell Plitho to deploy

Deploying Multiple Files

Include everything your app needs:

tar -cf - plitho.yml src/ config/ | gzip | ssh -p 2222 your-server "tar-deploy myapp --stream"

Deploying the Current Directory

tar -cf - . | gzip | ssh -p 2222 your-server "tar-deploy myapp --stream"

Disabling Log Streaming

By default, logs stream back after deployment. To disable:

tar -cf - plitho.yml | gzip | ssh -p 2222 your-server "tar-deploy myapp"

How It Works

  1. You pack files into a tar stream and compress with gzip
  2. The stream is sent to the server via SSH
  3. Plitho's tar-deploy command receives the stream
  4. Files are extracted to a temp directory
  5. plitho.yml is read from the extracted files
  6. Standard deploy pipeline runs (install, scripts, configure, start)

Note

The plitho.yml must be included in the tar stream. Plitho reads it from the uploaded files, not from any existing deployment.

Troubleshooting

"app not found"

Create the app first in the dashboard before deploying via tar.

Empty deploy

Make sure plitho.yml is in the tar stream. It should be at the root of the archive:

# Correct — plitho.yml is at the root
tar -cf - plitho.yml src/

# Wrong — plitho.yml is nested
tar -cf - ./project/plitho.yml