Files
memegoat/documentation/content/docs/deployment.mdx
Mathis HERRIOT 99a350aa05 docs: overhaul and expand technical documentation
Revamped the documentation structure and content to enhance usability and organization. Added detailed sections on architecture, pipeline, security, API reference, deployment steps, compliance, and supported modules. Introduced new visuals like cards, accordions, and callouts for improved readability and navigation.
2026-01-08 15:29:56 +01:00

76 lines
1.7 KiB
Plaintext

---
title: Déploiement & Tests
description: Procédures de déploiement et stratégie de tests
---
## 🚀 Déploiement
### Architecture de service
Un conteneur **Caddy** est utilisé en tant que reverse proxy pour fournir le TLS et la gestion du FQDN.
### Pré-requis Système
<Cards>
<Card title="Environnement" description="Node.js >= 20, pnpm >= 10." />
<Card title="Base de données" description="PostgreSQL >= 15 + pgcrypto et Redis." />
<Card title="Stockage" description="MinIO ou S3 Compatible." />
<Card title="Services" description="ClamAV (clamd) et FFmpeg." />
</Cards>
### Procédure de Déploiement
<Steps>
<Step>
### Configuration de l'environnement
Copiez le fichier `.env.example` vers `.env` et configurez les variables essentielles (clés PGP, secrets JWT, accès S3).
</Step>
<Step>
### Installation des dépendances
Utilisez pnpm pour installer les packages dans le monorepo :
```bash
pnpm install
```
</Step>
<Step>
### Initialisation de la base de données
Exécutez les migrations Drizzle pour créer les tables et les types nécessaires.
```bash
pnpm --filter backend db:migrate
```
</Step>
<Step>
### Lancement des services
Utilisez Docker Compose pour lancer l'infrastructure complète ou démarrez les services individuellement.
```bash
docker-compose up -d
```
</Step>
</Steps>
## 🧪 Tests & Qualité
<Tabs items={['Tests', 'Linting', 'Build']}>
<Tab value="Tests">
Exécutez la suite de tests unitaires avec Jest :
```bash
pnpm test
```
</Tab>
<Tab value="Linting">
Vérifiez la conformité du code avec Biome :
```bash
pnpm lint
```
</Tab>
<Tab value="Build">
Validez la compilation de tous les modules :
```bash
pnpm build
```
</Tab>
</Tabs>