Open source · Windows 10 & 11 Pro · Apache 2.0

Docker on Windows, without Docker Desktop or WSL.

Solon is a standalone container manager: one installer, a complete Docker engine running in a tiny Linux machine that Solon creates and manages itself. No licence, no telemetry, no WSL.

Solon_0.1.13_x64-setup.exe · 103 MB · SHA-256 8d360b243c4905bfdbb90376ab2ccfee8d4aa8f720e4d8321936241233ea9c69 · Releases

Windows 11 or 10 22H2, Pro / Enterprise / Education, hardware virtualization enabled. Check the SHA-256 published with each release.

The installer is not signed yet: SmartScreen shows a warning, choose “More info” then “Run anyway”. Code signing through the SignPath Foundation (free signing for open-source projects) has been requested; releases will be signed as soon as the project is accepted.

Solon's Activity page: CPU curves per containerSolon's Activity page: CPU curves per container
≈ 3 sengine ready after you ask for itDocker Desktop: 6.1 s
less memory at rest and with a stack running430–520 MB vs 1,998 MB
0telemetry, accounts, licence feesApache 2.0

See it in action

A stack in one clickNew stack… → n8n → Create and start. Twenty seconds later the browser opens on https://n8n.n8n.solon.local with a trusted certificate. No port to publish, nothing to install on Windows.
Look insideA container's page: logs, the Files tab to browse and exchange files with Windows, and the debug shell with ps, curl and friends, even in images that ship no shell.
ActivityCPU, memory and network per container, hover for exact values, click a name to isolate it, 1 min / 10 min / 1 h windows.

What Solon does

Addresses that always work

Every container answers at https://<name>.solon.local, published port or not, with a certificate your browser trusts. Compose services get <service>.<project>.solon.local.

Fast Windows folders

Folders mounted into containers go through solonfs, Solon's own file sharing: 3.6 to 94× faster than the 9P sharing used by WSL2 and Docker Desktop.

Wake on demand

A container that receives no traffic for ten minutes is paused; the next request wakes it in a fraction of a second. Databases that only talk internally are never touched.

Ready-made stacks

WordPress, PostgreSQL, MariaDB, MongoDB, Redis, n8n, Nextcloud, Ghost, Gitea, Jupyter Lab, Mailpit… and starter kits for Django, Flask, FastAPI and Next.js that generate a project on first start.

Compose, all of it

Open a folder, Solon detects the stack or proposes one. Services, merged logs, Up / Down / Rebuild, and the compose file editable in place with Save and Up.

See inside

Files tab with drag-and-drop, terminal, debug shell that works even in images without a shell, live CPU, memory and network charts per container. VS Code Dev Containers work as is.

Containers grouped by Compose project, each with its solon.local address.
A container's page: network, mounts, environment, files, terminal, debug shell.
The gallery of ready-made stacks and starter kits.

Measured against Docker Desktop, compared with the others

Same machine (Windows 11 Pro, 24 logical cores), same Compose stack (a Python web app and PostgreSQL 16), default settings on both sides. Docker Desktop 4.66.1 was measured on 3 September 2026, then uninstalled; Solon 0.1.0 was re-measured on 10 September 2026 with the script in bench/.

Docker DesktopSolon
Engine ready after start6.1 s2.6 to 3.4 s
Memory at rest, no container1,998 MB430 to 520 MB
Memory with the stack running5,146 MB1,196 MB
compose down then up -d7.1 s5.2 s
The web app answers after up1.5 s1.0 to 2.5 s
Login page, average of 527 to 46 ms48 to 88 ms
Initialise the database with sample data (CPU)13.6 s12.9 to 13.4 s
Synchronous writes on a volume, fdatasync / fsync154 / 79 ops/s240–290 / 132–137 ops/s
Windows folder, 5,000 files: listing / attributes / reads / writes9P6.6× / 94× / 3.6–9× / 4× faster

Honestly: Solon wins on what costs you every day (start-up, memory, files, disk writes); on pure CPU work the two are equivalent; web latency is the same. Reproduce it with bench/bench.ps1. bench/

Footprint

Solon measured on 13 September 2026 with three containers running; Docker Desktop measured on the same machine; Podman Desktop and Rancher Desktop from their documentation (published, not measured here).

