Peppermint
Lightweight, open-source ticket management and helpdesk software alternative to Zendesk.
Why consider Peppermint?
Peppermint is a minimalist, self-hosted helpdesk and ticketing application built with Node.js and React. It features custom ticket priorities, markdown support, and email notifications.
Learn Peppermint by building
Practical setup notes, real use cases, and copy-ready examples in one focused guide.
In this guide10 sections
What is Peppermint?
Peppermint is an open-source, lightweight ticket management and helpdesk application built with Node.js, Express, and React. It serves as an uncomplicated, privacy-first alternative to complex proprietary support platforms like Zendesk, Freshdesk, and Jira Service Management.
Peppermint focuses on clarity and speed, delivering an easy-to-use support desk where teams can track customer issues, assign responsibilities, manage client tickets with custom priority levels, and exchange Markdown-formatted comments with file attachments.
Who Is It For?
- Small IT Support Teams: Managing internal office hardware and network support tickets without complex configuration overhead.
- Startups & Indie Developers: Providing a clean, branded support portal where software users can submit bug reports and feature requests.
- Freelancers & Agencies: Organizing client maintenance tasks and revision requests in a shared ticket dashboard.
Key Features
- Clean, intuitive user interface with fast search, filtering, and tag categorization.
- Markdown-supported ticket descriptions and comment threads with image and document uploads.
- Custom ticket priority management (Low, Medium, High, Urgent) and lifecycle statuses (Open, In Progress, Closed).
- Automatic email notifications for ticket assignments, status updates, and customer replies via SMTP.
- Multi-user role management separating Administrators, Support Agents, and End-User Clients.
Deploying Peppermint with Docker Compose
version: '3.8'services: peppermint: image: peppermintlab/peppermint:latest container_name: peppermint restart: unless-stopped ports: - "5000:5000" environment: - PORT=5000 - DB_STRING=postgres://peppermint:secure_peppermint_pass@db:5432/peppermint - JWT_SECRET=generate_a_secure_random_jwt_secret_key - BASE_URL=http://localhost:5000 - SMTP_HOST=smtp.mailtrap.io - SMTP_PORT=587 - SMTP_USER=smtp_username - SMTP_PASS=smtp_password depends_on: - db db: image: postgres:15-alpine container_name: peppermint_db restart: unless-stopped volumes: - ./postgres_data:/var/lib/postgresql/data environment: - POSTGRES_DB=peppermint - POSTGRES_USER=peppermint - POSTGRES_PASSWORD=secure_peppermint_passStart the instance:
docker compose up -dNavigate to http://localhost:5000 in your web browser to register your initial administrator account.
Practical Use Cases
1. Internal Office IT Helpdesk
An IT coordinator tracks employee requests for new laptops, VPN credentials, and printer maintenance using customizable priority flags.
2. Client Web Development Revision Tracker
A web agency provides clients with access to log design revisions and bug reports directly into a shared project ticket queue.
3. Open-Source Project Issue Portal
A developer hosts Peppermint as an accessible web support desk where non-technical software users can submit assistance requests without needing a GitHub account.
Troubleshooting and Limitations
- SMTP Configuration for Client Updates: Ensure valid SMTP credentials are provided so clients receive automated email notifications when their tickets are updated.
- File Upload Limits: If users attach large crash log files or screen recordings, adjust the reverse proxy client maximum body size (e.g.
client_max_body_size 50M;in Nginx).
Official Resources
- Official Website: https://peppermint.sh
- GitHub Repository: https://github.com/Peppermint-Lab/peppermint
- Documentation: https://docs.peppermint.sh
Related tools
More options with a similar category or technology profile.
MISP
Open source threat intelligence and cyber security information sharing platform.
Zulip Mobile
Official React Native mobile application for Zulip organized team chat.
Wire Server
End-to-end encrypted enterprise team communication, conferencing, and file sharing platform.
Signal Server
Enterprise-grade end-to-end encrypted messaging server infrastructure powering Signal.