Aller au contenu

CLI

arka-deck expose une CLI unique pour démarrer, arrêter et redémarrer le serveur web local.

Source de vérité : bin/arka-deck, scripts/arka-cli.mjs.


Fenêtre de terminal
./bin/arka-deck [flags]

Lancement direct du serveur web. Par défaut, écoute sur 127.0.0.1:3117 (loopback strict).

FlagEffet
--port <n>Port HTTP (défaut 3117)
--host <addr>Adresse de bind explicite
--lanAlias pour --host 0.0.0.0 (active le LAN)
--no-lanForce le loopback strict

scripts/arka-cli.mjs orchestre le cycle de vie en mode détaché.

Fenêtre de terminal
npm run arka:start [-- --lan|--no-lan]
  • Build l’UI si nécessaire
  • Spawn bin/arka-deck en mode détaché
  • Redirige les logs vers .arka-web.log
  • Écrit le PID dans .arka-pid
  • Ping /api/health jusqu’à readiness (ou échec après timeout)
Fenêtre de terminal
npm run arka:stop
  • Tue le process via PID (.arka-pid)
  • Fallback lsof si le PID est obsolète
  • Nettoie .arka-pid et .arka-token
Fenêtre de terminal
npm run arka:reboot [-- --lan|--no-lan]

Équivalent à arka:stop suivi de arka:start. Utile après un changement de préférence LAN ou une modification touchant le bootstrap.


Quatre sources peuvent activer ou désactiver le mode LAN. La première applicable gagne :

  1. Flag CLI (--lan ou --no-lan) — priorité maximale.
  2. Variable d’environnement ARKA_DECK_WEB_LAN=1|true|yes.
  3. Préférence persistée ~/.arka-deck/preferences/network.json (toggle Paramètres).
  4. Défaut : false (loopback strict).

Quand le LAN est actif :

  • Un token est régénéré à chaque démarrage.
  • Stocké dans .arka-token à la racine du projet arka-deck (mode 0o600).
  • Affiché dans les logs au boot (non sensible en mode local).
  • Requis dans le header X-Arka-Token pour toute requête depuis un appareil distant.
  • Supprimé au shutdown propre.

En mode loopback strict (défaut), le token n’est pas exigé pour les requêtes provenant de 127.0.0.1.


Le serveur arrête proprement sur SIGINT (Ctrl+C) et SIGTERM :

  • Annule les sessions chat en cours
  • Ferme les abonnements EventBus (unsubscribe() de chaque addon)
  • Ferme les bases SQLite
  • Stoppe le sidecar Cortex Lite si applicable

SIGKILL (kill -9) bypasse tout — à éviter sauf nécessité (le marker projet et les SQLite restent intègres grâce aux écritures atomiques).


VariableEffet
ARKA_DECK_WEB_PORTPort HTTP
ARKA_DECK_WEB_HOSTAdresse de bind
ARKA_DECK_WEB_LANActive LAN (priorité 2)
ARKA_DECK_HOMEOverride ~/.arka-deck/
ARKA_DECK_LOGNiveau de log Fastify
ARKA_DECK_RATE_LIMIT_MAXPlafond rate limit

Liste exhaustive : ./variables-env.