SolonDocker DesktopPodman DesktopRancher Desktop
Installer102 MB≈ 600 MB (published)≈ 100 MB + WSL machine (published)≈ 500 MB (published)
Installed on disk406 MB6 GB required (published)500 MB + 2–10 GB of images (published)not published
Memory at rest, no container430 to 520 MB1,998 MBWSL 2 machine, up to 50 % of RAM (published)half of CPU and RAM by default (published)
Memory with a web app + PostgreSQL1,196 MB5,146 MBnot measurednot measured
Needs WSL 2noyes, or legacy Hyper-Vyesyes

Features compared

Solon as of 0.1.12; the others as documented in September 2026. “Partial” means the feature exists with a caveat.

SolonDocker DesktopPodman DesktopRancher Desktop
Official docker CLI and Compose, no aliasyesyespartial: compatible socketyes (moby)
Works without WSL 2yespartial: legacy Hyper-Vnono
Windows Homeyesyesyesyes
https://service.project.solon.local for every container, trusted certificateyesnonono
Projects page: address, environment, ports checked before Up, filtered logsyespartial: Compose listpartial: Compose listno
One environment per Git branch, volumes copiedyesnonono
Project backup and restore, volumes includedyespartial: extensionnono
Idle containers paused, woken on demandyespartial: whole machine (Resource Saver)nono
Windows folders shared with solonfs, 4 to 94× faster than 9Pyesno: 9Pno: 9Pno: 9P
Find Compose projects on the diskyesnonono
VS Code Dev Containersyes, verifiedyespartial: path settingyes
Kubernetes built innoyespartial: extensionsyes (K3s)
Windows containersnoyesnono
Extensions marketplacenoyesyesno
Free for companiesyes (Apache 2.0)paid above 250 employees or $10Myesyes
Signed installernot yetyesyesyes

Stacks and starter kits

“New stack…” opens a gallery. Pick one, choose a folder, review the generated compose.yaml, “Create and start”. Opening a folder without a Compose file makes Solon look at what it contains and propose an environment.

Starter kits

The project folder is mounted in the container; on the first Up a small script installs the dependencies, generates the official skeleton if the folder is empty, then runs the development server with live reload. Nothing to install on Windows.

Django + PostgreSQLFlask + RedisFastAPI + PostgreSQLNext.js

Ready-made apps

WordPressPostgreSQL + AdminerMariaDB + AdminerMongoDB + Mongo ExpressRedisn8nNextcloudGhostGiteaUptime KumaJupyter LabStatic site (Nginx)

Developer tools

MailpitBlank compose.yaml

Releases

Every release ships the installer and its SHA-256. Installing over a previous version keeps your images, containers and volumes.

Solon 0.1.13

Solon updates itself in one click, and still never behind your back. *Version française plus bas.* New - Install update from the app. When a new version exists (banner at the top, or Settings → Updates), *Install update* downloads the installer from github.com, checks its SHA-256 against the `SHA256SUMS.txt` published with the release, then Windows asks you to allow the install. The engine and running containers stop for about a minute; Solon reopens and starts them again. A file whose checksum does not match is deleted and never run. *Download* is still there to do it by hand. - Compose file checked before saving. The Compose tab now shows line numbers. YAML syntax is checked as you type; on Save, `docker compose config` checks the structure (unknown key, wrong type, undeclared network, missing env file…). The error appears with the faulty line marked in the gutter and a *Go to line* button; *Save anyway* stays available. Engine stopped: syntax only. Installation Download `Solon_0.1.13_x64-setup.exe` and check its SHA-256 against `SHA256SUMS.txt`. Installing over 0.1.x keeps your images, containers and volumes. If VS Code's Containers view stops refreshing after the update, run *Developer: Reload Window* once.

Solon 0.1.12

Solon now runs on Windows Home, and installs on a freshly installed Windows. *Version française plus bas.* New - Windows Home is supported. Home has no Hyper-V role and no `vmms` service, but it has the Virtual Machine Platform, and that is all Solon needs since file sharing moved to solonfs. The installer enables the platform and asks for one restart. Verified on Windows 11 Home 25H2: engine ready, `docker` working, Windows folders shared both ways, published ports and `*.solon.local` addresses. The legacy 9P file-sharing fallback is unavailable on Home; the default sharing works. Fixed - Fresh Windows: the service would not start. A freshly installed Windows has no `vcruntime140.dll`; Solon's service failed with "DLL not found" (0xC0000135) and the installer sat on an invisible error dialog. This affected any edition without the Visual C++ redistributable. All Solon executables now embed the C runtime and depend on nothing but Windows itself. Installation Download `Solon_0.1.12_x64-setup.exe` and check its SHA-256 against `SHA256SUMS.txt`. Installing over 0.1.x keeps your images, containers and volumes. The installer is not signed yet: in SmartScreen click *More info*, then *Run anyway*. If VS Code's Containers view stops refreshing after the update, run *Developer: Reload Window* once.

