Solution Discord

Échec du chargement des applications CasaOS après la mise à jour vers Docker 29 : comment résoudre le problème

A CasaOS feedback thread surfaced a GitHub issue where Docker updates on Ubuntu caused installed apps to disappear from the CasaOS Web UI.

Réponse courte : si CasaOS affiche soudainement « Échec du chargement des applications » après une mise à jour de Docker, vérifiez la version de l’API du moteur Docker avant de réinstaller CasaOS. Docker 29.0 a relevé l’API minimale du démon à v1.44, ce qui a cassé les anciens clients CasaOS App Management qui demandaient encore une API plus ancienne. Docker 29.3 a ensuite abaissé de nouveau le minimum à v1.40 ; la solution appropriée dépend donc de la version de Docker que vous exécutez réellement.

Vérifiez d’abord la version de Docker

Exécutez :

version de Docker

Examinez la version du serveur ainsi que les champs de version de l’API. La négociation de l’API Docker permet aux clients et aux démons de convenir d’une version d’API commune, mais uniquement parmi les versions que le démon accepte encore.

Cette limite a changé avec Docker 29. Docker 29.0 a relevé la version minimale de l’API du démon à v1.44. Dans Docker 29.3.0, la version minimale a été abaissée à v1.40. Le seuil de l’API de Docker 29 dépend donc de la version.

Version de Docker Version minimale de l’API du moteur Ce que cela signifie pour CasaOS
29.0.x–29.2.x v1.44 Un ancien client CasaOS App Management peut être refusé parce qu’il est trop ancien.
29.3.0+ v1.40 Le seuil v1.44 d’origine n’est plus le même blocage ; vérifiez donc les journaux avant d’appliquer une ancienne solution de contournement.

Confirmez que l’incompatibilité d’API est bien l’erreur réelle

Ne supposez pas que tout App Store vide est dû à un problème de compatibilité avec Docker 29. Consultez le journal du service :

journalctl -u casaos-app-management --no-pager -n 100

L’échec principal ressemble à ceci :

La version cliente 1.43 est trop ancienne.
La version minimale prise en charge de l’API est 1.44

Ce message indique fortement que l’échec de l’interface est dû à la compatibilité de l’API Docker, et non à un problème de catalogue de l’App Store. Plusieurs rapports CasaOS ont reproduit le même symptôme après des mises à niveau de Docker, notamment le problème lié à la mise à jour de Docker d’origine.

Pourquoi CasaOS peut cesser de fonctionner alors que Docker fonctionne toujours

CasaOS ne remplace pas Docker Engine. Son service de gestion des applications communique avec Docker via l’API du moteur. Les conteneurs Docker peuvent continuer à fonctionner normalement tandis que l’interface CasaOS perd la capacité de les interroger, de les créer ou de les gérer.

C’est pourquoi des commandes telles que :

docker ps
docker images

peut encore fonctionner même lorsque CasaOS indique qu’il ne peut pas charger les applications. La CLI Docker et la gestion des applications CasaOS sont des clients d’API distincts et ne demandent pas nécessairement la même version de l’API.

La relation plus générale entre CasaOS et Docker est expliquée dans Gestion des applications Docker par CasaOS, où CasaOS sert de couche visuelle au-dessus des applications basées sur Docker.

Corriger les anciennes installations de Docker 29 avec une surcharge de l’API

Pour les versions de Docker 29 qui nécessitent encore l’API v1.44, une solution de contournement testée consiste à réduire le niveau minimal accepté par le démon via systemd. Le correctif de compatibilité de CasaOS signalé utilise :

sudo systemctl edit docker.service

Ajouter :

[Service]
Environment=DOCKER_MIN_API_VERSION=1.24

Redémarrer ensuite Docker :

sudo systemctl daemon-reload
sudo systemctl restart docker

Vérifier la surcharge :

systemctl show docker | grep DOCKER_MIN_API_VERSION

Il s’agit d’une surcharge de compatibilité, et non d’une raison pour laisser indéfiniment le serveur sur une ancienne pile applicative. Elle permet délibérément à d’anciens clients de l’API de communiquer avec le démon.

Vérifier si l’installateur actuel corrige déjà le problème

Les mainteneurs de CasaOS ont ensuite indiqué que le script d’installation avait été mis à jour pour installer une version actuelle de Docker Engine et appliquer une surcharge de compatibilité de l’API Docker pour les versions plus récentes. Cette mise à jour des mainteneurs apparaît dans la mise à jour de compatibilité de l’installateur.

Si votre installation de CasaOS est antérieure à cette modification, relancer l’installateur officiel actuel peut être plus propre que de conserver indéfiniment une surcharge manuelle. Sauvegardez les données importantes de vos applications et votre configuration personnalisée avant de modifier un serveur existant.

Quand ne pas utiliser l’ancienne solution de contournement

Si version de Docker indique Docker 29.3 ou une version ultérieure et que l’API minimale est déjà v1.40, ne forcez pas aveuglément DOCKER_MIN_API_VERSION=1.24. Commencez par consulter le journal de CasaOS App Management. Une erreur différente nécessite une autre correction.

Par exemple, des échecs DNS, un accès défaillant au registre, des métadonnées d’application corrompues ou un service CasaOS arrêté peuvent tous produire un App Store qui semble vide sans qu’il s’agisse d’un problème de version d’API.

Vérifier CasaOS après la correction

Après le redémarrage de Docker, vérifiez les trois couches :

  1. Docker : docker ps s’exécute normalement.
  2. Service CasaOS : systemctl status casaos-app-management est actif et n’enregistre plus d’incompatibilité d’API.
  3. Interface web : les applications installées et l’App Store se chargent à nouveau.

Si Docker fonctionne, mais que CasaOS App Management échoue toujours, redémarrez ce service après Docker :

sudo systemctl restart casaos-app-management

Pour les utilisateurs qui comparent les piles d’applications, la plateforme d’applications ZimaOS présente le modèle actuel d’applications en un clic. Si vous recherchez une machine x86 compacte pour tester Docker et CasaOS, le ZimaBoard 2 répertorie officiellement CasaOS parmi ses systèmes d’exploitation compatibles.

FAQ

Docker 29 casse-t-il toujours CasaOS ?

Non. Docker 29.0 a relevé l’API minimale d’Engine à v1.44, mais Docker 29.3.0 l’a abaissée à v1.40. Vérifiez la version exacte de Docker et le journal de CasaOS avant de choisir une solution de contournement.

Pourquoi mes conteneurs fonctionnent-ils toujours ?

Les conteneurs sont gérés par Docker Engine. CasaOS App Management est un client distinct. Sa connexion à l’API peut échouer alors que le daemon et les conteneurs existants continuent de fonctionner.

Devrais-je rétrograder Docker ?

Pas automatiquement. La substitution de l’API a permis de contourner le problème pour les installations concernées de Docker 29, et les versions ultérieures de Docker ont de nouveau modifié l’API minimale. La rétrogradation n’est qu’une option lorsque la compatibilité ne peut pas être rétablie proprement.

Quel journal prouve qu’il s’agit du même problème ?

Recherchez une erreur indiquant que l’API du client Docker est trop ancienne et que le daemon exige l’API v1.44 ou une version ultérieure. Sans cette preuve, poursuivez le dépannage au lieu de supposer qu’il s’agit du problème lié à Docker 29.