Code source wiki de code-server
Modifié par john le 2026/09/19 14:07
Afficher les derniers auteurs
| author | version | line-number | content |
|---|---|---|---|
| 1 | Visual Studio Code dans le navigateur (projet code-server de Coder) : éditeur, terminal et extensions, accessibles depuis n'importe quel poste du réseau. | ||
| 2 | |||
| 3 | == Stack == | ||
| 4 | |||
| 5 | {{code language="yaml"}} | ||
| 6 | services: | ||
| 7 | code-server: | ||
| 8 | image: codercom/code-server:latest | ||
| 9 | container_name: code-server | ||
| 10 | environment: | ||
| 11 | - PASSWORD=<MOT_DE_PASSE> | ||
| 12 | - TZ=Europe/Paris | ||
| 13 | volumes: | ||
| 14 | - <APPDATA>/code-server:/home/coder/project | ||
| 15 | - <DOSSIER_SSL>/code-server:/certs:ro | ||
| 16 | command: > | ||
| 17 | --bind-addr 0.0.0.0:8443 | ||
| 18 | --cert /certs/cert.crt | ||
| 19 | --cert-key /certs/key.key | ||
| 20 | ports: | ||
| 21 | - "8443:8443" | ||
| 22 | restart: unless-stopped | ||
| 23 | {{/code}} | ||
| 24 | |||
| 25 | * Accès en https direct sur le port 8443, avec un certificat local ; pas de passage par SWAG. | ||
| 26 | * ##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. | ||
| 27 | * 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. | ||
| 28 | * Les extensions viennent du registre Open VSX, pas de la boutique Microsoft : certaines extensions propriétaires ne sont pas disponibles. | ||
| 29 | |||
| 30 | == Certificat == | ||
| 31 | |||
| 32 | Certificat local dans ##<DOSSIER_SSL>/code-server##, régénérable avec mkcert : | ||
| 33 | |||
| 34 | {{code language="bash"}} | ||
| 35 | mkcert -cert-file cert.crt -key-file key.key <IP_SERVEUR> <NOM_HOTE> | ||
| 36 | {{/code}} | ||
| 37 | |||
| 38 | L'autorité de mkcert doit être installée sur les postes clients pour que le navigateur accepte le certificat. | ||
| 39 | |||
| 40 | == Persistance == | ||
| 41 | |||
| 42 | 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. | ||
| 43 | |||
| 44 | == Sauvegarde == | ||
| 45 | |||
| 46 | * Projets : ##<APPDATA>/code-server##, sauvegardé par le script de [[Sauvegarde>>Wiki Batcave John.Infrastructure.Sauvegarde.WebHome]]. | ||
| 47 | * Certificat : hors du dossier sauvegardé, régénérable. |