Skip to main content

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.