Internal tools deployment made easy.
Deploy web apps declaratively, on a single-node or on Kubernetes.
OpenRun™ is a web app deployment platform, with a focus on deploying internal tools. OpenRun makes it easy to declaratively deploy containerized web apps. OpenRun can deploy apps on a single-node or onto a Kubernetes cluster.
OpenRun provides declarative GitOps based blue-green deployment, OAuth/OIDC/SAML access controls, TLS certs & secrets management. OpenRun has RBAC and auditing features for teams to securely deploy internal tools.
Some of the unique features of OpenRun are:
➣ Create and manage apps declaratively
➣ Easily upgrade from single-node to K8S
➣ Domain based or path based routing, with auto-TLS
➣ OAuth/OpenID/SAML/Cert based auth
➣ RBAC for admin operation and for app access
➣ Scales idle apps down to zero
➣ Staged deployment, for code and config changes
➣ Atomic (all or nothing) updates across apps
OpenRun is a single binary, which implements an webserver and application server. For single-node install, Docker/Podman is the only external dependency.
OpenRun supports:
➣ Single node deployment using SQLite database
➣ Kubernetes deployment with Postgres for metadata
➣ Linux, OSX and Windows platforms.
➣ Builds app images, runs continuous deployment and manages auth and request routing across apps
Declaratively build and deploy containerized web apps, with Docker/Podman or Kubernetes.
Staged deployments and preview environments; GitOps With GitHub/GitLab, cloud or on-prem
Manage secrets with AWS Secrets Manager, Vault or Kubernetes.
Apps are initialized lazily, on demand and scale down to zero when idle.
Easily setup dev environment with zero config required.
OAuth/OpenID/SAML/Client-cert based auth, with full RBAC support
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.
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.
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