Sign inSign up

orochibraru/homerun

By orochibraru

Updated 13 minutes ago

An alternative to Cloud Run for Homelab users

Image
Web servers
0

8.3K

orochibraru/homerun repository overview

Homerun

A self-hosted, single-user PaaS for deploying Docker containers with a click-config form: a minimal Dokploy / Cloud Run alternative for your own hardware.

Point at an image (or a git repo), fill in env vars / port / resources, hit deploy: Traefik routes it to <slug>.yourdomain.com with TLS, automatically. Single host, local Docker socket, no Kubernetes, no multi-node orchestration to babysit.

Status: Actively developed, running on real hardware, but still finding its shape: see docs/faq-and-limitations.md for what's solid and what isn't yet.

Why Homerun

Dokploy, Coolify, and friends are great, but there are stuff I can't get around:

  • Coolify has many bugs and a lot of tech debt
  • Dokploy has started paywalling features that homelab enthusiasts could use at the benefit of enterprise.

Features

  • Services: deploy from a Docker image or build from a git repo's Dockerfile (any git-clone-able HTTPS URL, including a self-hosted Gitea); env vars, CPU/memory limits, restart policy, private registry auth
  • Live deploy progress: pull/build/create/start streamed to the UI in real time, resumes correctly if you reload mid-deploy
  • Deployment history: every attempt recorded with status, image digest, and its full log
  • Projects: group services under one Docker network so they reach each other by slug (http://api:8080), independent of the shared Traefik network
  • Templates: one-click deploys for common services (Redis, Postgres, MySQL, MongoDB, Adminer, Uptime Kuma, n8n, Vaultwarden), plus save any service's config as your own reusable template
  • Storage volumes: define bind-mount paths or Docker-managed volumes once, mount into one or more services
  • Live log streaming & a web terminal: tail stdout/stderr or open an interactive shell into a running container, all from the browser
  • Custom domains & SSL: a second hostname per service, plus bring-your-own cert/key for domains outside Traefik's automatic ACME coverage
  • Remote hosts: point a service at another Docker daemon (tcp:///ssh://, or the lightweight Homerun Agent) instead of the local socket
  • Autoscale-by-migration: when the local host crosses a CPU/memory threshold, automatically move one opted-in service to a designated overflow host
  • Swarm mode: opt-in Docker Swarm deploys for real replica scaling and load balancing across one service, instead of the default one-container model
  • DNS automation: optional Cloudflare or self-hosted Pangolin integration auto-manages a deployed service's DNS record for you
  • In-app notifications: a per-user feed of deploy/service lifecycle events
  • Scheduled redeploys & S3 backups: cron-style auto-redeploy per service, cron-style bind-mount volume backups to any S3-compatible endpoint
  • REST API, OpenAPI docs, and a CLI: everything above is also a typed JSON API (/api/v1), with a live Swagger UI and a proper homerun CLI built against the generated OpenAPI types
  • Users, roles & invites: admin/developer roles, email or direct-create invites, optional OAuth/OIDC login
  • Per-service auth gate & account isolation: optionally require a Homerun login to reach a deployed service; every container is labeled homerun.managed=true so this app never touches anything it didn't create

Documentation

See the website

Sub-projects

Three standalone Bun/TypeScript tools ship alongside the main app, each its own package.json/binary:

  • packages/agent/: a small token-authenticated HTTP server for driving a remote host's Docker daemon
  • packages/installer/: the one-liner installer used above (Docker + rootless setup + the agent or full stack)
  • packages/cli/: a typed CLI (homerun services deploy <id>, etc.) against the REST API

Tag summary

Content type

Image

Digest

sha256:9e5d0f20d

Size

114.3 MB

Last updated

about 3 hours ago

docker pull orochibraru/homerun