Harden bot, storage and web API

This commit is contained in:
Shinuwa 2026-06-30 17:25:00 +02:00
parent e974bc6660
commit 20624a5c9c
43 changed files with 1265 additions and 1012 deletions

View file

@ -9,6 +9,12 @@ fichier `.env` avec les valeurs appropriées.
Le fichier `.env.example` documente les variables attendues sans contenir de
secret. Les fichiers réels doivent rester hors du dépôt.
Générer une clé d'API robuste avec :
```bash
openssl rand -hex 32
```
```bash
# Lancer le bot
npm start
@ -19,3 +25,40 @@ npm run deploy
Node.js 22.12 ou supérieur est nécessaire pour la prise en charge du protocole
vocal DAVE de Discord.
## Prérequis
- Node.js 24 LTS ;
- FFmpeg et FFprobe disponibles dans le `PATH` ;
- accès UDP sortant vers les serveurs vocaux Discord.
Sur Debian ou Ubuntu :
```bash
sudo apt install ffmpeg
npm ci
npm run check
```
## Données persistantes
Le dossier `storage/` est une donnée applicative et ne doit pas être remplacé
pendant un déploiement. Sauvegarder régulièrement :
- `storage/runtime/library.json` ;
- `storage/permanent/`.
Les fichiers placés dans `storage/temp/` sont temporaires et nettoyés après
24 heures.
La liste des serveurs de jeux est locale. La créer à partir du modèle :
```bash
cp src/static/gameservers-list.example.json src/static/gameservers-list.json
```
## Déploiement
Un push sur `main` exécute les contrôles syntaxiques, les tests et l'audit npm
avant d'appeler `/usr/local/bin/deploy-palico-bot` sur le serveur. Le workflow
vérifie ensuite la route publique `/healthz`.