Polyhost is presented as a Docker Compose reference stack for hosting several websites on one server. Its creator, Theodor Heiselberg, chose to publish an inspectable example rather than turn his recurring setup into a framework: users can see the configuration, fork it, and adapt it without adopting a package or CLI. That is a design preference for developers who want to understand and own their hosting setup—not evidence that reference stacks are universally better.
Read Heiselberg’s article (listed on Dev.to as published August 18, 2026).
As an Amazon Associate I earn from qualifying purchases.
What problem was Polyhost meant to solve?
Heiselberg describes repeatedly copying configuration, rewiring environment files, and reconnecting the same services for each website he hosted. A framework could package those repeated decisions, but it would also establish abstractions and opinions that might not fit a particular infrastructure need. He preferred a working reference stack: a concrete setup a developer can read, fork, and change directly.
The Tool Desk
Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →As Heiselberg puts it, “I wanted to understand my own setup well enough that adding a new site was boring.” In this approach, repeatability comes from reusing visible configuration rather than learning a separate framework or running its command-line tooling.
#1 Best Overall
What does the stack include?
The article describes five services and assigns each a distinct role. The components and their responsibilities below reflect the author’s account; they are not independent deployment or production test results.
| Component | Role in the described stack |
|---|---|
| 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 tasks including contact forms, enrollments, sitemaps, and CMS integration. |
| Debian development shell | Development environment containing .NET, Elm, and Node. |
The organizing principle is separation of responsibilities: routing rules live in Nginx configuration, content schemas in Squidex, and business logic in the .NET backend. A new site is intended to reuse this plumbing rather than require a new framework layer.
Rank #2
How is a reference stack different from a framework?
A framework packages repeated decisions behind an abstraction; a reference stack makes a working set of choices explicit so users can inspect and adapt it. Neither format is automatically easier or safer. The practical choice depends on how closely your needs match the existing setup and how much abstraction you want to maintain.
Free tools Windows power users keep installed
One-click scans. No signup required.
| Question | Reference stack | Framework |
|---|---|---|
| Can I inspect the implementation? | The configuration and component choices are meant to be read directly. | Some implementation details may be behind the framework’s abstractions. |
| How do I adapt it? | Fork or edit the example to fit your infrastructure. | Use the framework’s extension points or work around its assumptions. |
| What am I taking on? | Responsibility for understanding and maintaining the configuration you adopt. | Responsibility for the framework’s conventions, dependencies, and ongoing fit with your needs. |
This is a conceptual distinction from Heiselberg’s article, not a measured comparison of maintenance effort or developer outcomes. He also argues that a clear example is easier for AI tools to reason about than a clever abstraction layer; the article offers no study or benchmark to establish that claim.
Rank #3
Who is Polyhost intended for?
Heiselberg positions the stack for developers comfortable with Docker Compose who self-host a handful of personal or client websites and want to understand the system they run. It is not presented as a solution for teams operating hundreds of sites or requiring enterprise-grade multi-tenancy. For those circumstances, the author points to Kubernetes or a managed platform; the article does not provide a tested comparison of those options.
What should you verify before adopting it?
The component list and architectural rationale explain what the article describes, but they do not establish deployment performance or operational readiness. The article provides no deployment benchmarks, security review, cost comparison, uptime data, compatibility matrix, or independently tested production results. Treat the configuration as a starting point to evaluate against your own requirements, not as proof that a deployment is secure or production-ready.
Rank #4
The article reports that Polyhost is MIT-licensed and asks users to retain the repository copyright notice. The repository itself was not independently verified, so check the project’s current license and notice before reusing code.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
What did the author plan to cover next?
The article lists a planned series on the development environment, Nginx multi-domain routing, Squidex content modeling, the .NET backend, and the workflow for adding a site. Whether those follow-up articles were published has not been established.
Quick Recap
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.




