code-server — Installation, configuration et dépannage (résumé)¶
But
- Faire tourner
code-serversur ta machine Windows via WSL (Ubuntu) et y accéder depuis le LAN (tablette/téléphone).
Status actuel
code-serverinstallé et accessible depuis le LAN viahttp://192.168.2.7:8080.- Scripts ajoutés dans le dépôt: see
scripts/(install, firewall, portproxy).
Fichiers créés
scripts/setup-code-server-wsl.sh: installecode-serverdans WSL, écrit~/.config/code-server/config.yamlet démarre le service.scripts/setup-windows-firewall-and-ssh.ps1: crée règle pare-feu pour Windows (port 8080) et option d'installation OpenSSH.scripts/setup-portproxy-wsl.ps1: script pour créer automatiquement le portproxy Windows→WSL (netsh v4tov4) et ajouter règle pare-feu.docs/code-server-quick-note.txt: note ultra-courte (rappel rapide).
Résumé des étapes réalisées
- Installer WSL / Ubuntu (si nécessaire):
wsl --install -d Ubuntu(PowerShell admin)- Installer
code-serverdans WSL (exécuté viascripts/setup-code-server-wsl.shou manuellement): curl -fsSL https://code-server.dev/install.sh | sh- Config minimale écrite dans
~/.config/code-server/config.yaml:bind-addr: 0.0.0.0:8080 auth: password password: "<TonMotDePasse>" cert: false - Important : pour les mots de passe contenant des caractères spéciaux (ex:
!), encadre la valeur avec des quotes pour que YAML l'accepte. - Démarrer
code-serveren tant que service utilisateur (systemd) ou lancer manuellement: systemctl --user enable --now code-server(si systemd dans WSL).- Ou
code-server --bind-addr 0.0.0.0:8080 &pour exécution manuelle. - Redirection du port WSL → Windows (WSL2 spécifique)
- WSL2 a une IP interne (ex:
172.27.211.140), inaccessible directement depuis les autres hôtes du LAN. - Nous avons créé un
portproxyWindows qui écoute sur0.0.0.0:8080et redirige vers l'IP WSL:netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=8080 connectaddress=<WSL_IP> connectport=8080 - Le script
scripts/setup-portproxy-wsl.ps1automatise la récupération de l'IP WSL et la (re)création du proxy. - Pare-feu Windows
- Ajouter règle d'autorisation pour le port 8080 (profil Privé ou Any selon ton besoin):
New-NetFirewallRule -DisplayName "code-server (allow 8080)" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 8080 -Profile Private - Nous avons ajouté
scripts/setup-windows-firewall-and-ssh.ps1pour créer cette règle et proposer l'installation d'OpenSSH.
Dépannage et diagnostics effectués
- Vérifications réalisées depuis WSL:
ps aux | grep code-server— confirmer process actif.curl -I http://127.0.0.1:8080— test local HTTP.journalctl --user -u code-server -n 200 --no-pager— consultation des logs.- Problèmes rencontrés et résolus :
- YAML mal formé dans
~/.config/code-server/config.yaml(absence d'espace et caractères spéciaux non quotés) — causaiterror can not read a block mapping entryet plantage du service. - Solution : corriger la ligne
password:pour inclure un espace et, si nécessaire, entourer la valeur entre quotes (ex:password: 'MonMotDePasse!'). - Le service s'est arrêté car
systemda détecté des redémarrages trop fréquents — corrigé en réparant le YAML puis redémarrant.
Tests finaux
- Depuis Windows local :
curl http://localhost:8080→ renvoie HTTP 200. - Depuis autre appareil LAN :
http://192.168.2.7:8080(adresse Windows host) — accessible après création duportproxyet règle pare-feu.
Notes importantes
- L'IP WSL change parfois au redémarrage : il faut re-exécuter le
setup-portproxy-wsl.ps1ou automatiser la recréation au démarrage (tâche planifiée). Le script contient un commentaire à ce sujet. - Garder
bind-addr: 0.0.0.0:8080pour permettre au portproxy Windows de rediriger. Ne pas exposer ce port sur le WAN sans tunnel sécurisé. - Pour accès WAN sécurisé, utiliser Cloudflare Tunnel ou
ngrok(non configuré ici — tu as préféré attendre).
Commandes utiles (rappel rapide)
- Lancer WSL Ubuntu :
wsl -d Ubuntu - Voir distros :
wsl -l -v - Récupérer IP WSL :
wsl -d Ubuntu hostname -I - Supprimer portproxy :
netsh interface portproxy delete v4tov4 listenaddress=0.0.0.0 listenport=8080 - Voir portproxy :
netsh interface portproxy show all - Activer IP Helper (si erreur netsh) :
Start-Service iphlpsvc; Set-Service -Name iphlpsvc -StartupType Automatic
Prochaines actions possibles
- Automatiser la création du
portproxyau démarrage Windows (tâche planifiée). (Je peux l'ajouter si tu veux.) - Ajouter Cloudflare Tunnel si tu veux accès WAN sécurisé plus tard.
Références locales
- Scripts :
scripts/setup-code-server-wsl.sh,scripts/setup-windows-firewall-and-ssh.ps1,scripts/setup-portproxy-wsl.ps1 - Note rapide :
docs/code-server-quick-note.txt
Fin du document.