📌 OpenRun now enables easy app deployments to Kubernetes. Learn more.

Internal Tools Deployment Platform

Internal tools deployment made easy. 
Deploy web apps declaratively, on a single-node or on Kubernetes.

Installation
Install OpenRun:
curl -sSL https://openrun.dev/install.sh | sh
Start OpenRun server (in a new window):
openrun server start &
GitOps in One Command
Schedule a sync:
openrun sync schedule --approve --promote \   github.com/openrundev/openrun/examples/utils.star
Starts a background sync which automatically creates new apps and updates existing apps, reading latest app config and code from Git.

Comparison with other self-hosted solutions

Compared to solutions like Coolify, Kamal, Dokku etc, OpenRun has:
Declarative GitOps interface, for code and for config. New apps can be added through config updates in git. No ClickOps, No manual deployments
➣ Scale idle apps down to zero
➣ Single binary, Docker/Podman or Kubernetes is only dependency, does not depend on a third party webserver like Traefik/Nginx

OpenRun supports enterprise features needed by teams, like OAuth/OIDC/SAML with RBAC and audit logs. OpenRun is built as a self-hosted Google Cloud Run/AWS App Runner alternative as against full PaaS solution. OpenRun does not support deploying auxiliary services like databases and there is no Docker Compose support.

Comparison with DIY on Kubernetes

Running OpenRun on Kubernetes gives you the benefits of Kubernetes without the pain. OpenRun provides:
➣ Unified interface as against glueing together services like Jenkins for builds, ArgoCD/FluxCD for CD, IDP for app management etc.
➣ Simple declarative config, no YAML files, no webserver DSLs.
➣ Support for setting up auth policies using RBAC.

Compared to Knative, OpenRun has a much simpler config without requiring YAML files. Resource usage is lower with OpenRun since apps are loaded lazily, on the first API call. OpenRun App versions are maintained in the metadata database, reducing Kubernetes resources created. Knative requires an external build system and does not support auth for apps.

Common use cases

OpenRun can be used by teams to:
➣ For operations teams to provide an easy on-ramp to Kubernetes for dev teams
➣ Deploy web apps with zero config required for most common frameworks like Streamlit/Gradio/FastHTML/NiceGUI etc.
➣ Replace Jenkins/Rundeck jobs, using OpenRun Actions for automating operational scripts
➣ Expose web apps for internal REST APIs, replacing manual curl commands

While the auth and auditing features of OpenRun are built for use by teams, OpenRun can also be used by individuals for:
➣ Zero-config dev env setup locally
➣ Host web apps shared with friends and family, using OAuth