Gemenskapslösning

Åtgärda att CasaOS inte kunde läsa in appar efter en Docker-uppdatering

A CasaOS user on Ubuntu with Docker 29.0.1 could load the dashboard but not the Apps section. Logs showed CasaOS App Management using Docker API 1.43 while the Docker daemon required at least 1.44, alongside secondary permission errors.

Om CasaOS startar men avsnittet Appar bara visar ”Apparna kunde inte läsas in, försök igen senare” efter en Docker-uppdatering, kontrollera loggarna för CasaOS App Management innan du ändrar filsystemets behörigheter. I fallet från IceWhale Community i november 2025 var det avgörande felet inte själva instrumentpanelen: CasaOS App Management försökte använda Docker API 1.43, medan Docker Engine 29.0.1 krävde minst API 1.44.

Samma logg innehöll också behörighetsfel under /var/run/casaos, /var/log/casaos, och /var/lib/casaos, men Docker API-avvisandet var ett separat kompatibilitetsfel som hindrade CasaOS från att visa container- och appinformation. CasaOS underhållare uppdaterade senare installationsskriptet så att det fungerar med nyare Docker-versioner och hanterar API-kompatibilitet, så nuvarande användare bör börja med det uppdaterade CasaOS-installationsprogrammet i stället för att permanent nedgradera Docker.

Felet som identifierade det verkliga kompatibilitetsproblemet

Den ursprungliga författaren rapporterade:

Felsvar från daemonen:
klientversion 1.43 är för gammal.
Minsta API-version som stöds är 1.44,
uppgradera klienten till en nyare version

Miljön var:

  • Ubuntu Server;
  • Docker Engine 29.0.1;
  • Docker API 1.52;
  • CasaOS App Management byggt i oktober 2024.

Detta förklarar varför CasaOS-instrumentpanelen fortfarande kunde öppnas medan avsnittet Appar inte fungerade: webbgränssnittet och den Docker-baserade apphanteringstjänsten är olika lager.

Varför en Docker-uppdatering kan göra att CasaOS-applistan slutar fungera

Docker Engine tillhandahåller ett versionshanterat API. Äldre klienter kan vanligtvis förhandla med nyare daemoner, men Docker har successivt höjt den lägsta API-version som accepteras.

Aktuell Docker-dokumentation förklarar API-versionsförhandling och påpekar att äldre API-versioner gradvis fasas ut eller tas bort. Se dokumentationen om Docker Engine API.

I det här källfallet använde CasaOS App Management API 1.43, medan Docker 29-daemonen avvisade allt under 1.44. Därför misslyckades appinventeringen innan gränssnittet hann återge applistan.

Behörighetsfelen var verkliga, men utgjorde inte samma fel

Loggarna innehöll också meddelanden som:

open /var/run/casaos/app-management.url: behörighet nekades
mkdir /var/lib/casaos/appstore/...tmp: behörighet nekades
kan inte byta namn på loggfil ... behörighet nekades

Författaren hade redan skapat de relevanta CasaOS-katalogerna och justerat deras behörigheter, men App Store kunde fortfarande inte läsas in. Det resultatet är viktigt: omfattande behörighetsändringar kunde inte lösa en inkompatibilitet med Docker API.

Inte rekursivt chmod 777 eller ändra ägarskap för CasaOS-systemkataloger bara för att gränssnittet säger att apparna inte kunde läsas in. Läs de exakta loggarna först.

MjTech svarade att detta var ett känt Docker-relaterat problem och hänvisade skribenten till en BigBear-communitylösning för CasaOS Docker API-fel.

Vid den tiden omfattade vanliga tillfälliga lösningar:

  • sänka den lägsta Docker API-version som daemonen accepterar genom en systemd-åsidosättning;
  • eller tillfälligt använda en äldre Docker-version som fortfarande accepterade CasaOS klient-API.

Dessa lösningar var värdefulla i november 2025, men bör inte automatiskt bli den permanenta proceduren för 2026 eftersom CasaOS installationsprogram därefter uppdaterades.

CasaOS uppdaterade senare installationsprogrammet

I december 2025 rapporterade en CasaOS-underhållare på GitHub att installationsskriptet hade åtgärdats så att det skulle:

  • installera den senaste tillgängliga Docker Engine i stället för det gamla målet Docker 24.0.7;
  • tillämpa hantering av Docker API-kompatibilitet för nyare Docker-versioner;
  • låta CasaOS-tjänster och inbyggda program fungera med moderna Docker-versioner.

Underhållaren sade specifikt att en ren installation eller det aktuella installationsskriptet kunde användas för att åtgärda det tidigare problemet med att Docker-appar inte lästes in.

Se installationsskriptet för CasaOS för den aktuella källan.

Första aktuella åtgärd: använd det uppdaterade installationsprogrammet för CasaOS

CasaOS dokumenterar för närvarande:

curl -fsSL https://get.casaos.io | sudo bash

eller:

wget -qO- https://get.casaos.io | sudo bash

