Files
wiki/Catalogue-Self-Hosted/apps/app-peppermint.md
T
2026-06-09 18:40:21 +02:00

105 lines
3.7 KiB
Markdown

---
title: Peppermint
created: 2026-06-08
updated: 2026-06-08
type: app
tags: [catalogue, support-ticketing, app-marathon-batch-rattrapage-1]
confidence: medium
contested: false
sources: [https://selfh.st/apps/?tag=Support&app=peppermint]
---
# 🎧 Peppermint
> **Helpdesk moderne et léger en TypeScript** — alternative self-hosted jeune et minimaliste à Zendesk, conçue pour les petites équipes qui veulent un support@ fonctionnel en 5 minutes.
## 📋 Informations Générales
| Champ | Valeur |
| :--- | :--- |
| **Site web** | [peppermint.sh](https://peppermint.sh) |
| **GitHub** | [peppermint-app/peppermint](https://github.com/peppermint-app/peppermint) |
| **License** | MIT |
| **Langage** | TypeScript (Next.js + Prisma) |
| **Étoiles GitHub** | ~1.5k ⭐ |
| **Catégorie** | [[cat-support-ticketing\|Support / Ticketing]] |
## 📝 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é)
```yaml
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
- SMTP_USER=support@example.com
- 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é.
## 📚 Ressources
- [Site officiel](https://peppermint.sh)
- [GitHub Peppermint](https://github.com/peppermint-app/peppermint)
## Pages Liées
- [[cat-support-ticketing]] — Catégorie Support / Ticketing
- [[app-freescout]] — Concurrent mature
- [[app-zammad]] — Concurrent omnicanal
- [[recettes-docker-compose]] — Templates Docker