C_ installation de Claude Code dans le VPS juxjux

Installation de Claude Code dans le VPS juxjux

Objectif

Pouvoir intervenir sur les containers du VPS (redémarrage, diagnostic, logs, fix rapide) depuis un mobile Android en mobilité, via SSH + tmux + Claude Code CLI directement installé sur le VPS.

Prérequis constatés (2026-07-21)

Installation de Claude Code CLI

Installation en local user (pas de sudo npm install -g) pour éviter de faire tourner le CLI en root et éviter les conflits de permissions npm globales :

mkdir -p ~/.npm-global
npm config set prefix '~/.npm-global'
npm install -g @anthropic-ai/claude-code

Ajout du PATH dans ~/.bashrc :

echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc

Version installée : 2.1.197

Authentification

Choix retenu : login OAuth avec le compte claude.ai (Julien, plan Claude Pro) — pas de clé API Anthropic séparée, donc pas de facturation à l'usage additionnelle.

Procédure suivie (le VPS est headless, pas de navigateur local) :

  1. Lancer claude dans une session tmux dédiée (tmux new-session -d -s claude) pour que la session survive à une déconnexion SSH
  2. Choisir "Claude account with subscription" au login
  3. Le CLI affiche une URL https://claude.com/cai/oauth/authorize?... — impossible à ouvrir depuis le VPS, donc récupérée via tmux capture-pane et ouverte manuellement sur un navigateur (PC ou mobile)
  4. Après connexion sur claude.ai, un code xxxx#yyyy est retourné — collé dans le prompt Paste code here if prompted > via tmux send-keys
  5. Confirmation : Logged in as julien.bertrand@live.fr

Les credentials sont persistés dans ~/.claude/.credentials.json (permissions 600, debian:debian) — la connexion reste valide pour les sessions futures, pas besoin de se ré-authentifier à chaque lancement.

Usage depuis Android (Termux)

  1. Installer Termux depuis F-Droid (pas le Play Store, version obsolète)
  2. Se connecter en SSH au VPS :
    ssh debian@51.77.141.54
    
  3. Rattacher ou créer la session tmux :
    tmux attach -t claude   # si la session existe déjà
    tmux new -s claude      # sinon
    
  4. Lancer claude (ou il tourne déjà si la session persiste)
  5. Détacher sans tuer la session : Ctrl+b puis d — permet de couper la connexion mobile sans interrompre Claude Code

Sécurité

Répertoire de lancement recommandé

Le VPS a déjà en local le CLAUDE.md partagé, synchronisé via Syncthing :

~/Documents/Jux_univers/Claude-pcelio+jux/CLAUDE.md

C'est le même fichier que celui utilisé sur le PC Windows (D:\Syncthing\Jux_univers\Claude-pcelio+jux\CLAUDE.md) et sur Ubuntu. Il fait partie du dossier Syncthing afltj-njyuy ("Tablette VPS Syncthing"), local path ~/Documents.

Lancer claude depuis ce dossier plutôt que /home/debian : le CLI charge automatiquement ce CLAUDE.md et récupère tout le contexte partagé (MCPs, infra, conventions) sans rien reconfigurer.

cd ~/Documents/Jux_univers/Claude-pcelio+jux/
claude

Piège constaté — Syncthing VPS silencieusement déconnecté (2026-07-21)

En vérifiant le CLAUDE.md sur le VPS, le fichier était resté figé au 24 juin alors que la version de référence (PC Windows) avait été mise à jour bien plus récemment (ex. section Inkscape du 21/07).

Diagnostic via le MCP Syncthing :

Autrement dit : Syncthing sur le VPS ne remonte aucune erreur quand il est déconnecté de tout le monde — il affiche juste l'état "idle" du dernier sync connu, ce qui peut faire croire à tort que tout est synchronisé.

Résolution : dès que Syncthing a été relancé côté PC Windows, la connexion TCP vers le VPS (device I4M5WXU) s'est rétablie en quelques secondes, et le CLAUDE.md s'est mis à jour immédiatement (nouveau hash, date du jour).

Point de vigilance pour la suite : si le CLAUDE.md sur le VPS semble périmé, ne pas se fier à get_folder_status seul (peut afficher "idle" à tort) — vérifier get_connections pour confirmer que le VPS a bien une connexion active vers au moins un appareil source avant de creuser plus loin.

Points d'attention pour la suite


Revision #3
Created 2026-07-21 15:01:21 UTC by Julien
Updated 2026-07-21 15:12:17 UTC by Julien