Innan du kör ett installationsprogram på en befintlig server bör du säkerhetskopiera viktiga programdatabaser och konfigurationer. Reparationen är avsedd att bevara CasaOS tillstånd, men en hemmaserver bör aldrig vara beroende av ett reparationsskript som enda återställningsplan.

Aktuella installationsanvisningar finns i CasaOS GitHub-arkiv.

Verifiera API-felet innan du tillämpar en kompatibilitetsåsidosättning

Kontrollera Docker:

docker version

Kontrollera sedan CasaOS App Management:

sudo systemctl status casaos-app-management
sudo journalctl -u casaos-app-management --no-pager -n 100

Om loggen uttryckligen innehåller:

klientversion 1.43 är för gammal
Lägsta API-version som stöds är 1.44

då har du att göra med samma typ av Docker API-fel som i den ursprungliga tråden.

Om loggen i stället visar fel om full disk, DNS-fel, en avstängd Docker-daemon, en skadad katalog för appbutiken eller saknade filer ska du inte tillämpa en API-lösning bara för att gränssnittsmeddelandet är identiskt.

Om den historiska åsidosättningen av Docks API-kompatibilitet

Community- och GitHub-lösningar under incidenten 2025 lade till en systemd-miljöinställning för Docker som åter tillät äldre klient-API-versioner. Det kunde återställa applistningen medan CasaOS fortfarande använde API 1.43.

Detta ändrar Docker-daemonens kompatibilitetsgräns. Betrakta det som en tillfällig kompatibilitetsmekanism för en verifierad inkompatibilitet mellan en gammal klient och en ny daemon, inte som en generell inställning för CasaOS.

Aktuell Docker-dokumentation förklarar att stödet för äldre API-versioner förändras över tid och rekommenderar att klienterna hålls uppdaterade i stället för att permanent förlita sig på gamla API-versioner.

Ställ inte in DOCKER_API_VERSION på CasaOS utan att först kontrollera orsaken

Dockers DOCKER_API_VERSION variabeln tvingar en klient att använda en specifik API-version och inaktiverar normal API-förhandling. Docker dokumenterar den främst för fall där en exakt API-version krävs eller för felsökning.

Det skiljer sig från att få en nyare Docker-daemon att acceptera en äldre CasaOS-klients API. Att ställa in ett godtyckligt API-värde på klientsidan kan förvärra inkompatibiliteten.

Bekräfta även att Docker fungerar korrekt

sudo systemctl status docker
docker ps

Om Docker själv är stoppat kan CasaOS inte lista körande containrar, oavsett API-version.

Kontrollera diskutrymmet innan du installerar om något

Samma UI-meddelande ”Failed to load apps” har förekommit i orelaterade CasaOS-fall där systemdisken nästan var full. Kontrollera:

df -h

Ett fullt rotfilsystem kan orsaka problem med loggar, temporära filer, uppdateringar av App Store och Docker-tillstånd. Anta inte att identiska UI-banners alltid har samma orsak.

Säker felsökningsordning

  1. Bekräfta att själva CasaOS-instrumentpanelen öppnas.
  2. Kontrollera systemctl status docker och docker ps.
  3. Kontrollera df -h.
  4. Läs casaos-app-management loggar.
  5. Om loggen visar API-inkompatibiliteten 1.43/1.44 ska du först använda den aktuella installations-/reparationsvägen för CasaOS.
  6. Använd endast en åsidosättning för API-kompatibilitet när inkompatibiliteten har verifierats och den aktuella reparationsvägen inte är tillgänglig.
  7. Lätta inte generellt på behörigheterna för CasaOS-kataloger utan belägg.
  8. Säkerhetskopiera appdata innan du installerar om eller gör systemomfattande ändringar i Docker.

Vanliga frågor om CasaOS-felet ”Failed to Load Apps”

Varför fungerar CasaOS-instrumentpanelen medan Appar inte gör det?

UI:t, CasaOS-tjänsterna, Docker-daemonen och CasaOS App Management är separata komponenter. I källfallet uppstod felet specifikt när App Management försökte skicka en fråga till Docker.

Var Docker 29 orsaken i källtråden?

Källoggarna visade att Docker 29.0.1 kräver API 1.44, medan den installerade CasaOS-klienten för apphantering använde API 1.43. Den inkompatibiliteten förhindrade direkt att apparna kunde listas.

Bör jag använda chmod på CasaOS-mappar för att åtgärda sidan?

Inte utan belägg. Den ursprungliga författaren hade redan ändrat behörigheterna och hade fortfarande Docker-API-felet. Läs de exakta tjänsteloggarna först.

Bör jag nedgradera Docker?

Det var en historisk lösning. CasaOS uppdaterade senare sitt installationsprogram för att stödja modern Docker-kompatibilitet, så använd den aktuella reparations-/installationsvägen innan du tvingar fram en äldre Docker-version.

Betyder ”Failed to load apps” alltid att Docker-API:t är inkompatibelt?

Nej. Samma UI-meddelande kan orsakas av en stoppad Docker-daemon, full disk, behörigheter, fel i apphanteringen eller andra tjänsteproblem. Loggen avgör diagnosen.