Description
Peppermint est une application de helpdesk moderne et légère, écrite en TypeScript (Next.js + Prisma + PostgreSQL). C'est un projet jeune (2022+) qui vise à offrir une alternative simple à Zendesk pour les petites équipes : gestion de tickets, base de connaissances, multi-tenant, API REST, UI React/Next.js fluide. Différence vs FreeScout : Peppermint est plus jeune, écrit en TypeScript (pas PHP), et a une UX plus « startup-style » (très épurée), mais son écosystème de modules est bien plus petit et l'email piping est moins éprouvé. Pour qui: startups et devs qui veulent un helpdesk moderne auto-hébergé, et qui maîtrisent l'écosystème Node.js.
Installation
Docker Compose (recommandé)
version: '3.8'
services:
peppermint:
image: peppermintapp/peppermint:latest
container_name: peppermint
restart: unless-stopped
ports:
- "3000:3000"
environment:
- DATABASE_URL=postgresql://peppermint:***@postgres:5432/peppermint
- NEXTAUTH_URL=https://support.example.com
- NEXTAUTH_SECRET=***
- SMTP_HOST=mail.example.com
- SMTP_PORT=587
- [email protected]
- SMTP_PASSWORD=***
depends_on:
- postgres
labels:
- "traefik.enable=true"
- "traefik.http.routers.peppermint.rule=Host(`support.example.com`)"
- "traefik.http.routers.peppermint.entrypoints=websecure"
- "traefik.http.routers.peppermint.tls.certresolver=letsencrypt"
postgres:
image: postgres:16-alpine
container_name: peppermint-db
restart: unless-stopped
environment:
- POSTGRES_USER=peppermint
- POSTGRES_PASSWORD=***
- POSTGRES_DB=peppermint
volumes:
- peppermint-db:/var/lib/postgresql/data
volumes:
peppermint-db:
Alternatives
Open Source
- [[app-freescout]] — Concurrent PHP, plus mature
- [[app-osticket]] — Concurrent PHP historique
- [[app-zammad]] — Concurrent omnicanal
- [[app-helprealm]] — Concurrent direct, plus récent
- [[app-libredesk]] — Concurrent direct
Propriétaires
- Zendesk — Leader mondial
- Help Scout — PME, Help Scout-like
- Plain — Concurrent moderne SaaS
Sécurité
- Auth : NextAuth.js (email + magic link, OAuth).
- 2FA : non activée par défaut, à configurer manuellement.
- CSRF : protection native Next.js.
- HTTPS : obligatoire (Traefik + Let's Encrypt).
- Multi-tenant : attention à l'isolation des données si hébergement partagé.
