Adds Debian 13 (trixie) support and fixes the Alpine Linux gap in the server validation pipeline.
Debian 13 has ID=debian in /etc/os-release, which already passes validateOS(). The failure occurs in InstallDocker.php‘s APT fallback when the Docker repository doesn’t have a trixie distribution yet.
Additionally, Alpine Linux was listed in SUPPORTED_OS but had no handler in InstallPrerequisites.php, causing servers running Alpine to fail with “Unsupported OS type” despite passing OS validation.
app/Actions/Server/InstallDocker.php
${VERSION_CODENAME} in the APT repo URL, checks if Docker’s repository actually has that distribution. Falls back to bookworm if unavailable. This is future-proof — when Docker adds trixie support, the fallback automatically stops being used.getAlpineDockerInstallCommand() using apk add docker docker-cli-compose.rc-update/service commands instead of systemctl.app/Actions/Server/InstallPrerequisites.php
apk add handler for installing curl, wget, git, jq on Alpine.tests/Unit/Debian13AndAlpineSupportTest.php
Other approaches hardcode if VERSION_CODENAME == "trixie" then bookworm. This works today but breaks if:
trixie support (the hardcoded check prevents using it)The dynamic check (curl the Docker repo to verify the distribution exists) handles all cases automatically.
# On a Debian 13 server, verify the full pipeline:
cat /etc/os-release # Should show ID=debian, VERSION_CODENAME=trixie
# The fix ensures:
# 1. validateOS() returns the debian family match (already works)
# 2. InstallPrerequisites uses apt-get (debian handler)
# 3. InstallDocker tries rancher → get.docker.com → APT with codename fallback
/claim #8154
buildingvibes
@buildingvibes
buildingvibes
@buildingvibes
Coolify
@coollabsio