Mauricio Siu
ac65cc97f4
fix: surface actual error message in ntfy test connection
...
The catch block was swallowing the real error from the ntfy server,
making it impossible to diagnose connection failures (e.g. SSL, DNS,
auth issues). Now the underlying error message is included in the
tRPC error response.
Closes #4047
2026-04-05 14:08:55 -06:00
Mauricio Siu
76d6de5337
Merge branch 'canary' into feat/add-mattermost-notification-provider
2026-03-24 01:29:08 -06:00
Mauricio Siu
947100c041
refactor: replace existing organization_role and audit_log tables with new definitions
...
- Deleted the old SQL files for organization_role and audit_log.
- Introduced new SQL file defining organization_role and audit_log with updated foreign key constraints and indexes.
- Updated metadata snapshots to reflect the new table structures and relationships.
- Adjusted access control permissions for backup and notification operations to include update capabilities.
2026-03-15 23:02:23 -06:00
Mauricio Siu
8127dc4536
feat: add comprehensive permission tests and enhance permission checks in components
...
- Introduced new test files for permission checks, including `check-permission.test.ts`, `enterprise-only-resources.test.ts`, `resolve-permissions.test.ts`, and `service-access.test.ts`.
- Implemented permission checks in various components to ensure actions are gated by user permissions, including `ShowTraefikConfig`, `UpdateTraefikConfig`, `ShowVolumes`, `ShowDomains`, and others.
- Enhanced the logic for displaying UI elements based on user permissions, ensuring that only authorized users can access or modify resources.
2026-03-15 16:42:48 -06:00
Hootan
cbbf7f3a6d
Merge branch 'canary' into feat/add-mattermost-notification-provider
...
Resolves merge conflicts between mattermost notification provider (this PR)
and new canary features (resend, teams, SSO, patches, etc).
All notification providers are now included:
- slack, telegram, discord, email, gotify, ntfy
- mattermost (this PR)
- resend, pushover, custom, lark, teams (from canary)
2026-02-28 00:49:31 +01:00
Mauricio Siu
b2218efce6
refactor: update database imports to use centralized db module for improved consistency across API routes and schemas
2026-02-24 19:00:30 -06:00
Mauricio Siu
714849883e
feat(notifications): add Microsoft Teams integration for notifications
...
- Introduced support for Microsoft Teams notifications, including the ability to create, update, and test connections for Teams notifications.
- Updated the notification schema to include Teams as a notification type.
- Added Teams icon and UI components for handling Teams notifications in the dashboard.
- Implemented backend logic for creating and updating Teams notifications, along with necessary database schema changes.
- Enhanced existing notification functionalities to support Teams notifications across various events (e.g., build success, failure, database backups).
2026-02-16 21:16:00 -06:00
Hootan
68f6d4a558
Merge branch 'canary' into feat/add-mattermost-notification-provider
...
Resolves merge conflicts between mattermost notification provider (this PR)
and pushover/custom/lark notification providers (from canary).
All notification providers are now included:
- slack, telegram, discord, email, gotify, ntfy
- mattermost (this PR)
- pushover, custom, lark (from canary)
2026-01-30 23:51:09 +01:00
autofix-ci[bot]
ad382f1fe5
[autofix.ci] apply automated fixes
2026-01-28 10:38:52 +00:00
mhbdev
ba8a334fbe
feat: add resend notification functionality
...
- Introduced a new notification type "resend" to the system.
- Added database schema for resend notifications including fields for apiKey, fromAddress, and toAddress.
- Implemented functions to create, update, and send resend notifications.
- Updated notification router to handle resend notifications with appropriate API endpoints.
- Enhanced existing notification services to support sending notifications via the Resend service.
- Modified various notification utilities to accommodate the new resend functionality.
2026-01-28 13:47:57 +03:30
Plui Sol
046c52529b
feat: add Pushover notification provider
2026-01-12 21:31:12 -05:00
Mauricio Siu
6010643d9e
refactor(server): update server configuration handling to utilize webServerSettings schema and improve code clarity
2025-12-21 01:41:33 -06:00
Mauricio Siu
5412c5a873
feat: enhance custom notification handling and schema
...
- Updated the custom notification type to include an array of headers, allowing for more flexible header management.
- Removed the obsolete KeyValueInput component, streamlining the notification settings interface.
- Adjusted the database schema to support JSONB for headers in the custom table, improving data handling.
- Enhanced the notification testing functionality to accommodate the new headers structure.
- Updated related API endpoints and utility functions to reflect these changes.
2025-12-07 13:42:30 -06:00
ChristoferMendes
c9f356e314
Merge branch 'canary' of github.com:ChristoferMendes/dokploy into feature/add-custom-webhook-notification-provider
2025-11-28 09:41:09 -03:00
Mauricio Siu
bacadccaa9
refactor: improve error handling in notification components
...
- Enhanced error messages in HandleNotifications and notificationRouter to provide more specific feedback.
- Updated email and Discord notification functions to throw detailed errors on failure.
- Ensured consistent error handling across notification utilities for better debugging.
2025-11-26 02:39:01 -05:00
ChristoferMendes
334d9c91ef
Merge branch 'canary' of github.com:ChristoferMendes/dokploy into feature/add-custom-webhook-notification-provider
2025-11-11 09:11:38 -03:00
Mauricio Siu
2619733915
Refactor user schema and update database references: rename 'users_temp' to 'user' across the codebase, update related database queries, and enhance endpoint specifications for swarm settings in various database schemas.
2025-11-08 13:54:32 -06:00
ChristoferMendes
0c24507872
chore: run format-and-lint:fix
2025-11-03 09:44:14 -03:00
ChristoferMendes
94536ab05a
Merge branch 'canary' of github.com:ChristoferMendes/dokploy into feature/add-custom-webhook-notification-provider
2025-10-31 11:48:35 -03:00
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
autofix-ci[bot]
008788a38a
[autofix.ci] apply automated fixes
2025-09-27 09:18:19 +00:00
ChristoferMendes
b5bc384664
feat(notifications): enhance notification router with custom notification handling and additional notification types
2025-09-26 17:07:40 -03:00
ischanx
b4a3cbdff4
feat(notifications): add lark webhook
2025-09-24 00:38:44 +08:00
Paul Sommer
36281cd5d3
feat(notification): add ntfy notifications
2025-08-20 20:23:44 +02:00
Mauricio Siu
774365c68e
Refactor and update various components in the Dokploy application, enhancing functionality and fixing minor issues across multiple pages and features, including dashboard, settings, and API integrations.
2025-08-16 20:18:08 -06:00
Mauricio Siu
c84b271511
feat(invitation): add email provider selection and notification handling for user invitations
...
- Introduced a new optional field for notificationId in the invitation form.
- Implemented fetching of email providers based on the active organization.
- Enhanced invitation sending logic to include email notifications when applicable.
- Updated UI to conditionally display email provider selection based on cloud status.
2025-06-21 13:08:49 -06:00
Mauricio Siu
c51d63a4df
chore: remove TODO comments and clean up code annotations
2025-03-01 22:21:03 -06:00
Mauricio Siu
1a415b96c9
refactor: remove unused auth service and clean up server-side code
2025-02-22 18:03:12 -06:00
Mauricio Siu
a9e12c2b18
refactor: update organization context in API routers
2025-02-20 01:42:35 -06:00
Mauricio Siu
4a1a14aeb4
refactor: update
2025-02-15 23:24:45 -06:00
Mauricio Siu
e3e35ce792
refactor: update to use organization resources
2025-02-15 20:43:23 -06:00
Mauricio Siu
ca217affe6
feat: update references
2025-02-14 02:18:53 -06:00
Mauricio Siu
74a0f5e992
Feat/monitoring ( #1267 ) Cloud Version
...
* feat: add start monitoring remote servers
* reafctor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor:
* refactor: add metrics
* feat: add disk monitoring
* refactor: translate to english
* refacotor: add stats
* refactor: remove color
* feat: add log server metrics
* refactor: remove unused deps
* refactor: add origin
* refactor: add logs
* refactor: update
* feat: add series monitoring
* refactor: add system monitoring
* feat: add benchmark to optimize data
* refactor: update fn
* refactor: remove comments
* refactor: update
* refactor: exclude items
* feat: add refresh rate
* feat: add monitoring remote servers
* refactor: update
* refactor: remove unsued volumes
* refactor: update monitoring
* refactor: add more presets
* feat: add container metrics
* feat: add docker monitoring
* refactor: update conversion
* refactor: remove unused code
* refactor: update
* refactor: add docker compose logs
* refactor: add docker cli
* refactor: add install curl
* refactor: add get update
* refactor: add monitoring remote servers
* refactor: add containers config
* feat: add container specification
* refactor: update path
* refactor: add server filter
* refactor: simplify logic
* fix: verify if file exist before get stats
* refactor: update
* refactor: remove unused deps
* test: add test for containers
* refactor: update
* refactor add memory collector
* refactor: update
* refactor: update
* refactor: update
* refactor: remove
* refactor: add memory
* refactor: add server memory usage
* refactor: change memory
* refactor: update
* refactor: update
* refactor: add container metrics
* refactor: comment code
* refactor: mount proc bind
* refactor: change interval with node cron
* refactor: remove opening file
* refactor: use streams
* refactor: remove unused ws
* refactor: disable live when is all
* refactor: add sqlite
* refactor: update
* feat: add golang benchmark
* refactor: update go
* refactor: update dockerfile
* refactor: update db
* refactor: add env
* refactor: separate logic
* refactor: split logic
* refactor: update logs
* refactor: update dockerfile
* refactor: hide .env
* refactor: update
* chore: hide ,.ebnv
* refactor: add end angle
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update monitoring
* refactor: add mount db
* refactor: add metrics and url callback
* refactor: add middleware
* refactor: add threshold property
* feat: add memory and cpu threshold notification
* feat: send notifications to the server
* feat: add metrics for dokploy server
* refactor: add dokploy server to monitoring
* refactor: update methods
* refactor: add admin to useeffect
* refactor: stop monitoring containers if elements are 0
* refactor: cancel request if appName is empty
* refactor: reuse methods
* chore; add feat monitoring
* refactor: set base url
* refactor: adjust monitoring
* refactor: delete migrations
* feat: add columns
* fix: add missing flag
* refactor: add free metrics
* refactor: add paid monitoring
* refactor: update methods
* feat: improve ui
* feat: add container stats
* refactor: add all container metrics
* refactor: add color primary
* refactor: change default rate limiting refresher
* refactor: update retention days
* refactor: use json instead of individual properties
* refactor: lint
* refactor: pass json env
* refactor: update
* refactor: delete
* refactor: update
* refactor: fix types
* refactor: add retention days
* chore: add license
* refactor: create db
* refactor: update path
* refactor: update setup
* refactor: update
* refactor: create files
* refactor: update
* refactor: delete
* refactor: update
* refactor: update token metrics
* fix: typechecks
* refactor: setup web server
* refactor: update error handling and add monitoring
* refactor: add local storage save
* refactor: add spacing
* refactor: update
* refactor: upgrade drizzle
* refactor: delete
* refactor: uppgrade drizzle kit
* refactor: update search with jsonB
* chore: upgrade drizzle
* chore: update packages
* refactor: add missing type
* refactor: add serverType
* refactor: update url
* refactor: update
* refactor: update
* refactor: hide monitoring on self hosted
* refactor: update server
* refactor: update
* refactor: update
* refactor: pin node version
2025-02-02 14:08:06 -06:00
depado
1f8a476264
chore(lint): run biome
2025-01-18 14:23:27 +01:00
depado
cc473b3e87
feat(notifications): implement gotify provider
2025-01-18 14:23:27 +01:00
Dom
2af8d6f565
Spelling and grammar corrections
2024-12-29 22:34:57 +10:00
João Gabriel
870e074825
feat: implement decoration to embeds
2024-12-22 00:44:25 -03:00
Mauricio Siu
1c1e52f777
fix: lint
2024-12-07 13:50:38 -06:00
190km
a235815a13
style: improved discord webhooks notifications
2024-12-01 04:09:19 +01:00
Mauricio Siu
53edf06476
refactor: remove comments
2024-10-21 00:48:04 -06:00
Mauricio Siu
f3ce69b656
refactor: rename builders to server
2024-10-05 22:15:47 -06:00
Mauricio Siu
7c4987d84d
refactor(cloud): add validation to prevent access to shared resources
2024-10-04 20:44:57 -06:00
Mauricio Siu
ec1d6c7430
refactor(cloud): add validation to prevent access to resources from another admin
2024-10-03 19:48:49 -06:00
Mauricio Siu
e4b998c608
refactor(server): update imports
2024-09-29 11:55:29 -06:00
Mauricio Siu
5280c861e8
Feat/monorepo ( #292 )
...
* feat(create-turbo): apply official-starter transform
* refactor: move folder
* wip: monorepo
* feat: add builf
* refactor: add pr
* update
* add .env
* refactor: update build
* refactor: update build docker
* refactor: add progress plain
* refactor: remove node pty
* refactor: remove
* remove
* refactor: update
* refacotr: uopdate
* refactor: add remix app
* add env
* refactor: add pnpm start
* refactor: remove
* refactor: remove folders
* refactor: remove .dockerfile
* chore: update biome
* test
* choe: add husky
* remove .docker folder
* feat: add docs website
* refactor: add husky
* chore(version): bump version
* refactor: add new changes
* refactor: update circle path
* refactor: update
* refactor: update
* refactor: update dockerfile
* refactor: update dockerfile
* refactor: update command
* refactor: update
* refactor: update dockerfile
* refactor: add tsx
* refactor: update dockerfile
* refactor: add deps
* refactor: up[date
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: yuodate
* refactor: remove
* refactor: uncomment
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: updare
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: imprt
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: remove
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: change path
* refactor: update
* refactor: update
* refactor: upoadte
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: add
* refactor: update
* refactor: update
* refactor: add
* refactor: update
* refactor: remove
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: removed
* refactor: update
* refactor: update
* refactor: update
* refactor: add config
* refactor: update
* refactor: add
* refactor: update
* refactor: update
* refactor: remove
* refactor: update
* refactor: remove
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: add docs
* refactor: update
* refactor: add website
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: add ignore builds
* refactor: update
* refactor: update
* refactor: add
* refactor: update
* refactor: update
* refactor: remove needs
* refactor: update
* refactor: update
* refactor: add config
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: remove
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: add
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: upodate
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update
* refactor: update package json
* refactor: add biome
* refactor: add sponsors
* refactor: update
* refactor: update
* refactor: remove
* refactor: update
* refactor: update
* refactor: update
* refactor: update scripts
* refactor: remove
* refactor: update
* refactor: remove
---------
Co-authored-by: Turbobot <turbobot@vercel.com >
2024-07-29 23:08:23 -06:00