Initial vault setup

This commit is contained in:
2026-06-09 18:40:21 +02:00
commit bda02d587f
3692 changed files with 402457 additions and 0 deletions
@@ -0,0 +1,115 @@
---
title: code-server
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, development, ide, code-editor, web-ide]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=Development, https://github.com/coder/code-server]
---
# 💻 code-server
> VS Code dans le navigateur — exécutez l'éditeur de Microsoft sur un serveur distant et accédez-y depuis n'importe quel poste via une URL.
## 📋 Informations Générales
| Attribut | Valeur |
|----------|--------|
| **Nom** | code-server |
| **Slug** | code-server |
| **Description** | VS Code exécuté à distance, accessible via le navigateur (web IDE) |
| **Site officiel** | https://coder.com |
| **Repository** | https://github.com/coder/code-server |
| **Stars** | 77 848 ⭐ |
| **Licence** | MIT |
| **Langage principal** | TypeScript |
| **Catégorie** | Development |
| **Tags** | [catalogue, development, ide, code-editor, web-ide] |
## 📝 Description
**code-server** est un projet open source (MIT) maintenu par la société **Coder** qui permet d'exécuter **VS Code** sur un serveur distant et d'y accéder via un navigateur web. L'UX est strictement identique à VS Code desktop : mêmes raccourcis, mêmes extensions Marketplace (à condition d'activer le téléchargement), même support du terminal intégré et du debug. La différence majeure est qu'aucun code n'est stocké sur la machine cliente : tout vit sur le serveur.
C'est l'outil idéal pour transformer un serveur Linux headless (VPS, NAS, Raspberry Pi) en **poste de développement à distance** : on code depuis un Chromebook, une tablette, ou un PC léger. Coder (la société) édite également une version **enterprise** (`Coder OSS``Coder Platform`) qui ajoute le multi-workspace, le partage via lien, la gestion RBAC et un provisionnement Terraform/Pulumi — mais elle est payante et distincte du binaire `code-server` open source.
Cas d'usage : coder depuis une machine peu puissante (Chromebook, iPad), uniformiser l'environnement de dev d'une équipe (même OS, mêmes extensions), préserver le code sur un serveur sauvegardé plutôt que sur des laptops volatils.
## 🚀 Installation
### Via Docker (recommandé)
```yaml
# docker-compose.yml
version: "3.8"
services:
code-server:
image: linuxserver/code-server:latest
container_name: code-server
ports:
- "8443:8443"
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Paris
- HASHED_PASSWORD= # générer avec echo "mypass" | npx argon2-cli -e
volumes:
- ./config:/config
- ./projects:/projects # code stocké ici
restart: unless-stopped
```
### Installation manuelle
```bash
# Installation en une ligne (Linux x86_64)
curl -fsSL https://code-server.dev/install.sh | sh
# Démarrage du service systemd
sudo systemctl enable --now code-server@$USER
# Accès par défaut : http://localhost:8080
# Le mot de passe s'affiche dans les logs au premier lancement
```
Configuration via `~/.config/code-server/config.yaml` : `bind-addr`, `auth`, `cert`, `cert-key`, `disable-telemetry`.
## ⚙️ Configuration
- **HTTPS obligatoire en production** : soit via reverse-proxy (Traefik, Caddy, Nginx), soit en activant `cert` et `cert-key` directement (Let's Encrypt + DNS challenge).
- **Mot de passe** : `HASHED_PASSWORD` (Argon2id) ou `PASSWORD` en clair — toujours via variable d'environnement, jamais dans le compose.
- **Extensions** : `EXTENSIONS_GALLERY` permet de pointer vers un marketplace interne (open-vsx.org si l'on veut éviter la télémétrie Microsoft).
- **disable-telemetry** : recommandé, désactive la remontée d'usage.
- **Proxy** : derrière Traefik, ajouter `X-Forwarded-Proto: https` pour que les WebSockets du terminal fonctionnent.
## 🔗 Alternatives
- **Coder (Coder OSS / Platform)** — La version enterprise, multi-workspace, avec provisioning Terraform — l'éditeur du projet code-server.
- **OpenVSCode Server** — Fork de code-server par Gitpod, plus orienté développement cloud.
- **Eclipse Theia** — IDE cloud compatible VS Code mais plus « framework » à customiser.
- **Gitpod / GitHub Codespaces** — Services cloud managés, payants, pas de self-host simple.
## 🔒 Sécurité
- **Ne JAMAIS exposer code-server sans HTTPS** ni sans authentification : un accès libre donne un terminal root sur le serveur.
- **Sudo dans le container** : l'image `linuxserver/code-server` ne contient pas sudo, mais l'utilisateur par défaut peut exécuter n'importe quelle commande — limiter les capabilities Docker et éviter `--privileged`.
- **Persistance des fichiers** : si le volume `./projects` n'est pas sauvegardé, le code disparaît avec le container.
- **Network** : en plus de l'auth, placer un reverse-proxy avec rate-limiting et fail2ban (voir [[securisation-home-lab]]).
- **Désactiver la télémétrie** (`DISABLE_TELEMETRY=1`) et `settings.telemetry.telemetryLevel: "off"` dans VS Code.
## 📚 Ressources
- [Site officiel](https://coder.com)
- [Documentation code-server](https://coder.com/docs/code-server)
- [Repository GitHub](https://github.com/coder/code-server)
- [Selfh.st — code-server](https://selfh.st/apps/?tag=Development)
- [LinuxServer.io image](https://hub.docker.com/r/linuxserver/code-server)
## 🔗 Pages Liées
- [[cat-development]] — Catégorie Development
- [[app-traefik]] — Reverse-proxy HTTPS recommandé
- [[app-gitea]] — Forge Git à coupler avec l'IDE
- [[securisation-home-lab]] — Sécurité de l'accès web distant
- [[recettes-docker-compose]] — Templates Docker Compose