Turn an $8/month DigitalOcean or Hetzner server into a self-hosted Heroku replacement for side projects
Deploy a Dockerized app with automatic SSL and zero-downtime updates using a single command
Create preview environments tied to specific git commits to test changes before they go to the main version
Requires a fresh Ubuntu server with SSH access, a domain pointed at it, and Homebrew on Mac for installation.
Sidekick is a command-line tool that turns a plain Ubuntu server into a self-hosted deployment platform, similar in feel to services like Fly.io or Heroku but running entirely on hardware you control. The pitch is that a cheap virtual server (around $8 a month from providers like DigitalOcean or Hetzner) can handle a surprising amount of traffic for side projects, and Sidekick makes it as simple to use as a managed platform. Setup starts with one command: sidekick init. You supply your server's IP address and an email for SSL certificates, and Sidekick takes care of the rest. It creates a dedicated user account, disables root login for security, installs Docker, sets up a reverse proxy called Traefik that handles incoming web traffic, and configures automatic SSL certificates. The whole process takes about two minutes. Deploying an application requires a Dockerfile in your project folder. You run sidekick launch, answer a few prompts (the app name, which port it listens on, and which domain to point at it), and Sidekick builds the Docker image, transfers it to your server, and routes traffic to it. If you have an environment file with secrets or API keys, Sidekick encrypts it automatically before sending it to the server, so sensitive values are never stored in plain text. Updating an app to a new version is a single command (sidekick deploy) and is handled without downtime: the new container starts before the old one stops, so users do not notice the transition. The tool also supports preview environments tied to specific git commits, useful for testing a change before it goes to the main version. The project is written in Go and installed via Homebrew on Mac. It requires Homebrew as a dependency for installing one of its encryption tools.
← mightymoud on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.