Kort antwoord: als CasaOS plotseling ‘Failed to load apps’ weergeeft na een Docker-update, controleer dan de Docker Engine-API-versie voordat je CasaOS opnieuw installeert. Docker 29.0 verhoogde de minimale API van de daemon naar v1.44, waardoor oudere CasaOS App Management-clients die nog een oudere API opvroegen, niet meer werkten. Docker 29.3 verlaagde het minimum later weer naar v1.40, dus de juiste oplossing hangt af van de Docker-build die je daadwerkelijk gebruikt.
Controleer eerst de Docker-versie
Voer uit:
docker-versie
Bekijk de serverversie en de API-versievelden. Met Docker API-onderhandeling kunnen clients en daemons een gemeenschappelijke API-versie overeenkomen, maar alleen binnen de versies die de daemon nog accepteert.
Die grens veranderde in Docker 29. Docker 29.0 verhoogde de minimale daemon-API naar v1.44. In Docker 29.3.0 werd het minimum verlaagd naar v1.40. De API-ondergrens van Docker 29 is daarom versieafhankelijk.
| Docker-versie | Minimale Engine-API | Wat dit betekent voor CasaOS |
|---|---|---|
| 29.0.x–29.2.x | v1.44 | Een oudere CasaOS App Management-client kan worden geweigerd omdat deze te oud is. |
| 29.3.0+ | v1.40 | De oorspronkelijke ondergrens van v1.44 is niet langer hetzelfde knelpunt, dus controleer de logboeken voordat je een oude workaround toepast. |
Bevestig dat een API-mismatch de werkelijke fout is
Ga er niet van uit dat een lege App Store altijd een compatibiliteitsprobleem met Docker 29 is. Controleer het servicelogboek:
journalctl -u casaos-app-management --no-pager -n 100
De belangrijkste fout ziet er als volgt uit:
Clientversie 1.43 is te oud.
Minimaal ondersteunde API-versie is 1.44
Die melding is sterk bewijs dat de UI-fout het gevolg is van incompatibiliteit met de Docker API, en niet van een probleem met de App Store-catalogus. Meerdere CasaOS-meldingen reproduceerden hetzelfde symptoom na Docker-upgrades, waaronder de oorspronkelijke Docker-updatefout.
Waarom CasaOS kan uitvallen terwijl Docker zelf nog werkt
CasaOS vervangt Docker Engine niet. De App Management-service communiceert via de Engine API met Docker. Docker-containers kunnen nog steeds normaal draaien terwijl de CasaOS-interface niet meer de mogelijkheid heeft om ze op te vragen, te maken of te beheren.
Daarom werken opdrachten zoals:
docker ps
docker images
kan nog steeds werken, zelfs wanneer CasaOS meldt dat het apps niet kan laden. De Docker CLI en CasaOS App Management zijn afzonderlijke API-clients en vragen niet noodzakelijk dezelfde API-versie op.
De bredere relatie tussen CasaOS en Docker wordt uitgelegd in CasaOS Docker-beheer, waarin CasaOS wordt gebruikt als visuele laag bovenop Docker-gebaseerde applicaties.
Herstel oudere Docker 29-installaties met een API-override
Voor Docker 29-builds die nog API v1.44 vereisen, is een geteste workaround om via systemd het door de daemon geaccepteerde minimum te verlagen. De gemelde CasaOS-compatibiliteitsoplossing gebruikt:
sudo systemctl edit docker.service
Voeg toe:
[Service]
Environment=DOCKER_MIN_API_VERSION=1.24
Start Docker vervolgens opnieuw:
sudo systemctl daemon-reload
sudo systemctl restart docker
Controleer de override:
systemctl show docker | grep DOCKER_MIN_API_VERSION
Dit is een compatibiliteitsoverride, geen reden om de server onbeperkt op een oude applicatiestack te laten draaien. Hiermee kunnen oudere API-clients bewust met de daemon communiceren.
Controleer of het huidige installatieprogramma dit al oplost
De beheerders van CasaOS meldden later dat het installatiescript was bijgewerkt om een actuele Docker Engine te installeren en een Docker API-compatibiliteitsoverride toe te passen voor nieuwere versies. Die update van de beheerders staat in de compatibiliteitsupdate van het installatieprogramma.
Als uw CasaOS-installatie ouder is dan die wijziging, kan het opnieuw uitvoeren van het huidige officiële installatieprogramma schoner zijn dan voor altijd een handmatige override te onderhouden. Maak een back-up van belangrijke appgegevens en aangepaste configuratie voordat u een bestaande server wijzigt.
Wanneer u de oude workaround niet moet gebruiken
Als docker-versie toont Docker 29.3 of nieuwer en de minimale API is al v1.40, forceer dan niet blindelings DOCKER_MIN_API_VERSION=1.24. Controleer eerst het CasaOS App Management-logboek. Voor een andere fout is een andere oplossing nodig.
DNS-fouten, geen toegang tot het register, beschadigde app-metagegevens of een gestopte CasaOS-service kunnen bijvoorbeeld allemaal leiden tot een App Store die leeg lijkt zonder dat er sprake is van een probleem met de API-versie.
CasaOS controleren na de oplossing
Controleer na het opnieuw starten van Docker alle drie de lagen:
-
Docker:
docker pswordt normaal uitgevoerd. -
CasaOS-service:
systemctl status casaos-app-managementis actief en registreert niet langer een API-mismatch. - Webinterface: geïnstalleerde apps en de App Store worden weer geladen.
Als Docker werkt maar CasaOS App Management nog steeds niet werkt, start je die service na Docker opnieuw:
sudo systemctl restart casaos-app-management
Voor gebruikers die applicatiestacks vergelijken, toont het ZimaOS-appplatform het huidige model voor apps met één klik. Als je een compacte x86-machine voor het testen van Docker en CasaOS wilt, vermeldt ZimaBoard 2 officieel CasaOS als een compatibel besturingssysteem.
Veelgestelde vragen
Zorgt Docker 29 altijd voor problemen met CasaOS?
Nee. Docker 29.0 verhoogde de minimale Engine-API naar v1.44, maar Docker 29.3.0 verlaagde deze naar v1.40. Controleer de exacte Docker-versie en het CasaOS-logboek voordat je een tijdelijke oplossing kiest.
Waarom draaien mijn containers nog steeds?
De containers worden beheerd door Docker Engine. CasaOS App Management is een afzonderlijke client. De API-verbinding daarvan kan mislukken terwijl de daemon en bestaande containers blijven draaien.
Moet ik Docker downgraden?
Niet automatisch. De API-override was een succesvolle tijdelijke oplossing voor getroffen Docker 29-installaties, en latere Docker-releases hebben de minimale API-versie opnieuw gewijzigd. Downgraden is slechts één optie wanneer de compatibiliteit niet netjes kan worden hersteld.
Welk logboek bewijst dat dit hetzelfde probleem is?
Zoek naar een foutmelding waarin staat dat de Docker-client-API te oud is en dat de daemon API v1.44 of nieuwer vereist. Als dat bewijs ontbreekt, ga dan verder met het oplossen van problemen in plaats van automatisch uit te gaan van het Docker 29-probleem.
