FreeHarbor
Docker Desktop charges a licence fee for what is, underneath, an open engine. FreeHarbor runs upstream Moby in a WSL2 distro it owns and exposes it on the docker_engine pipe your tools already look for, so nothing in your setup has to know it changed. One window, your containers, no subscription.

Public numbers
Install
What comes next
From the product's own docs/ROADMAP.md at 2ca0432.
The Windows engine (Docker without Docker Desktop)
- In progressNothing notices a new Moby, CLI, Compose, Buildx or Alpine release, so the pins drift until someone looks
Installer and distribution (free, Apache 2.0)
- Designedwinget install alegauss.FreeHarbor finds nothing while the first winget-pkgs pull request waits for moderators
- DesignedEvery first download meets a SmartScreen warning, because the installer is not signed
- DesignedThere is no MSIX package of FreeHarbor to sideload or submit
- DesignedA packaged copy would still offer its own self-update and run an Inno setup over a WindowsApps folder
- DesignedInside a package, docker and freeharbor are not on PATH and DOCKER_CONFIG may land in the package's private hive
- DesignedUnder a package, both Run values go to a private hive Explorer never reads, so nothing starts at sign-in
- DesignedPackaged, the docker-desktop:// link buildx prints opens nothing, because the HKCU handler is never registered
- DesignedA Store install has no page before the first file, so a machine without WSL2 finds out only after installing
- DesignedUninstalling the package leaves the freeharbor distribution and its multi-gigabyte disk registered with WSL
The site on the design system
- PartialThe site keeps its own copy of the template that eight product sites share
Recently shipped
All 330 entries →- DD349 · b414959The pins trail upstream: Moby and the CLI at 29.7.2, Compose 5.4.0, Buildx 0.36.1, Alpine 3.24.1
Pins now Moby and CLI 29.9.3, Compose 5.7.1, Buildx 0.39.0, Alpine 3.24.4; a reinstall over a live machine came up on all of them with its 6 containers, 77 volumes and 37 images intact.
- DD348 · 5482e6eA reinstall keeps the distribution's Alpine packages at the release first imported, so its security patches never land
Provisioning runs apk upgrade before its adds, so a reinstall moves a kept distribution to its branch's latest patch; simulated here: 3.24.1 to 3.24.4, OpenSSL included.
- DD347 · e73e02aEdit details offers 16 Segoe MDL2 glyphs, too few to describe what a container or project is
Tiles draw Fluent UI System Icons (MIT) bundled in the exe; Edit details searches its 2,935 concepts, labels name any of them, and saved names still draw.
- DD345 · 379d9c5The tray balloon says there is nothing to click while WSL itself is not answering
Once the journal names HCS_E_CONNECTION_TIMEOUT after the engine went away, the tray says once that WSL itself stopped answering, and a click opens the Engine page on Restart WSL.
- DD344 · 5b2f686A hung WSL (HCS_E_CONNECTION_TIMEOUT) leaves the host retrying every 5 minutes with nothing offered that would fix it
While the journal's latest word is HCS_E_CONNECTION_TIMEOUT, the Engine page offers Restart WSL and do engine takes restart-wsl; both name who else stops.
- DD343 · 8b3b05bA ping answered by wsl.exe's own UTF-16 error reads as the daemon replying, cut to one letter
A ping that reads something other than HTTP now decodes it, so wsl.exe's UTF-16LE refusal is quoted whole as wsl.exe answering in the daemon's place.
- DD336 · 8157f2dThe site pins the design system at 2026.3.23 while 2026.3.26 is published
The site builds on design system 2026.3.26; routes, twins, sitemap, robots and OG card match, the one change being the brand name span VDS228 added so the nav fits a phone.
- DD342 · 9bf1688A card's state words are left-aligned in their column, so running, failed and stopped end at different points
The state word on a card and on the detail page's service list is right-aligned in a fixed column, so running, failed and stopped end on one line.