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
+147
View File
@@ -0,0 +1,147 @@
---
title: Coder
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, development, ide, cloud, remote-dev]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=Development, https://github.com/coder/coder]
---
# 💻 Coder
> **IDE cloud auto-hébergé pour équipes de développement** : provisionne des environnements de dev Linux éphémères, accessibles depuis un navigateur ou VS Code/JetBrains distants.
## 📋 Informations Générales
| Champ | Valeur |
| :--- | :--- |
| **Site web** | [coder.com](https://coder.com) |
| **GitHub** | [coder/coder](https://github.com/coder/coder) |
| **License** | AGPL-3.0 (Coder CE) |
| **Langage** | Go (backend) + TypeScript (frontend) |
| **Étoiles GitHub** | 13 382 ⭐ |
| **Catégorie** | [[cat-development\|Development]] |
| **Note** | ⚠️ **Coder ≠ code-server** : Coder est une **plateforme d'orchestration d'environnements** (workspaces, SSH, intégration Terraform/Pulumi), alors que code-server n'est qu'une instance unique de VS Code web. |
## 📝 Description
**Coder** est une plateforme open source de **Cloud Development Environments (CDE)**. Au lieu de développer sur la machine locale, chaque développeur dispose d'un *workspace* Linux distant (Kubernetes, Docker, VM, ou cloud) avec VS Code Server, JetBrains Gateway ou un terminal SSH.
**Cas d'usage** :
- Standardiser les environnements de dev au sein d'une équipe (fini le « ça marche sur ma machine »)
- Onboarding rapide : un nouveau dev est productif en quelques minutes
- CI/CD dev : prévisualisation d'environnement par branche (PR Preview)
- Héberger des workspaces éphémères pour ne pas exposer le code sur les laptops
- Compatible avec **VS Code, JetBrains (IntelliJ, GoLand, PyCharm…), SSH**
**Architecture typique** :
- **Serveur Coder** : API centrale, dashboard web, gestion des workspaces
- **Workspaces** : conteneurs/machines où s'exécute le code
- **Provisioners** : intégration Terraform/Pulumi pour décrire l'infra des workspaces
- **Auth** : OAuth, OIDC, GitHub, GitLab, etc.
**Différence avec un simple code-server** : Coder ajoute la **gestion multi-tenant**, l'**isolation par workspace**, les **templates reproductibles** (Infrastructure-as-Code), et le **partage de configuration** entre développeurs.
## 🚀 Installation
### Via Docker Compose (auto-hébergé simple)
```yaml
# docker-compose.yml
version: '3.8'
services:
coder:
image: ghcr.io/coder/coder:latest
container_name: coder
restart: unless-stopped
ports:
- "7080:7080"
environment:
- CODER_HTTP_ADDRESS=0.0.0.0:7080
- CODER_ACCESS_URL=https://coder.example.com
- CODER_OIDC_ISSUER_URL=https://authentik.example.com/application/o/coder
- CODER_OIDC_CLIENT_ID=*** - CODER_OIDC_CLIENT_SECRET=*** - CODER_DISABLE_PASSWORD_AUTH=true
volumes:
- coder-data:/var/lib/coder
labels:
- "traefik.enable=true"
- "traefik.http.routers.coder.rule=Host(`coder.example.com`)"
- "traefik.http.routers.coder.entrypoints=websecure"
- "traefik.http.routers.coder.tls.certresolver=letsencrypt"
- "traefik.http.services.coder.loadbalancer.server.port=7080"
networks:
- proxy
volumes:
coder-data:
networks:
proxy:
external: true
```
### Production : Helm chart (Kubernetes)
```bash
# Ajouter le repo Helm
helm repo add coder https://helm.coder.com
helm repo update
# Installer
helm install coder coder/coder \
--namespace coder --create-namespace \
--set coder.accessURL=https://coder.example.com
```
### Installation manuelle (binaire)
```bash
curl -L https://coder.com/install.sh | sh
coder server
```
## ⚙️ Configuration
1. **Premier admin** : créer l'utilisateur admin via `coder users create`
2. **Templates de workspaces** : un fichier `*.tf` Terraform ou `Pulumi.*` décrit l'infra cible (Docker, EC2, GKE…)
3. **Provisioners** : choisir entre `terraform` (défaut, multi-cloud) ou `pulumi`
4. **Intégration IDE** : extension **Coder Remote** dans VS Code / JetBrains
5. **Auth externe** : OIDC (Authentik, Keycloak) recommandé plutôt que mots de passe locaux
## 🔗 Alternatives
- **[[app-code-server]]** — VS Code web mono-utilisateur (plus simple, sans orchestration)
- **[[app-gitpod]]** (cloud/Self-Hosted) — Concurrent direct, mais l'édition self-hosted est en train d'être dépréciée
- **[[app-openhands]]** — Agents IA, autre approche dev cloud
- **[[app-gitea]] / [[app-forgejo]]** — UI web code, mais sans IDE complet
- **Devpod** (freeopensourcelist) — Concurrent open source basé sur Docker
- **GitHub Codespaces** — L'équivalent managé de Microsoft
## 🔒 Sécurité
- **HTTPS obligatoire** (reverse proxy [[traefik]] recommandé)
- **OIDC** recommandé pour l'authentification
- **Workspaces isolés** : par utilisateur, quotas CPU/RAM/disque
- **Code jamais sur le poste client** : tout reste sur le serveur
- **Logs d'audit** : qui a fait quoi, sur quel workspace
- **RBAC** : `owner`, `user`, `auditor`, `template-admin`
## 📚 Ressources
- [Documentation officielle](https://coder.com/docs)
- [GitHub coder/coder](https://github.com/coder/coder)
- [Templates de workspaces (registry)](https://github.com/coder/registry)
- [Blog Coder — cas d'usage](https://coder.com/blog)
## 🔗 Pages Liées
- [[cat-development]] — Catégorie Development
- [[app-code-server]] — Alternative plus simple (mono-user)
- [[app-gitpod]] — Concurrent principal
- [[app-traefik]] — Reverse proxy
- [[securisation-home-lab]] — Bonnes pratiques sécurité
- [[recettes-docker-compose]] — Templates Docker