Hootan a0c87358eb feat: add mattermost notification provider
Add comprehensive Mattermost integration as a new notification provider:

## Backend Implementation:
- Add `mattermost` to notificationType enum and database schema
- Create mattermost table with webhookUrl, channel, username fields
- Implement CRUD operations: createMattermostNotification, updateMattermostNotification
- Add API routes: createMattermost, updateMattermost, testMattermostConnection
- Add sendMattermostNotification utility with proper payload formatting

## Frontend Implementation:
- Add MattermostIcon component with provided SVG logo
- Extend notification form with Mattermost schema validation
- Add webhook URL (required), channel and username (optional) form fields
- Integrate test connection functionality
- Add Mattermost to provider selection UI

## Notification Integration:
- Integrate across all notification types:
  - Build success/error notifications
  - Database backup notifications
  - Docker cleanup notifications
  - Dokploy restart notifications
  - Server threshold alerts
- Format messages using Markdown for Mattermost compatibility
- Handle optional channel (#prefix) and username override
- Graceful fallback for empty optional fields

## Features:
- Webhook-based messaging to Mattermost channels
- Optional channel targeting and custom username display
- Consistent formatting with other notification providers
- Full CRUD support with proper validation
- Test connection capability

Closes: Support for Mattermost team communication platform

# Conflicts:
#	apps/dokploy/components/dashboard/settings/notifications/handle-notifications.tsx
#	apps/dokploy/components/icons/notification-icons.tsx
#	apps/dokploy/server/api/routers/notification.ts
#	packages/server/src/db/schema/notification.ts
#	packages/server/src/services/notification.ts
#	packages/server/src/utils/notifications/build-error.ts
#	packages/server/src/utils/notifications/build-success.ts
#	packages/server/src/utils/notifications/database-backup.ts
#	packages/server/src/utils/notifications/docker-cleanup.ts
#	packages/server/src/utils/notifications/dokploy-restart.ts
#	packages/server/src/utils/notifications/server-threshold.ts
#	packages/server/src/utils/notifications/utils.ts
2025-10-28 22:50:04 +01:00
2025-06-02 01:09:48 -06:00

Dokploy - Open Source Alternative to Vercel, Heroku and Netlify.

Join us on Discord for help, feedback, and discussions!

Discord Shield

Dokploy is a free, self-hostable Platform as a Service (PaaS) that simplifies the deployment and management of applications and databases.

Features

Dokploy includes multiple features to make your life easier.

  • Applications: Deploy any type of application (Node.js, PHP, Python, Go, Ruby, etc.).
  • Databases: Create and manage databases with support for MySQL, PostgreSQL, MongoDB, MariaDB, and Redis.
  • Backups: Automate backups for databases to an external storage destination.
  • Docker Compose: Native support for Docker Compose to manage complex applications.
  • Multi Node: Scale applications to multiple nodes using Docker Swarm to manage the cluster.
  • Templates: Deploy open-source templates (Plausible, Pocketbase, Calcom, etc.) with a single click.
  • Traefik Integration: Automatically integrates with Traefik for routing and load balancing.
  • Real-time Monitoring: Monitor CPU, memory, storage, and network usage for every resource.
  • Docker Management: Easily deploy and manage Docker containers.
  • CLI/API: Manage your applications and databases using the command line or through the API.
  • Notifications: Get notified when your deployments succeed or fail (via Slack, Discord, Telegram, Email, etc.).
  • Multi Server: Deploy and manage your applications remotely to external servers.
  • Self-Hosted: Self-host Dokploy on your VPS.

🚀 Getting Started

To get started, run the following command on a VPS:

Want to skip the installation process? Try the Dokploy Cloud.

curl -sSL https://dokploy.com/install.sh | sh

For detailed documentation, visit docs.dokploy.com.

♥️ Sponsors

🙏 We're deeply grateful to all our sponsors who make Dokploy possible! Your support helps cover the costs of hosting, testing, and developing new features.

Dokploy Open Collective

Github Sponsors

Hero Sponsors 🎖

Premium Supporters 🥇

Supafort.com agentdock.ai

Elite Contributors 🥈

AmericanCloud Tolgee

Supporting Members 🥉

Cloudblast.io

Synexa

Community Backers 🤝

Organizations:

Sponsors on Open Collective

Individuals:

Individual Contributors on Open Collective

Contributors 🤝

Contributors

📺 Video Tutorial

Watch the video

🤝 Contributing

Check out the Contributing Guide for more information.

Description
Languages
TypeScript 99.1%
Go 0.7%
CSS 0.1%