64 lines
1.5 KiB
Markdown
64 lines
1.5 KiB
Markdown
# palico-bot
|
|
|
|
## Configuration
|
|
|
|
La configuration sensible est stockée dans un fichier `.env` exclu de Git.
|
|
Chaque environnement (poste local ou VM de production) possède son propre
|
|
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
|
|
|
|
# Déployer les commandes Discord
|
|
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`.
|