0 Votes

code-server

Modifié par john le 2026/09/19 14:07

Visual Studio Code dans le navigateur (projet code-server de Coder) : éditeur, terminal et extensions, accessibles depuis n'importe quel poste du réseau.

Stack

services:
 code-server:
   image: codercom/code-server:latest
   container_name: code-server
   environment:
      - PASSWORD=<MOT_DE_PASSE>
      - TZ=Europe/Paris
   volumes:
      - <APPDATA>/code-server:/home/coder/project
      - <DOSSIER_SSL>/code-server:/certs:ro
   command: >
     --bind-addr 0.0.0.0:8443
     --cert /certs/cert.crt
     --cert-key /certs/key.key
   ports:
      - "8443:8443"
   restart: unless-stopped
  • Accès en https direct sur le port 8443, avec un certificat local ; pas de passage par SWAG.
  • PASSWORD protège l'accès par un mot de passe unique. HASHED_PASSWORD (empreinte argon2) évite de le laisser en clair dans la stack.
  • Le terminal intégré s'exécute dans le conteneur, avec l'utilisateur coder : il n'a accès qu'au dossier monté, pas à l'hôte.
  • Les extensions viennent du registre Open VSX, pas de la boutique Microsoft : certaines extensions propriétaires ne sont pas disponibles.

Certificat

Certificat local dans <DOSSIER_SSL>/code-server, régénérable avec mkcert :

mkcert -cert-file cert.crt -key-file key.key <IP_SERVEUR> <NOM_HOTE>

L'autorité de mkcert doit être installée sur les postes clients pour que le navigateur accepte le certificat.

Persistance

Seul /home/coder/project est monté. Les réglages et les extensions, stockés dans /home/coder/.local/share/code-server et /home/coder/.config, sont perdus à chaque recréation du conteneur, donc à chaque mise à jour par Watchtower. Pour les conserver, monter aussi ces deux dossiers.

Sauvegarde

  • Projets : <APPDATA>/code-server, sauvegardé par le script de Sauvegarde.
  • Certificat : hors du dossier sauvegardé, régénérable.