Overview
This template provides a production‑ready Papercups instance as a Monk runnable. You can:- Run it directly to host your own customer messaging platform
- Inherit it in your own infrastructure for customer support and live chat
What this template manages
- Papercups web application (Elixir/Phoenix)
- PostgreSQL database
- Real-time WebSocket connections
- Chat widget and admin dashboard
- Email notifications
- Web UI on port 4000
Quick start (run directly)
- Load templates
- Run Papercups stack
- Access and configure
http://localhost:4000 and create your admin account on first visit.
Configuration
Key variables you can customize in this template:${monk-volume-path}/papercups and ${monk-volume-path}/postgres on the host.
Use by inheritance (recommended for production)
Inherit the Papercups stack in your infrastructure for customer support. Example:Ports and connectivity
- Web UI: TCP port
4000 - WebSocket: Same port as HTTP (for real-time chat)
Persistence and volumes
- PostgreSQL data:
${monk-volume-path}/postgres:/var/lib/postgresql/data - Papercups uploads:
${monk-volume-path}/papercups/uploads:/app/uploads - Papercups data:
${monk-volume-path}/papercups:/app/data
Features
- Live Chat Widget: Embeddable chat widget for websites
- Customer Inbox: Unified inbox for all conversations
- Team Collaboration: Assign conversations to team members
- Slack Integration: Get notifications and reply from Slack
- Email Notifications: Alert team members of new messages
- Customer Profiles: View customer history and details
- File Sharing: Send and receive files in chat
- Typing Indicators: Real-time typing status
- Custom Branding: Customize widget colors and appearance
- React/JavaScript SDK: Easy integration
Widget Installation
Add to your website:React Integration
Slack Integration
- Go to Settings → Integrations
- Click “Add to Slack”
- Authorize Papercups
- Choose Slack channel for notifications
- Reply to customers directly from Slack
Use cases
Papercups excels at:- Website live chat support
- Customer service and helpdesk
- Sales and lead qualification
- Product feedback collection
- In-app messaging
- Multi-channel customer support
Team Management
- Create team members in Settings → Team
- Assign conversations to specific agents
- Set availability status
- View team performance metrics
Customization
Customize the chat widget:- Branding: Logo, colors, greeting message
- Behavior: Auto-open, show/hide on certain pages
- Fields: Collect custom user information
- Position: Bottom right/left placement
Related templates
- Monitoring: see the
prometheus-grafana/template in this repository for observability and metrics - Database backup: see
postgres-backup/for automated PostgreSQL backups
Troubleshooting
- Initial setup: Access the admin dashboard at
http://localhost:4000and create your first account. Get your Account ID from Settings → Account. - Widget not loading: Verify that
baseUrlin the widget configuration matches your backend URL. - Slack integration: If Slack notifications fail, re-authorize the app in Settings → Integrations.
- Email issues: Verify your Mailgun API key and domain configuration are correct.
- WebSocket issues: Ensure WebSocket connections are not blocked by firewalls or proxies.
- Database migrations: If the app fails to start due to migration issues, run:
- Check logs: