Faire tourner Codex sur son portable fonctionne jusqu'au moment où la tâche dure plus longtemps que l'écran reste ouvert. Un gros refactoring, une revue nocturne ou une suite de tests d'une heure ont besoin d'une machine qui reste allumée, garde un checkout propre et se moque du Wi-Fi sur lequel vous êtes.
Cette machine, c'est en général un petit VPS. Ce guide décrit le setup que nous ferions à la main sur un serveur Ubuntu 24.04 tout neuf : le dimensionner, le sécuriser, installer Codex CLI, se connecter sans navigateur, garder les sessions actives et y accéder sans exposer SSH à Internet.
Ce dont Codex a besoin sur un VPS
Le modèle tourne chez OpenAI : sur un VPS, Codex CLI est surtout un client terminal, plus tout ce que fait votre dépôt — installations, builds, tests. La documentation d'installation d'OpenAI indique Ubuntu 20.04+ ou Debian 10+ sous Linux, 4 Go de RAM minimum et 8 Go recommandés, et Git 2.23+ comme optionnel mais recommandé.
Cela correspond à ce que nous utilisons pour nos propres agents :
| Minimum | Recommandé | Pourquoi | |
|---|---|---|---|
| CPU | 2 vCPU | 4 vCPU | Vos builds et tests, pas le modèle |
| RAM | 4 Go | 8 Go | La recommandation d'OpenAI pour la CLI |
| Disque | 50 Go | 150 Go | Dépôts, node_modules, caches de build, logs |
| OS | Ubuntu 24.04 | Ubuntu 24.04 | LTS actuelle, prise en charge par Codex et Tailscale |
Une charge Codex par VPS, c'est le choix ennuyeux et sûr. Si une tâche dérape, les dégâts restent sur une petite machine que vous pouvez effacer et reconstruire.
Lancez votre premier agent en 3 minutes environ
Installez la CLI Office Claws, connectez votre compte Contabo et votre abonnement Codex : votre agent obtient son propre VPS et un bureau dans l'office.
curl -fsSL https://officeclaws.com/downloads/install.sh | sh4,99 $/mois + votre propre VPS Contabo · les clés restent dans votre trousseau
Étape 1 : créer un utilisateur non root
Les images VPS neuves vous donnent souvent root. Ne faites pas tourner en root un agent qui modifie des fichiers et lance des commandes. Créez un utilisateur dédié et copiez-y votre clé SSH :
# as root, once
adduser codex
usermod -aG sudo codex
mkdir -p /home/codex/.ssh
cp ~/.ssh/authorized_keys /home/codex/.ssh/
chown -R codex:codex /home/codex/.ssh
chmod 700 /home/codex/.ssh
chmod 600 /home/codex/.ssh/authorized_keysConnectez-vous en tant que codex depuis un second terminal avant de fermer la session root. Tout ce qui suit s'exécute avec cet utilisateur.
Étape 2 : installer Codex CLI
OpenAI fournit un installateur autonome pour macOS et Linux, Node.js n'est donc pas nécessaire sur le serveur. Installez les paquets de base, puis Codex :
sudo apt update && sudo apt install -y git tmux curl
curl -fsSL https://chatgpt.com/codex/install.sh | sh
codex --versionSi vous gérez déjà Node sur la machine, npm install -g @openai/codex est l'autre voie officielle. Les deux figurent dans le README d'openai/codex et dans la documentation de Codex CLI.
Étape 3 : se connecter — abonnement ChatGPT ou clé API
Au premier lancement, codex propose Sign in with ChatGPT. Sur un portable, cela ouvre un navigateur. Sur un VPS, il n'y en a pas : la documentation d'authentification d'OpenAI propose trois options.
Code d'appareil (à privilégier sur un serveur sans écran). La fonction est en bêta et doit d'abord être activée dans les paramètres de sécurité de ChatGPT :
codex login --device-authRedirection de port SSH. Le callback de connexion écoute sur localhost:1455. Redirigez ce port depuis votre portable, puis ouvrez l'adresse affichée dans votre navigateur local :
# on your laptop
ssh -L 1455:localhost:1455 codex@your-vps
# then, inside that SSH session
codex loginClé API. Passez-la par un pipe plutôt que de la coller dans l'historique du shell :
printenv OPENAI_API_KEY | codex login --with-api-keyLe choix est surtout une question de facturation. Codex est inclus dans les abonnements ChatGPT Free, Go, Plus, Pro, Business, Edu et Enterprise, avec des limites d'usage qui dépendent de l'offre. Une clé API est facturée au token, aux tarifs de l'API. Nous faisons le calcul dans Abonnement Codex vs coût de l'API.
Dans tous les cas, Codex met les identifiants en cache dans ~/.codex/auth.json (ou dans le trousseau du système). OpenAI conseille de traiter ce fichier comme un mot de passe : ne jamais le committer, le coller dans un ticket ni le partager dans un chat.
Étape 4 : garder les sessions actives avec tmux et systemd
Une session SSH meurt quand le portable se met en veille, et tout ce que Codex y faisait meurt avec elle. Pour le travail interactif, lancez Codex dans tmux :
tmux new -s codex
cd ~/work/project
codex
# detach with Ctrl-b then d; later, from any machine:
tmux attach -t codexPour les tâches récurrentes, oubliez le terminal. codex exec s'exécute en mode non interactif, affiche la réponse finale sur stdout et utilise par défaut un sandbox en lecture seule : il faut autoriser les modifications avec --sandbox workspace-write (documentation du mode non interactif). Un timer systemd en fait une tâche nocturne :
# /etc/systemd/system/codex-nightly.service
[Unit]
Description=Nightly Codex review
[Service]
Type=oneshot
User=codex
WorkingDirectory=/home/codex/work/project
ExecStart=/bin/bash -lc 'codex exec --sandbox workspace-write "review the last day of commits and write findings to REVIEW.md"'
# /etc/systemd/system/codex-nightly.timer
[Timer]
OnCalendar=*-*-* 03:00
Persistent=true
[Install]
WantedBy=timers.targetsudo systemctl daemon-reload
sudo systemctl enable --now codex-nightly.timerNous détaillons ces deux approches dans Tâches Codex de longue durée et Tâches en arrière-plan avec Codex CLI.
Étape 5 : accéder au VPS en sécurité
Un VPS dont le port 22 est ouvert au monde subit des tentatives de force brute en quelques minutes. Un VPS qui héberge un agent et vos identifiants Codex est un très mauvais endroit pour se tromper.
Nous faisons trois choses :
-
Clés uniquement. Dans
/etc/ssh/sshd_config, mettezPasswordAuthentication noetPermitRootLogin no, puissudo systemctl restart ssh. -
Rejoindre un réseau privé. Installez Tailscale et connectez le serveur à votre tailnet :
curl -fsSL https://tailscale.com/install.sh | sh sudo tailscale up -
Fermer le port public. Une fois que vous pouvez vous connecter en SSH via l'IP Tailscale du serveur, n'autorisez le trafic entrant que sur l'interface Tailscale :
sudo ufw allow in on tailscale0 sudo ufw enable
Faites l'étape 3 depuis une session qui passe déjà par le tailnet, sinon vous vous enfermerez dehors. La console web de votre hébergeur reste la porte de secours. Le flux SSH du quotidien est décrit dans Workflow Codex à distance par SSH.
Étape 6 : garder Codex à jour
Codex évolue vite. La méthode documentée pour l'installation autonome consiste à relancer l'installateur ; pour npm, réinstallez le paquet :
curl -fsSL https://chatgpt.com/codex/install.sh | sh
# or, if you used npm
npm install -g @openai/codexMettez aussi le système à jour : sudo apt update && sudo apt upgrade à intervalles réguliers, ou activez unattended-upgrades pour les correctifs de sécurité.
Ce que ça coûte
| Poste | Ce que vous payez | Remarques |
|---|---|---|
| VPS | Le prix mensuel de votre hébergeur | Les offres d'entrée 4 vCPU / 8 Go suffisent pour un agent |
| Codex via abonnement ChatGPT | Votre abonnement actuel | Les limites d'usage dépendent de l'offre |
| Codex via clé API | Tarif API au token | Prévisible seulement si vous plafonnez l'usage |
| Tailscale | Gratuit pour un usage personnel | L'offre Personal suffit |
Pour la plupart des gens, un abonnement ChatGPT est la façon la moins chère de faire tourner un agent sur un VPS ; les clés API se justifient pour la CI ou l'automatisation par à-coups. Pour plusieurs agents en parallèle, lisez Comment exécuter plusieurs agents Codex.
Ou laisser Office Claws faire ces étapes
Tout ce qui précède, Office Claws l'automatise. Vous apportez un VPS Ubuntu 24.04 tout neuf dans votre propre compte Contabo et une clé d'authentification Tailscale, puis vous lancez :
officeclaws onboard --name Mona
officeclaws connect-codexonboard ajoute une clé SSH dédiée, crée un utilisateur séparé, active le pare-feu, la protection contre la force brute et les mises à jour de sécurité automatiques, désactive la connexion par mot de passe et en root, joint le serveur à votre tailnet, ferme le SSH public et démarre l'agent. Cela prend en général 5 à 10 minutes. connect-codex connecte l'agent à votre abonnement ChatGPT via la connexion officielle d'OpenAI, sans clé API ni facturation au token.
Soyons clairs sur le compromis : vous obtenez un agent avec lequel vous discutez depuis la CLI ou Telegram, avec des tâches planifiées, et non un terminal Codex brut que vous scriptez vous-même. Office Claws coûte 4,99 $/mois ; le VPS est facturé directement par Contabo. Le guide complet se trouve dans le démarrage rapide.
Recommandations
Commencez avec un VPS, un utilisateur et une session Codex dans tmux. Faites fonctionner la connexion par code d'appareil, fermez le port SSH public, et seulement ensuite ajoutez des timers ou un deuxième agent. Si vous préférez sauter le setup, laissez Office Claws s'en charger et consacrez ce temps à la vraie tâche.
À lire aussi :
- Workflow Codex à distance par SSH — le quotidien en SSH une fois le VPS en place
- Tâches Codex de longue durée — pourquoi les sessions persistantes comptent quand le travail dure des heures
- Tâches en arrière-plan avec Codex CLI — faire tourner Codex sans terminal attaché
- Comment exécuter plusieurs agents Codex — passer d'un VPS à une petite équipe
- Abonnement Codex vs coût de l'API — quelle facture Codex convient à un agent sur VPS