36 lines
1.7 KiB
Markdown
36 lines
1.7 KiB
Markdown
# Guide de Maintenance et Déploiement (Admin)
|
|
|
|
## 1. Architecture Monorepo
|
|
Le projet utilise **npm workspaces**.
|
|
- Racine : Dépendances partagées, Prisma Schema, Dossier `/app` (Front).
|
|
- `/admin` : Application Next.js dédiée à l'administration.
|
|
|
|
## 2. Commandes Utiles
|
|
À exécuter depuis la racine du projet :
|
|
- `npm run dev:admin` : Lancer l'admin en développement.
|
|
- `npm run build:admin` : Builder l'admin pour la production.
|
|
- `npx prisma db push` : Synchroniser le schéma Prisma avec la base de données.
|
|
- `npx prisma generate` : Régénérer le client Prisma.
|
|
|
|
## 3. Déploiement sur Dokploy
|
|
### Configuration de l'application Admin :
|
|
- **Build Command** : `npm run build:admin`
|
|
- **Start Command** : `npm run start:admin`
|
|
- **Install Command** : `npm install --legacy-peer-deps` (à la racine)
|
|
|
|
### Variables d'environnement critiques :
|
|
- `DATABASE_URL` : Connexion PostgreSQL.
|
|
- `CRON_SECRET` : Clé pour sécuriser le nettoyage des comptes.
|
|
- `SMTP_HOST`, `SMTP_USER`, `SMTP_PASS` : Configuration pour l'envoi d'emails.
|
|
- `NEXT_PUBLIC_APP_URL` : URL du site front-end (pour les liens de réactivation).
|
|
|
|
## 4. Configuration des Tâches Cron
|
|
Pour automatiser la suppression définitive des comptes :
|
|
1. Dans Dokploy, créez une tâche Cron pour l'application Admin.
|
|
2. Planification : `0 0 * * *` (tous les jours à minuit).
|
|
3. Commande : `curl -X GET "https://votre-admin.com/api/cron/cleanup-users?key=VOTRE_SECRET"`
|
|
|
|
## 5. Gestion de la Base de Données
|
|
Le schéma Prisma se trouve à la racine : `/prisma/schema.prisma`.
|
|
Toute modification du schéma doit être suivie d'un `npx prisma db push` et d'un redémarrage des serveurs pour que le client Prisma soit mis à jour.
|