selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

openrun logo

Self-host openrun

v0.20.5

GitOps platform for web apps on Docker and Kubernetes

BetaOpen SourceApache-2.0
Updated9 hours ago
LanguageGo
Setup difficultyModerate
ThemeDark mode
Stars
991
Ports
25223 (HTTPS web UI and API), 25222 (HTTP web UI and API)
Requires
Docker or Podman
Docker
ghcr.io/openrundev/openrun
Install with Kubernetes
OpenRun intro animation showing the management console

What is openrun?

OpenRun lets teams run web apps and internal tools on their own servers. It works as a single binary with Docker or Podman, or on Kubernetes, using the same Git-based config. Apps get SSO and RBAC automatically. Databases are provisioned per app with isolated accounts, and SQLite data backs up to S3-compatible storage. Idle containers shut down to save resources. A web console manages everything. Licensed Apache-2.0.

Should you self-host openrun?

openrun scores 56/100 on selfhost.directory (how scoring works) and ranks #3 of 20 in Application Management. It has 991 GitHub stars.

It shipped 16 stable releases in the past year. The latest, v0.20.5, came out on 21 October 2026. New versions land roughly every 4 days.

Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is Apache-2.0-licensed and written mostly in Go.

Its closest alternative on selfhost.directory is dokploy (80/100, 38 090 stars). It scores higher overall, so compare the two before you pick. See openrun vs dokploy side by side.

Features

  • App Webhooks
  • Atomic updates
  • Audit Logging
  • Auto TLS Certificates
  • Browser-based Management Console
  • Database Service Bindings
  • Declarative GitOps
  • Multi-platform deployment
  • OAuth/OIDC/SAML Authentication
  • OpenTelemetry metrics export
  • Role-Based Access Control (RBAC)
  • Scale to Zero
  • Secrets Management
  • SQLite with Litestream Replication
  • Staged Deployments

openrun README

How to install openrun

Install openrun with Kubernetes

Kubernetes cluster
Environment variables
OPENRUN_HOME, CL_CONFIG_FILE, OPENRUN_SERVER_URI, OPENRUN_API_KEY, OPENRUN_AS_USER, OPENRUN_NO_KEYRING

See kubernetes docs for details on installing on Kubernetes using Helm chart and Terraform based infra setup.

OpenRun runs as the API server and request router, creating Kubernetes services for apps and building images through kaniko.

openrun releases & version history

FAQ

How is OpenRun deployed?

OpenRun can be deployed on a single node (Linux, Windows, macOS) using SQLite for metadata with Docker/Podman as the only dependency. It can also be deployed on Kubernetes using a Helm chart, where it replaces Jenkins, ArgoCD, and an IDP like BackStage.

Does OpenRun support deployment of internal tools by teams?

Yes, deployment of internal tools by teams is a target use case. Features include declarative config in Git, OAuth/OIDC/SAML with RBAC for app access control, service bindings for isolated database accounts per app, and automatic audit logs.

What types of apps can be deployed with OpenRun?

OpenRun can deploy any web app that runs in a single container, with optional sidecar containers for background workers and jobs. It supports AppSpecs for zero-config deployment of frameworks like Streamlit, Gradio, FastHTML, NiceGUI, Shiny, Reflex. It does NOT support apps requiring multiple containers via Docker Compose.

Why is declarative configuration useful?

Declarative configuration makes all changes version controlled, easy to track and rollback, simple to create new environments, and easier to manage when multiple team members make config changes.

How does OpenRun compare to other deployment solutions like Coolify/Dokku/CapRover etc?

OpenRun differs by being fully declarative (app creation and config via Git, not just code updates), supporting both single-node Docker/Podman and Kubernetes deployment, not depending on external web servers like Nginx/Traefik, providing database service bindings with isolated accounts per app, managed SQLite with Litestream replication to S3, and features like staged deployment and automatic dev env setup.

More in Deployment

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…