Windows Manage Server installer: use Docker instead of Podman #11
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
primatekuntech/triton-install#11
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
The Windows Manage Server installer currently auto-installs Podman when no container runtime is present. We need it to use Docker instead.
Current behaviour
get.ps1(bootstrapper,manage-servermode) — whenTest-ComposeRuntimefinds neitherdockernorpodmanalready installed and working, it unconditionally installs Podman: enables WSL2 if needed, thenwinget install -e --id RedHat.Podman(get.ps1:94-140), thenpodman machine init --now. Docker is never the auto-install target — only used if the operator already has it.install.ps1already prefers Docker over Podman when both are present/working (install.ps1:51-64: triesdocker infofirst, falls back topodman info), but sinceget.ps1only ever auto-installs Podman, a fresh machine with neither runtime always ends up on Podman.upgrade.ps1anduninstall.ps1both iterate@('docker', 'podman')for runtime detection (upgrade.ps1:37-43,uninstall.ps1:29-35) and have Podman-specific handling (starting the Podman machine if the daemon probe fails).install.ps1also carries a Podman-specific workaround for a rootless-on-Windows limitation: Podman's WSL2 backend runs rootless and can't auto-create/etc/tritoninside the VM, so the installer writes acompose.override.yamlthat swaps the TLS bind-mount for a named volume (install.ps1:192-215, see the comment there for the full explanation).README.md:133-134,232documents this as the intended behaviour ("the installer will install Podman automatically").Desired behaviour
Switch the Windows auto-install path to Docker Desktop instead of Podman.
Open questions for whoever picks this up
get.ps1auto-installs when nothing is present, while still accepting a manually-installed Podman (currentdocker-preferred detection ininstall.ps1/upgrade.ps1/uninstall.ps1already does this), or (b) drop Podman support entirely and require Docker? (b) would let the rootless-workaround block ininstall.ps1:192-215be deleted, but also breaks compatibility for anyone who already installed on Podman.get.ps1can run silently under an elevated, non-interactive PowerShell session (get.ps1:117-118, "no GUI"). Docker Desktop is normally a GUI application tied to a logged-in user session and typically needs to be launched/accepted once interactively — worth confirmingwinget install -e --id Docker.DockerDesktop(or an unattended install flag) actually works cleanly from a script running as Administrator with no user present, the same way the current Podman CLI install does.Affected files (in
triton-install,manage-server/)get.ps1— auto-install target (winget install -e --id RedHat.Podman→ Docker equivalent)install.ps1— runtime detection/preference order, Podman rootless TLS-volume workaroundupgrade.ps1,uninstall.ps1— runtime detection loop, Podman-machine-start handlingREADME.md— Windows requirements/support-matrix documentation