Self-hosted service
runtipi/runtipi avatar
runtipi/runtipi

Runtipi: A Docker-based homeserver orchestrator with a web UI and a volunteer-maintained roadmap

Runtipi is a homeserver for everyone! One command setup, one click installs for your favorites self-hosted apps.

9,668 stars367 forksTypeScriptGPL-3.0

At a glance

What is it?
Runtipi is a TypeScript and React homeserver orchestrator that wraps Docker services behind a one-command setup and a web interface. It targets users who want self-hosted apps without manual networking, but its volunteer maintenance and beta releases set clear expectations.
Who is it for?
Adopt Runtipi if you run a single home server, want to install self-hosted apps through a web UI, and accept that the project is built and maintained by volunteers with no guarantee of support or security. Do not adopt it for a production multi-tenant environment or if you need a stable release channel, because the latest releases are beta versions and the README explicitly warns about potential bugs.
Can I use it commercially?
Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository last received commits 3 days ago.
What is it written in?
Mainly TypeScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 14, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

What Runtipi solves and who it is for

Runtipi is a personal homeserver orchestrator. It solves the problem of managing multiple Docker services on a single server without touching configuration files or networking by hand. The README states that it is designed to be easy to use, so you do not have to worry about manual configuration or networking. The target user is someone who wants to run self-hosted apps like media servers, dashboards, or file sync tools but does not want to learn Docker Compose or reverse proxy setup. It is not for people who already have a mature Docker workflow, because the abstraction adds a layer that may get in the way. The project is built with TypeScript, NestJS, and React, which tells you the backend is a NestJS application and the frontend is a React single-page app. The description says "for everyone," but the README's warning about volunteer maintenance narrows that claim. It is for the enthusiast who accepts beta-level software in exchange for a point-and-click experience.

How the orchestration works under the hood

The repository layout and the README reveal a clear architecture. Runtipi is based on Docker, and it exposes a web interface to manage services. The backend is NestJS, which is a TypeScript framework for server-side applications, and the frontend is React. The README does not detail the internal data flow, but the presence of an app store repository (runtipi/runtipi-appstore) shows that apps are defined as metadata packages. The orchestrator likely reads those definitions and deploys Docker containers accordingly. The web interface lets you add and manage services, which implies that Runtipi handles port mapping, volume mounting, and environment variables on your behalf. The README mentions that you can see a list of available services in the app store repo, and if you cannot find what you need, there are community app stores and you can create your own. That means the app store is not a single curated list but a pluggable system. The actual deployment mechanism, such as whether it uses Docker Compose files or raw Docker API calls, is not visible in the provided material. That is a gap. If you are evaluating this for production, you would need to inspect the source code to understand how it manages container lifecycles.

Getting it running: commands and configuration

The README does not include the installation command directly. It points to the website runtipi.io for installation instructions, documentation, and guides. That is a limitation for this review because I cannot confirm the exact one-command setup. The description says "one command setup," so the installer is likely a curl or wget script that downloads and runs a setup script. Without the actual command, I cannot reproduce it here. The README does provide a demo at demo.runtipi.io with credentials: username user@runtipi.io and password password. That is a concrete way to evaluate the interface before installing. For configuration, the README does not list any config keys. It does mention that you can create your own app store, which would require defining app metadata, but the details are in the "Creating apps guide" at runtipi.io/docs/developers/creating-apps. If you want to contribute, the README references a guide for setting up Runtipi locally. Those URLs are the only concrete paths to installation and configuration. You should treat the absence of a direct install command in the README as a sign that the project expects you to follow the website, which may lag behind the repository.

The app store model and community extensions