Solon 0.1.11

A simpler Projects page and an installer that looks like Solon. *Version française plus bas.* Changed - "Always start with Solon" is gone. The checkbox on each project card and the list in Settings are removed. Solon keeps doing the one thing that matters: what was running when it stopped is started again when it comes back ("Resume what was running", on by default). Existing settings files that still mention the old option are read without complaint. - The installer carries Solon's icon. `Solon_0.1.11_x64-setup.exe` shows the Solon hexagon in Explorer and in your browser's downloads instead of the generic installer icon, and the setup pages show the logo in the header and side panel. Installation Download `Solon_0.1.11_x64-setup.exe` and check its SHA-256 against `SHA256SUMS.txt`. Installing over 0.1.x keeps your images, containers and volumes. The installer is not signed yet: in SmartScreen click *More info*, then *Run anyway*. If VS Code's Containers view stops refreshing after the update, run *Developer: Reload Window* once.

Solon 0.1.10

VS Code Dev Containers works with Solon. *Version française plus bas.* Fixed - `docker exec -i` never saw the end of its input. Piping data into a container (`tar … | docker exec -i … tar -xf -`) hung forever: Solon's Docker pipe was in byte mode, where the Windows Docker client has no way to say "I am done writing". The pipe is now in message mode, like Docker Desktop's, and the container's output keeps flowing after the input ends. This is exactly how the VS Code Dev Containers extension installs its server inside a container. - VS Code's Containers view stopped refreshing on its own. The Containers extension listens to `docker events` once, at startup, and gives up for good after three immediate failures. Solon's Docker pipe only appeared once the machine was up, so a VS Code window opened while Solon was starting (at logon, or during an update) lost live refresh for the whole session and needed the Refresh button. The pipe now exists from the moment the Solon service starts; a `docker` command that arrives while the engine is still starting waits for it instead of failing. When Solon is stopped, `docker` gets a clear "Solon is stopped. Open the Solon app to start it." A window that already lost its listener re-arms it with *Developer: Reload Window*. - `docker` with the default context. The Dev Containers extension runs `docker` with `DOCKER_CONTEXT=default`; Solon's `docker` took that as a request for another engine and pointed at Docker Desktop's pipe. The default context now follows Solon, as Docker intends. With both fixes, Dev Containers open on Solon. New - Dev Containers documented: a `.devcontainer/devcontainer.json` folder opens in VS Code with "Reopen in Container" using Solon's `docker`; the workspace is mounted both ways, ports are forwarded, and the container shows up in Solon like any other. See the README. Installation Download `Solon_0.1.10_x64-setup.exe` and check its SHA-256 against `SHA256SUMS.txt`. Installing over 0.1.x keeps your images, containers and volumes. The installer is not signed yet: in SmartScreen click *More info*, then *Run anyway*.

Solon 0.1.9

Polish after a full walk through the app. *Version française plus bas.* Fixed - Sleeping services count as running. A service paused by Solon (wake on demand) showed the project as "1/2 running" with no address; it is reachable, so cards, addresses and counters now treat it as running. - Containers list: the "Asleep" pill no longer overflows its column. - Container page: long names stay on one line; the Inspect tab wraps its JSON instead of scrolling sideways. - Images: the registry mirror prefix is hidden; the short name is shown, the full one on hover. - Debug shell on a fresh engine: when the registry limited anonymous downloads, the toolbox build failed silently. Solon now prepares the base image itself, falls back to Docker Hub, and explains when it cannot. - Escape closes the stack gallery and the "Find projects" dialog; Ctrl+8 works from the terminals. Installation Download `Solon_0.1.9_x64-setup.exe` and check its SHA-256 against `SHA256SUMS.txt`. Installing over 0.1.x keeps your images, containers and volumes. The installer is not signed yet: in SmartScreen click *More info*, then *Run anyway*.

Known limitations

  • Windows Home works too: the installer enables the Virtual Machine Platform, which is enough for Solon.
  • No Kubernetes, no separate Linux machines, no ARM images (x86-64 only).
  • The installer is not signed yet; signing is the next step before a wider launch.
  • No silent update: Solon tells you when a new version exists (Settings → Updates, can be turned off). One click downloads the installer, checks its SHA-256 and lets Windows ask you before installing.
  • Tested on the development machine and one fresh machine. Reports from other configurations are very welcome.