# Installer Fider sur Dokploy

Basé sur la doc officielle : [Hosting on Docker](https://docs.fider.io/hosting-instance) et [How to enable SSL/TLS](https://docs.fider.io/how-to-enable-ssl).

## Prérequis

- Un sous-domaine pointant (enregistrement A) vers l'IP du serveur Dokploy (ex: `feedback.votredomaine.com`).
- Un compte [Resend](https://resend.com) avec un **domaine vérifié** (DNS SPF/DKIM configurés) et une **clé API** (`re_...`).

## Étape 1 — Créer le service dans Dokploy

1. Dans Dokploy : **Create Service → Compose** (type Docker Compose).
2. Coller le contenu de `docker-compose.yml` (fichier dans ce dossier), ou pointer vers un repo Git qui le contient.

## Étape 2 — Variables d'environnement

Onglet **Environment** du service, ajouter :

```env
BASE_URL=https://feedback.votredomaine.com
POSTGRES_PASSWORD=<mot de passe fort>
JWT_SECRET=<openssl rand -hex 32>
EMAIL_NOREPLY=noreply@votredomaine.com
RESEND_API_KEY=re_xxxxxxxxxxxx
```

Points d'attention :

- `BASE_URL` doit être l'URL publique exacte **avec https://** — sinon les liens de connexion envoyés par email seront cassés.
- `EMAIL_NOREPLY` doit être sur le domaine vérifié dans Resend, sinon Resend refusera l'envoi.

## Étape 3 — Domaine et HTTPS

Onglet **Domains** du service :

- Host : `feedback.votredomaine.com`
- Service : `app`
- Port du conteneur : `3000`
- HTTPS : activé (certificat Let's Encrypt via Traefik)

Le HTTPS est terminé par le Traefik de Dokploy. Ne pas utiliser `SSL_AUTO` de Fider (réservé au cas sans reverse proxy).

## Étape 4 — Déployer et vérifier

1. Cliquer **Deploy**.
2. Vérifier les logs du conteneur `app` : le message `http server started on :3000` confirme que tout est OK.
   - Des erreurs `dial tcp ...:5432: connect: connection refused` au démarrage sont normales si Postgres n'est pas encore prêt (le healthcheck du compose limite ce cas) ; l'app retente automatiquement.
   - Une erreur `could not find environment variable named 'EMAIL_SMTP_HOST'` signifie que la config email est manquante — Fider exige un envoi d'email fonctionnel pour démarrer.
3. Ouvrir `https://feedback.votredomaine.com` : la page d'installation Fider s'affiche.
4. Remplir le formulaire d'installation → un email de confirmation est envoyé via Resend. Vérifier les spams si rien n'arrive.

## Dépannage

**Pas d'email de confirmation reçu** : vérifier les logs de l'app et le dashboard Resend (domaine vérifié ? clé API valide ?). Une fois corrigé, Fider permet de renvoyer le code.

**Repartir de zéro** (supprime TOUT : tenant, users, posts, votes) :

```sql
TRUNCATE TABLE tenants RESTART IDENTITY CASCADE;
```

À exécuter dans le conteneur db : `docker exec -it <container_db> psql -U fider -d fider`.

## Pour aller plus loin (guides officiels)

- [Webhooks](https://docs.fider.io/using-webhooks) — notifier Slack/Discord ou tout endpoint lors de nouveaux posts/commentaires.
- [OAuth](https://docs.fider.io/configuring-oauth) — connexion via Google, GitHub, etc. (se configure dans l'UI admin de Fider, pas en variables d'env).
- [Pages légales](https://docs.fider.io/how-to-show-legal-pages) — CGU/politique de confidentialité : monter des fichiers `terms.md` et `privacy.md` dans `/app/etc` du conteneur.