Runtipi's app store is a separate repository, runtipi/runtipi-appstore. This separation is a design choice. It means the core orchestrator does not bundle app definitions, so the app catalog can evolve independently. The README says there are many community app stores to choose from, and you can even create your own. That is a flexible approach, but it also creates a fragmentation risk. If you rely on a community app store, you depend on that store's maintainer for updates and security patches. The core project only maintains the official app store repo. For a self-hosted user, this is a trade-off: you get a wider selection of apps, but you must vet each store yourself. The README's warning that the system is in active development and may contain bugs applies to the orchestrator, but it should also apply to third-party app definitions. A poorly written app definition could expose your server to risk. The project encourages contributions, and the README states that adding new apps is designed to be easy, which lowers the barrier for community participation. That is good for variety, but it also means the quality bar is not uniform.

Limitations and failure modes you should know

The most direct limitation is in the README's own warning: Runtipi is built and maintained by volunteers, and there is no guarantee of support or security. That is not a marketing caveat; it is a statement about the project's operational reality. The latest releases are beta versions (v4.10.2-beta.4 and v4.10.2-beta.3), and there is a nightly release from 2024. The default branch is develop, not main or master, which means the codebase is in a continuous development state. If you install the latest release, you are installing a beta. That is a clear failure mode for anyone expecting stability. Another limitation is that the README does not document how Runtipi handles backups, updates, or rollbacks. There is no mention of data migration or recovery procedures. If a container update breaks, you may have to intervene manually, which defeats the purpose of the abstraction. The project is also wrong for users who need multi-user access control or fine-grained permissions, because the README does not mention any such features. It is a single-server tool, not a multi-tenant platform. Finally, the dependency on a web interface means that if the UI crashes, you lose visibility into your services, and the README does not describe a CLI fallback.

Alternatives and how they differ in approach

The closest alternative is CasaOS, which is also a homeserver orchestrator with a web UI and a focus on ease of use. CasaOS uses a different architecture: it is built as a lightweight operating system layer that runs on top of Debian, and it uses Docker for app management. Runtipi, by contrast, is a TypeScript application that you install on an existing server, likely running on any Linux distribution with Docker. The key difference is that CasaOS positions itself as an entire home server OS, while Runtipi is an application that you add to your existing setup. Another alternative is YunoHost, which is a Debian-based distribution that bundles its own package manager for self-hosted apps. YunoHost has a stronger focus on user management and domain configuration, and it is a full system install rather than a Docker orchestrator. If you want a system that manages the OS and the apps together, YunoHost or CasaOS may be a better fit. If you want to keep your existing server and just add an app manager, Runtipi is more aligned. The difference is in the scope of what the tool owns. Runtipi owns the container layer; the alternatives own the whole server.

Maintenance, licensing, and upgrade costs

Runtipi is licensed under GPL-3.0. That means you can copy, distribute, and modify the software, but any modifications or software that includes GPL-licensed code must also be made available under the GPL, along with build and install instructions. The README includes this summary. For a personal user, this license is permissive enough, but if you plan to build a commercial service on top of Runtipi, you would need to comply with the copyleft terms. The maintenance cost is visible in the release cadence: the latest release is a beta from August 2026, and the project has a nightly channel. The default branch is develop, which suggests that stable releases are not the primary focus. The README says the system is considered stable but still in active development. That is a mixed signal. You should expect frequent changes and potential breaking updates. The upgrade path is not documented in the README, so you would need to check the website or release notes. The project uses Crowdin for localization, which means translations are community-managed. The presence of sponsors like CodeRabbit and TestMu AI indicates some external support, but that does not change the volunteer maintenance model. Before adopting, verify the release notes for the beta you plan to install and check if the app store repo is actively updated.

Editorial conclusion

Adopt Runtipi if you run a single home server, want to install self-hosted apps through a web UI, and accept that the project is built and maintained by volunteers with no guarantee of support or security. Do not adopt it for a production multi-tenant environment or if you need a stable release channel, because the latest releases are beta versions and the README explicitly warns about potential bugs. Before you rely on it, verify the current state of the develop branch, check the release notes for v4.10.2-beta.4, and review the app store repository to confirm the apps you need are maintained. Runtipi's value is real for hobbyists, but its boundary is clear: it trades operational guarantees for convenience.

Official sources

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Community notes

Community notes