ConfigsApr 26, 2026·3 min read

Piku — The Tiniest PaaS for Git-Push Deployments

Piku lets you deploy web apps to your own server with a simple git push, inspired by Dokku and Heroku. It runs on any Linux machine or Raspberry Pi with no containers or orchestrators required, using just SSH, Git hooks, and standard process managers like uwsgi and nginx.

Introduction

Piku brings the Heroku-style git-push deployment experience to any Linux server without Docker, Kubernetes, or complex orchestration. It is ideal for developers who want to deploy Python, Node.js, Go, Ruby, or static apps on a VPS, bare-metal server, or Raspberry Pi with minimal overhead.

What Piku Does

  • Deploys applications via git push to a remote server using Git hooks
  • Auto-detects runtime (Python, Node, Go, Ruby, Clojure, Java) and installs dependencies
  • Manages processes using uwsgi, gunicorn, or direct executables defined in a Procfile
  • Configures Nginx as a reverse proxy with automatic Let's Encrypt TLS certificates
  • Supports environment variables, worker processes, and cron-like scheduled tasks

Architecture Overview

Piku is a set of Python scripts installed under a dedicated system user. On git push, a post-receive hook triggers the build: it detects the runtime, installs dependencies, configures Nginx virtual hosts, and starts processes defined in the Procfile. It uses uwsgi as a process manager for Python apps and direct process supervision for others. There are no containers or VMs involved; everything runs natively on the host.

Self-Hosting & Configuration

  • Install on any Debian/Ubuntu or Raspberry Pi OS system with the one-line bootstrap script
  • Apps are configured via a Procfile (process types) and ENV file (environment variables)
  • TLS is handled automatically via Let's Encrypt when a custom domain is pointed at the server
  • Scale worker processes by setting SCALING directives in the ENV file
  • Supports multiple apps on a single server, each isolated under its own directory

Key Features

  • Zero-dependency git-push deployment with no containers needed
  • Runs on Raspberry Pi, VPS, or bare-metal with minimal resource usage
  • Automatic Nginx reverse proxy and Let's Encrypt TLS provisioning
  • Multi-language support via runtime auto-detection
  • Procfile-based process management with scaling directives

Comparison with Similar Tools

  • Dokku — Docker-based mini-PaaS; Piku avoids containers entirely for a lighter footprint
  • CapRover — Web UI-driven Docker PaaS; Piku is CLI-only and uses native process management
  • Kamal — Docker deploy tool by Basecamp; Piku targets simpler setups without Docker
  • Heroku — Managed PaaS; Piku gives the same workflow on your own hardware

FAQ

Q: Does Piku use Docker? A: No. Piku runs applications natively on the host using uwsgi, systemd, or direct process execution.

Q: Can I run it on a Raspberry Pi? A: Yes. Piku is designed to be lightweight enough for a Raspberry Pi, making it popular for home lab deployments.

Q: How do I set environment variables? A: Create an ENV file in the app directory on the server, or use piku config:set KEY=value from the command line.

Q: Does it support background workers and cron jobs? A: Yes. Define worker processes in the Procfile and scheduled tasks using the built-in cron-like directive.

Sources

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets