Mise à jour manuelle de code-server – LXC BASTION Cette procédure permet de mettre à jour  code-server installé sous forme de paquet Debian ( .deb ) sur le LXC BASTION . 1. Informations de l'installation Élément Valeur Utilisateur nancre Architecture amd64 Installation Paquet Debian officiel Binaire /usr/bin/code-server Installation /usr/lib/code-server Configuration /home/nancre/.config/code-server/config.yaml Données utilisateur /home/nancre/.local/share/code-server Service systemd code-server@nancre.service Port 8080/TCP 2. Vérifier la version actuelle Avant toute modification, vérifier la version installée : dpkg -l | grep code-server /usr/bin/code-server --version Exemple : ii code-server 4.130.0 amd64 Run VS Code in the browser. 4.130.0 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx with Code 1.130.0 3. Vérifier que le service fonctionne sudo systemctl status code-server@nancre.service --no-pager Le service doit être : Active: active (running) Vérifier également que le port 8080 est à l'écoute : sudo ss -ltnp | grep ':8080' On doit retrouver une écoute sur : 0.0.0.0:8080 4. Sauvegarder la configuration Avant la mise à jour, sauvegarder la configuration et les données utilisateur. cp -a ~/.config/code-server \ ~/.config/code-server.backup-$(date +%Y%m%d-%H%M%S) cp -a ~/.local/share/code-server \ ~/.local/share/code-server.backup-$(date +%Y%m%d-%H%M%S) Vérifier que les sauvegardes existent : ls -ld ~/.config/code-server.backup-* ls -ld ~/.local/share/code-server.backup-* 5. Définir la version cible Remplacer 4.137.0 par la version souhaitée. export CODE_SERVER_VERSION="4.137.0" Pour vérifier : echo "$CODE_SERVER_VERSION" 6. Télécharger le paquet officiel Se placer dans le répertoire temporaire : cd /tmp Télécharger le paquet Debian correspondant à l'architecture AMD64 : wget "https://github.com/coder/code-server/releases/download/v${CODE_SERVER_VERSION}/code-server_${CODE_SERVER_VERSION}_amd64.deb" Vérifier que le fichier existe : ls -lh "/tmp/code-server_${CODE_SERVER_VERSION}_amd64.deb" 7. Vérifier le paquet avant installation Afficher les informations du paquet : dpkg-deb -I "/tmp/code-server_${CODE_SERVER_VERSION}_amd64.deb" | grep -E 'Package:|Version:|Architecture:' Le résultat doit indiquer : Package: code-server Version: 4.137.0 Architecture: amd64 8. Installer la nouvelle version sudo dpkg -i "/tmp/code-server_${CODE_SERVER_VERSION}_amd64.deb" Si des dépendances sont signalées comme manquantes, exécuter : sudo apt-get install -f Puis vérifier de nouveau le paquet : dpkg -l | grep code-server 9. Vérifier la nouvelle version /usr/bin/code-server --version Le résultat doit correspondre à la version cible. Exemple pour la version 4.137.0 : 4.137.0 b11dabdaca0d3369986975be285db92c8795cea5 with Code 1.137.0 10. Recharger la configuration systemd L'installation d'un nouveau paquet peut modifier les fichiers systemd. Recharger le gestionnaire systemd : sudo systemctl daemon-reload Cette étape est importante si systemd affiche le message : Warning: The unit file, source configuration file or drop-ins of code-server@nancre.service changed on disk. Run 'systemctl daemon-reload' to reload units. 11. Redémarrer code-server sudo systemctl restart code-server@nancre.service Vérifier immédiatement le service : sudo systemctl status code-server@nancre.service --no-pager Le service doit être : Active: active (running) 12. Vérifier les logs Afficher les dernières lignes du journal : sudo journalctl -u code-server@nancre.service -n 50 --no-pager En cas de problème, rechercher les erreurs : sudo journalctl -u code-server@nancre.service --no-pager | grep -Ei 'error|failed|fatal' 13. Vérifier le port d'écoute sudo ss -ltnp | grep ':8080' Le port doit être ouvert sur : 0.0.0.0:8080 14. Tester localement Tester la réponse HTTP de code-server : curl -I http://127.0.0.1:8080 Une réponse : HTTP/1.1 401 Unauthorized est normale puisque l'authentification par mot de passe est activée dans config.yaml . 15. Vérifier la configuration cat ~/.config/code-server/config.yaml Configuration actuelle attendue : bind-addr: 0.0.0.0:8080 auth: password password: 'MON_MOT_DE_PASSE' cert: false Ne pas modifier le mot de passe pendant une simple mise à jour. 16. Test fonctionnel dans le navigateur Ouvrir l'URL habituelle de code-server et vérifier : connexion à code-server ; ouverture du workspace ; terminal intégré ; Git ; extensions ; extension Codex/OpenAI ; accès aux fichiers du workspace. 17. Vérification finale Exécuter : echo "=== VERSION ===" /usr/bin/code-server --version echo "=== PAQUET ===" dpkg -l | grep code-server echo "=== SERVICE ===" sudo systemctl is-active code-server@nancre.service echo "=== PORT ===" sudo ss -ltnp | grep ':8080' La mise à jour est considérée comme réussie si : la version correspond à la version cible ; le paquet est en état ii ; le service retourne active ; le port 8080 est à l'écoute ; l'interface web fonctionne. 18. Procédure de rollback En cas de problème après la mise à jour, il est possible de revenir à la version précédente. 18.1 Identifier la version précédente grep code-server /var/log/dpkg.log | tail -20 On peut également consulter : ls -lh /tmp/code-server_*.deb Si le paquet précédent a été conservé dans /tmp , il peut être réinstallé directement. 18.2 Télécharger l'ancienne version Définir la version précédente : export OLD_VERSION="4.130.0" Télécharger le paquet : cd /tmp wget "https://github.com/coder/code-server/releases/download/v${OLD_VERSION}/code-server_${OLD_VERSION}_amd64.deb" 18.3 Réinstaller l'ancienne version sudo dpkg -i "/tmp/code-server_${OLD_VERSION}_amd64.deb" 18.4 Recharger systemd sudo systemctl daemon-reload 18.5 Redémarrer code-server sudo systemctl restart code-server@nancre.service 18.6 Vérifier le rollback /usr/bin/code-server --version sudo systemctl status code-server@nancre.service --no-pager sudo ss -ltnp | grep ':8080' La version précédente doit être affichée et le service doit être active (running) . 19. Rollback de la configuration utilisateur Si la mise à jour a également provoqué un problème avec la configuration ou les extensions, arrêter code-server : sudo systemctl stop code-server@nancre.service Identifier la sauvegarde créée avant la mise à jour : ls -ld ~/.config/code-server.backup-* ls -ld ~/.local/share/code-server.backup-* Restaurer la configuration : rm -rf ~/.config/code-server cp -a ~/.config/code-server.backup-YYYYMMDD-HHMMSS ~/.config/code-server Restaurer les données utilisateur uniquement si nécessaire : rm -rf ~/.local/share/code-server cp -a ~/.local/share/code-server.backup-YYYYMMDD-HHMMSS ~/.local/share/code-server Redémarrer : sudo systemctl start code-server@nancre.service ⚠️ Attention : remplacer YYYYMMDD-HHMMSS par le nom exact de la sauvegarde. Ne pas supprimer les sauvegardes avant d'avoir validé le fonctionnement de la nouvelle version. 20. Commandes rapides – mise à jour Pour une mise à jour ultérieure déjà validée, la séquence minimale est : export CODE_SERVER_VERSION="X.Y.Z" cd /tmp wget "https://github.com/coder/code-server/releases/download/v${CODE_SERVER_VERSION}/code-server_${CODE_SERVER_VERSION}_amd64.deb" sudo dpkg -i "/tmp/code-server_${CODE_SERVER_VERSION}_amd64.deb" sudo systemctl daemon-reload sudo systemctl restart code-server@nancre.service /usr/bin/code-server --version sudo systemctl status code-server@nancre.service --no-pager sudo ss -ltnp | grep ':8080' 21. Résumé de l'architecture Utilisateur : nancre │ ▼ code-server@nancre.service │ ▼ /usr/bin/code-server │ ▼ /usr/lib/code-server │ ▼ 0.0.0.0:8080 │ ▼ Reverse proxy / accès web Important : le service à utiliser est code-server@nancre.service . Le service utilisateur code-server.service n'est pas celui qui exécute l'instance actuelle.