Open
Conversation
- Updated backup and restore functionalities to include support for the 'libsql' database type. - Enhanced the backup process with new methods for running and restoring libsql backups. - Modified existing components and schemas to accommodate libsql, including updates to the database type enumerations and backup schemas. - Removed obsolete bottomless replication features from the libsql schema. - Updated related UI components to reflect changes in backup handling for libsql.
- Updated mutation hooks in the ShowExternalLibsqlCredentials and ShowGeneralLibsql components to use 'isPending' instead of 'isLoading' for better clarity in loading state representation. - Adjusted button loading states accordingly to reflect the new naming convention.
- Added LibsqlIcon and updated ServiceCollections to include 'libsql'. - Replaced BreadcrumbSidebar with AdvanceBreadcrumb in the Libsql service page for improved navigation consistency. - Enhanced SERVICE_QUERY_KEYS and SERVICE_ICONS to accommodate libsql integration.
- Removed unused imports from the ShowProjects component for better clarity. - Updated LibsqlIcon dimensions to use relative units for improved responsiveness. - Adjusted icon size in the EnvironmentPage for consistency with other icons.
- Replaced zodResolver import with standardSchemaResolver for improved schema handling. - Refactored DockerProviderSchema to streamline validation logic and enhance readability. - Updated external port validation to check for empty values and ensure proper error handling. - Adjusted service access checks in the libsql router for better permission management.
- Eliminated the ForceUpdate property from the TaskTemplate during service updates to streamline the update process. - Adjusted the service update logic to focus on essential settings without the unnecessary increment of ForceUpdate.
…bsql support - Modified the database name assignment in the RestoreBackup component to include 'iku.db' for the 'libsql' database type. - Updated input disabling logic in both HandleBackup and RestoreBackup components to disable inputs for both 'web-server' and 'libsql' database types, enhancing user experience and preventing invalid input.
…and project router - Added 'libsql' to the Services type in add-permissions.tsx for improved service management. - Implemented extraction logic for 'libsql' services in the extractServices function. - Updated project router to include 'libsql' in service filters and response columns, ensuring comprehensive data handling for libsql services.
…ation ID retrieval - Updated service type checks in the getBaseFilesPath and getServerId functions to use application and service IDs for better clarity and reliability. - Removed redundant service type checks and adjusted logic to enhance maintainability. - Added 'libsql' to the server relations in the schema for improved service management.
- Created a new SQL type for 'libsql' and added it to the serviceType enum. - Established a 'libsql' table with necessary fields and constraints. - Updated existing tables (backup, mount, volume_backup) to include foreign key references to 'libsql'. - Adjusted the mount schema to incorporate 'libsql' as a valid service type, enhancing service management capabilities.
…kup notifications
…components - Updated various swarm form components to include 'libsql' as a valid service type. - Enhanced query and mutation handling for 'libsql' across multiple forms, ensuring comprehensive integration. - Adjusted form schemas and data handling to accommodate 'libsql' service requirements, improving overall functionality.
…onents - Created a new SQL type for 'libsql' and established a corresponding table with necessary fields and constraints. - Updated existing tables (backup, mount, volume_backup) to include foreign key references to 'libsql'. - Enhanced the libsql schema in the application to support additional fields such as stopGracePeriodSwarm and endpointSpecSwarm. - Adjusted form handling and validation to accommodate the new libsql service type, improving overall integration and functionality.
feat: add libSQL database
…pport feat: add automatic Rancher Desktop support for Docker socket detection
Reduce the maximum allowed failures in PR quality check.
- Added FormDescription to clarify user requirements in the server handling component. - Updated alert messages to inform users about connecting as root or non-root with passwordless sudo access. - Introduced new status rows in the validation component to display privilege mode and Docker group membership. - Implemented validation functions for sudo access and Docker group membership in the server setup scripts, ensuring proper permissions are checked during setup.
feat(servers): enhance server setup and validation for user privileges
…deploy When users set a custom docker compose command without the -p flag, Docker Compose defaults to using the directory name (code) as the project name. If the custom command is later removed, Dokploy uses -p appName, creating a new stack while the old one remains running. Injecting COMPOSE_PROJECT_NAME=appName into the .env ensures the project name is always consistent regardless of the command used. Closes #4019
…-containers fix: inject COMPOSE_PROJECT_NAME to prevent orphaned containers on redeploy
…uard fix: add runtime type guard for cpu.value in monitoring tab
…n config When both stripPath and internalPath are configured, addPrefix was pushed before stripPrefix causing incorrect path rewriting (e.g. /app/v2/public/api instead of /app/v2/api). Traefik executes middlewares in array order, so stripPrefix must come first. Closes #4061
…re-order fix: correct stripPath and addPrefix middleware order
…ayments - Introduced a new feature allowing users to enable or disable invoice email notifications in the billing settings. - Implemented email notifications for successful invoice payments and payment failures, enhancing user communication regarding billing. - Updated the database schema to include a new column for storing user preferences on invoice notifications. - Added corresponding email templates for invoice notifications and payment failure alerts. These changes improve user experience by keeping users informed about their billing status and actions required.
…quirements - Added customer update fields for automatic name and address handling during subscription creation. - Enabled billing address collection and tax ID collection for improved compliance and billing accuracy. These changes enhance the Stripe payment process by ensuring necessary customer information is captured and managed effectively.
Feat/billing cloud improvements
…scheduling - Simplified code formatting for better readability in various components. - Updated job scheduling functions to handle errors gracefully, ensuring that failures in scheduling do not disrupt the overall process. - Enhanced logging for better traceability of job scheduling issues. These changes improve code maintainability and user experience by providing clearer error messages and more organized code structure.
…-8xl style(dashboard): remove max-width constraint from deployments card
Add a Containers tab to the compose service page that lists all containers with their state, status, and container ID. Each container has a dropdown menu with lifecycle actions: View Logs, Restart, Start, Stop, and Kill. - Add containerStart, containerStop, containerKill functions to docker service - Add corresponding tRPC procedures with server ownership checks and audit logging - Update containerRestart to support remote servers via serverId - Create ShowComposeContainers component with table view and action menu - Add Containers tab between Deployments and Backups, gated by docker.read permission
Change restartContainer, startContainer, stopContainer, and killContainer endpoints to use service.read instead of docker.read so members with access to the compose can use container lifecycle actions.
Eliminate redundant import statement for ShowComposeContainers in the compose service page, streamlining the code and improving readability.
- Use "kill" audit action for killContainer instead of "stop" - Pass undefined instead of empty string for optional serverId
Change the audit action from "kill" to "stop" for the containerKill function to better reflect the operation being performed. This aligns the logging with the intended action and improves clarity in audit records.
feat: add containers tab to compose services
Right-click on service cards to quickly Start, Deploy, Stop, or Delete a service without navigating into it. Uses shadcn/ui ContextMenu component built on @radix-ui/react-context-menu. Delete action shows a confirmation dialog. LibSQL services are excluded since they lack standard mutation endpoints.
Use toast.promise for loading/success/error states and invalidate environment query after actions complete to update service status.
feat: add context menu to service cards
…-creation fix: prevent serverIp from being overwritten on every user registration
Add a new "View Mounts" action to the container dropdown that displays volume and bind mounts in a formatted table (type, source, destination, mode, read/write). Also add "View Config" and "Terminal" actions to the compose containers tab which previously only had logs and lifecycle actions.
feat: add view mounts, config, and terminal to container actions
Integrate a new component, ShowContainerNetworks, to display network details for each container in the dashboard. This includes a dialog that shows network information such as IP address, gateway, and MAC address, enhancing the container management capabilities.
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: