← Retour au blog

OpenCode Review en déploiement local : choisir entre 4 Go, 8 Go et 16 Go

OpenCode Review en déploiement local : choisir entre 4 Go, 8 Go et 16 Go

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 (/doc pour 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 + VACUUM DB
  • OPENCODE_DIAGNOSTICS=1 pour 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 compose pour 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 :

  1. VPS Linux (8 Go) pour opencode serve — revue code générale
  2. 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.

Offre limitée →