Free tools Windows power users keep installed
One-click scans. No signup required.
iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
Polyhost is presented as a Docker Compose reference stack for hosting several websites on one server. Its creator, Theodor Heiselberg, chose a readable, forkable example instead of packaging the setup as a framework: users can inspect the configuration and adapt it without adopting another abstraction. That choice fits developers comfortable with Docker Compose who want to host a handful of personal or client sites—not teams seeking enterprise-scale multi-tenancy.
What Polyhost is designed to do
In his August 18, 2026 article, Heiselberg describes Polyhost as a way to reuse the infrastructure behind multiple websites on a single server. Rather than rebuilding the same connections and configuration for each site, the stack separates routing, shared content, application logic, and development tools into distinct services. Heiselberg’s article on Polyhost is the source for the design and component descriptions below.
The author’s organizing principle is to keep each kind of decision in the part of the stack responsible for it: routes in Nginx, content schemas in Squidex, and business logic in the .NET backend. A new site can then use existing plumbing rather than requiring the whole setup to be recreated. This is the intended design, not a report of independently tested deployment results.
What the stack contains
| Component | Role described by the author |
|---|---|
| Nginx | Reverse proxy that routes incoming traffic to the appropriate backend. |
| Squidex | Headless CMS for content shared across hosted sites. |
| MongoDB | Data store identified for Squidex. |
| .NET / ASP.NET Core backend | Handles contact forms, enrollments, sitemaps, and CMS integration. |
| Debian development shell | Development environment containing .NET, Elm, and Node. |
The list describes the components and their intended roles; it does not establish deployment performance, security, uptime, compatibility, or production suitability.
Why choose a reference stack instead of a framework?
Heiselberg says he repeatedly copied configuration, rewired environment files, and reconnected the same pieces for each site. He considered turning that repetition into a framework, but decided that a framework’s built-in opinions could diverge from a particular infrastructure need. Users might then have to work around the abstraction rather than understand and change the setup directly.
His alternative is a working example that people can read, fork, adapt, and own. In his words, “I wanted to understand my own setup well enough that adding a new site was boring.” The advantage he argues for is visibility and control: the implementation is there to inspect, rather than hidden behind a package or CLI. This is his design rationale, not a measured finding that reference stacks are easier to maintain or produce better outcomes in general.
Rank #2
The trade-off for the person using it
- Reference stack: You can inspect and change the actual configuration, but you take responsibility for adapting and maintaining your copy.
- Framework: It packages recurring decisions behind an abstraction, which can reduce repeated setup but may constrain or complicate changes that do not fit its assumptions.
Neither approach is universally better. The choice turns on whether you value a reusable abstraction or prefer to own a concrete example that matches your infrastructure.
Who Polyhost is—and is not—for
The stated audience is developers who are comfortable with Docker Compose and want to self-host a handful of personal or client websites. They should be willing to read the configuration and take responsibility for their adaptations rather than treating the stack as a managed service.
Rank #3
Heiselberg explicitly says it is not aimed at teams running hundreds of sites or needing enterprise-grade multi-tenancy; he points those readers toward Kubernetes or a managed platform. That is the author’s positioning, not a tested comparison or a universal recommendation. The article provides no deployment benchmarks, security review, cost analysis, compatibility matrix, or verified production results.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.License and planned topics
Heiselberg’s article says Polyhost is MIT-licensed and asks users to preserve the repository’s copyright notice. The repository was not independently verified, so check its current license and notice before reusing the code.
The article also outlines a planned series on the development environment, Nginx multi-domain routing, Squidex content modeling, the .NET backend, and the workflow for adding a site. The publication status of those follow-ups is not established here.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Quick Recap
Best Value
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

