Open
Conversation
This is only in one provider but can be extened to other providers
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
Enable file upload deployments via the public API, unlocking CI/CD workflows similar to `railway up`. Users can now programmatically deploy by uploading zip archives. Depends on: Dokploy/trpc-openapi multipart/form-data support
Switch from z.instanceof(FormData) to uploadFileSchema (zod-form-data) so the OpenAPI generator produces a proper multipart/form-data spec with typed fields (zip as binary, applicationId, dropBuildPath). Regenerate openapi.json with the drop-deployment endpoint included.
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
This fixes the issue where the installation instructions are instructing to have the user run the install script under the wrong shell.
… rejection on DB failure
- Added health check functionality for PostgreSQL, Redis, and Traefik services before updating the web server. - Introduced a modal state management system to guide users through the verification and update process. - Updated UI components to display service health status and relevant messages during the update workflow. - Refactored the update server button to reflect the latest version and availability of updates.
…validate-dokploy-services feat: enhance web server update process with health checks
- Bumped the version of @dokploy/trpc-openapi in both package.json and pnpm-lock.yaml. - Removed unnecessary metadata from the dropDeployment procedure in application.ts.
feat: expose drop deployment endpoint in public API
- Changed input class from "focus:ring-0" to "focus-visible:ring-0" for improved accessibility and visual feedback on focus.
feat(ui): Add Vercel-style breadcrumb navigation with project and service switchers
…led-rejection fix: prevent unhandled rejection in trustedOrigins on DB failure
fix: Replace tooltip trigger button for help icon (provider compose ui)
…ation - Introduced `accessedServers` field in user permissions schema and member table. - Implemented server access validation across various API routers to ensure users can only access permitted servers. - Added a new query to fetch accessible server IDs based on user roles and licenses. - Updated UI components to support server selection in user permissions.
…for-enterprise feat: add accessedServers permission handling and server access valid…
- Introduced `isEnterpriseCloud` boolean field in the user schema to differentiate enterprise users. - Updated billing UI to display specific information for enterprise cloud users, including a dedicated section for managing subscriptions. - Modified API webhook logic to handle subscription updates and server management based on the `isEnterpriseCloud` status.
- Added `isEnterpriseCloud` field to the user schema to enhance user differentiation for enterprise cloud services. - This change supports the ongoing updates to billing and subscription management for enterprise users.
…enterprise-users feat: add isEnterpriseCloud field and update billing logic
fix: Broken install instructions
…-disk-space-monitoring-graph feat: show only used disk space in server monitoring chart
feat: add RHEL flavors to server setup script
- Updated the authentication process to check if the email of the user matches the email associated with the invitation token. - Improved error handling for cases where the user is not found or the email does not match the invitation.
Also checks that the invitation is not expired and has not already been used before allowing account creation. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…r handling - Normalize emails with toLowerCase().trim() before comparing - Wrap getUserByToken in try/catch since it throws TRPCError on miss, rethrow as APIError for consistent error responses
fix: validate invitation email matches signup email
The naive split(":").pop() approach treated the port number in
registry URLs (e.g. registry:5000/image) as the image tag.
Now uses lastIndexOf(":") and checks if the suffix matches a port
followed by a path (digits + slash), consistent with extractImageName.
Closes #4082
fix: extractImageTag misidentifies registry port as tag
writeDomainsToCompose reads the compose file in Node.js before the shell script runs, so patches applied as shell commands were being overwritten by the stale pre-patch content. Split patch execution into a separate step that runs before getBuildComposeCommand, so the file is already patched when Node.js reads it for domain injection. Also added missing patch support to rebuildCompose which was skipping patches entirely on redeploys. Closes #4113
fix: compose patches overwritten by domain injection
The actions array in Slack attachments requires Interactive Components to be configured on the Slack app, which causes notifications to fail. Replaces with a Details field using mrkdwn hyperlink syntax and adds mrkdwn_in to ensure the link renders as clickable. Closes #4053
…ions-content fix: actions in slack notification
fix: replace deprecated Slack actions with mrkdwn link field
- Change compose.loadServices permission from service:create to service:read since loading services from a compose file is a read-only operation - Add saveEnvironment endpoint to compose router with envVars:write permission - Update show-environment.tsx to use saveEnvironment mutations instead of generic update mutations for all service types (compose, databases) Closes #4052
…oad-services fix: correct permission checks for compose loadServices and env editing
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
fix: surface actual error message in ntfy test connection
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR promotes changes from
canarytomainfor version v0.29.0.🔍 Changes Include:
✅ Pre-merge Checklist: