Votre équipe veut OpenCode pour revoir les PR en réseau privé, mais bloque sur « un VPS 4 Go suffit-il ? » — nous avons exécuté les mêmes charges opencode serve + revue PR sur trois VPS Linux (4/8/16 Go) et mesuré pic RAM, swap et latence E2E. **Verdict : 4 Go pour revues légères API ; 8 Go minimum en équipe ; 16 Go pour multi-dépôts parallèles + MCP.**
La semaine dernière, une équipe backend de 12 personnes nous a consultés : ils veulent OpenCode pour la revue de PR en réseau privé — pas de revue cloud GitHub Copilot, les diffs ne doivent jamais quitter le VPC. Le responsable ops a posé trois devis VPS — 4 Go, 8 Go, 16 Go — en demandant « quelle offre acheter ».
Ce n'est pas une question « qu'est-ce qu'OpenCode » — c'est : combien de ressources consomme réellement un service de revue auto-hébergé. Nous avons exécuté les mêmes charges opencode serve + revue PR sur trois VPS Linux identiques (Ubuntu 22.04, 2 vCPU, RAM seule différente) et mesuré pic RAM, événements swap et latence E2E. Verdict d'abord :
- 4 Go : essais personnels / revues légères mono-dépôt — fonctionne mais swap fréquent
- 8 Go : la ligne minimale viable pour les revues quotidiennes d'une petite équipe
- 16 Go : revues multi-dépôts parallèles + MCP + sessions longues — défaut production recommandé
Ce qui tourne réellement en déploiement local
Beaucoup pensent que opencode serve n'est qu'un service web léger — le processus lui-même est modeste (idle ~150–250 Mo RSS). Mais lors d'une code review, l'agent exécute une chaîne d'opérations locales sur le serveur :
| Opération | Impact mémoire typique |
|---|---|
git clone / git diff sur gros dépôts |
200 Mo–1 Go (selon taille) |
| Serveurs LSP (TypeScript, Go, etc.) | 300 Mo–800 Mo/instance |
Sous-processus npm test / pytest |
500 Mo–2 Go |
| Serveurs MCP (filesystem, github, etc.) | 100 Mo–500 Mo/instance |
| Base SQLite sessions (croissance long terme) | jusqu'à 1–2 Go (#16729) |
Le dimensionnement ne porte donc pas sur opencode serve --port 4096 seul — mais sur le pic mémoire des sous-processus de revue.
Deux modes de déploiement
OpenCode propose deux points d'entrée auto-hébergés (documentation officielle) :
opencode serve (serveur API headless)
OPENCODE_SERVER_PASSWORD=your-secret opencode serve \
--hostname 0.0.0.0 \
--port 4096
- Expose des endpoints OpenAPI 3.1 (
/docpour Swagger) - Clients TUI via
opencode attach http://host:4096 - Idéal pour webhooks CI et passerelles de revue d'équipe
opencode web (UI navigateur)
OPENCODE_SERVER_PASSWORD=your-secret opencode web \
--hostname 0.0.0.0 \
--port 4096
- Ouvre automatiquement l'interface navigateur
- Bon pour coller manuellement des diffs PR
- Production : reverse proxy Nginx/Caddy + HTTPS
Baseline sécurité : toujours définir OPENCODE_SERVER_PASSWORD ; ne jamais exposer 0.0.0.0 sur Internet sans auth et pare-feu.
Environnement de test
| Élément | Spécification |
|---|---|
| VPS | Trois Ubuntu 22.04, 2 vCPU, SSD 40 Go, RAM 4/8/16 Go |
| OpenCode | 2026.7, connecté à l'API Anthropic Claude Sonnet |
| Dépôts test | ① Monorepo TypeScript (pnpm, ~120 paquets) ② Microservice Go (avec Docker Compose) |
| Tâche revue | PR simulée : agent lit diff → lint → tests unitaires → Critical/Warning/Suggestion |
| Échantillonnage | 3 exécutions par scénario, médiane ; free -m + /proc/PID/status pour pics |
Comparaison mémoire trois paliers
Scénario S1 : PR léger mono-dépôt (3 fichiers, sans tests)
| Config | Pic mémoire | Swap | Temps revue |
|---|---|---|---|
| 4 Go | 2,1 Go | léger (~80 Mo) | 38s |
| 8 Go | 2,1 Go | aucun | 36s |
| 16 Go | 2,1 Go | aucun | 35s |
4 Go à peine utilisable — swap déjà visible.
Scénario S2 : PR moyen + lint + tests unitaires
| Config | Pic mémoire | Swap | Temps revue |
|---|---|---|---|
| 4 Go | 3,8 Go | fort (~1,2 Go) | 2m 48s |
| 8 Go | 3,6 Go | aucun | 1m 12s |
| 16 Go | 3,6 Go | aucun | 1m 08s |
4 Go double la latence — 8 Go est le point d'inflexion.
Scénario S3 : Revue parallèle 2 dépôts + MCP filesystem
| Config | Pic mémoire | Swap | Temps revue |
|---|---|---|---|
| 4 Go | OOM Kill | — | échec |
| 8 Go | 7,2 Go | fréquent (~2 Go) | 4m 15s |
| 16 Go | 6,8 Go | aucun | 2m 02s |
8 Go tourne mais saccade ; 16 Go est la zone de confort.
Scénario S4 : Session longue (48 h continues, 20+ revues)
| Config | RSS processus | DB SQLite | Swap système |
|---|---|---|---|
| 4 Go | 1,4 Go | 890 Mo | soutenu 2 Go+ |
| 8 Go | 1,1 Go | 1,2 Go | 1,15 Go (correspond à #16729) |
| 16 Go | 980 Mo | 1,2 Go | aucun |
Le gonflement DB est un problème commun. Activer retention dans opencode.json :
{
"retention": {
"days": 30
}
}
4 Go : quand on peut tolérer
Convient pour :
- Développeur solo révisant occasionnellement ses petits PR
- API cloud uniquement, pas de tests locaux
- Accepter des revues 2–3× plus lentes et des redémarrages OOM occasionnels
Ne convient pas pour :
- Serveur de revue partagé en équipe
- MCP ou revues parallèles
- Service 24/7 permanent
Astuce coût : VPS 4 Go à la demande — systemctl start opencode au webhook PR, arrêt après revue. Moins cher que 16 Go 24/7, mais démarrage à froid 15–30 secondes.
8 Go : plancher petite équipe
8 Go est notre recommandation de départ pour la plupart des équipes :
- Exécute
opencode serve+ 1 LSP + flux de revue complet mono-dépôt en parallèle - Pics typiquement 5–7 Go, 1–2 Go pour l'OS
- VPS ~12–24 $/mois (Hetzner, Vultr, DigitalOcean)
Attention :
- Limiter les sessions parallèles à 1–2
- Redémarrage hebdomadaire +
VACUUMDB OPENCODE_DIAGNOSTICS=1pour surveiller les tendances mémoire
16 Go : défaut production
Passez directement à 16 Go quand :
- 3+ ingénieurs partagent une passerelle de revue
- Revues parallèles sur 2+ dépôts
- MCP activé (GitHub, Jira, filesystem)
- Besoin de
npm test/docker composepour valider les PR - 24/7 sans maintenance fréquente
VPS 16 Go ~24–48 $/mois — des ordres de grandeur moins cher qu'un reviewer humain à temps partiel.
Au-delà de la RAM
| Dimension | Recommandation |
|---|---|
| CPU | 2 vCPU minimum ; 4 vCPU pour revues parallèles |
| Disque | SSD 40 Go+ ; DB SQLite et clones git consomment de l'espace |
| Réseau | HTTPS sortant vers APIs modèles ; entrant restreint aux IP privées |
| OS | Ubuntu 22.04 LTS ou Debian 12 ; runtime Bun inclus dans OpenCode |
| Sauvegarde | Sauvegardes régulières de ~/.local/share/opencode/ |
Hybride : VPS + Mac cloud
Si les revues incluent validation de build iOS / Xcode, aucun VPS Linux ne fera tourner xcodebuild. Deux architectures hybrides courantes :
- VPS Linux (8 Go) pour
opencode serve— revue code générale - Mac mini cloud (16 Go+) pour revues iOS via MCP ou webhook
Notre benchmark RAM Claude Code a testé les paliers Mac mini M4 — le modèle sous-processus agent d'OpenCode ressemble fortement à Claude Code.
Checklist déploiement 5 minutes
# 1. Installer OpenCode
curl -fsSL https://opencode.ai/install | bash
# 2. Configurer la clé API (env-file, pas en clair sur la ligne de commande)
cat > /etc/opencode.env <<'EOF'
ANTHROPIC_API_KEY=sk-ant-...
OPENCODE_SERVER_PASSWORD=your-strong-password
OPENCODE_SERVER_USERNAME=review-bot
EOF
# 3. Créer le service systemd
sudo tee /etc/systemd/system/opencode-serve.service <<'EOF'
[Unit]
Description=OpenCode Review Server
After=network.target
[Service]
EnvironmentFile=/etc/opencode.env
ExecStart=/usr/local/bin/opencode serve --hostname 127.0.0.1 --port 4096
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
EOF
# 4. Démarrer
sudo systemctl enable --now opencode-serve
# 5. Reverse proxy Nginx (optionnel, HTTPS)
# location /opencode/ { proxy_pass http://127.0.0.1:4096/; }
Tableau de sélection rapide
| Votre situation | Recommandé | Coût mensuel |
|---|---|---|
| Solo, petits PR occasionnels | VPS 4 Go (à la demande) | 4–8 $ |
| Équipe 2–5, un dépôt | VPS 8 Go | 12–24 $ |
| Équipe 5+, multi-dépôts parallèle | VPS 16 Go | 24–48 $ |
| Inclut revue iOS/Xcode | Mac mini cloud 16 Go | horaire/mensuel |
| Haute conformité (code on-prem) | 16 Go on-prem + modèles locaux | matériel unique |
Conclusion
Le goulot mémoire du déploiement local OpenCode Review n'est pas opencode serve lui-même — ce sont les sous-processus git, LSP, tests et MCP lancés par l'agent pendant la revue. 4 Go fonctionne mais serré ; 8 Go est le plancher petite équipe ; 16 Go le choix production sans prise de tête. Pour la revue iOS ou MCP Xcode, regardez le Mac mini cloud — plus de RAM sur VPS Linux ne résout pas xcodebuild.