Commit graph

4530 commits

Author SHA1 Message Date
Andras Bacsai
c548013e2d feat(global-search): add navigation routes and enhance search functionality
- Introduced a comprehensive set of navigation routes for quick access to key sections such as Dashboard, Servers, Projects, and more.
- Enhanced the search functionality to include a 'new' prefix for creating resources directly from the search input.
- Improved UI elements for search results, ensuring better visibility and interaction.
2025-10-08 19:50:30 +02:00
Andras Bacsai
2e6e07bcc3 make global search frontend heavy 2025-10-08 16:53:02 +02:00
Andras Bacsai
afd10048bd update globalsearch 2025-10-08 13:38:38 +02:00
Andras Bacsai
adf5bbd91a improvements of global search 2025-10-08 10:54:26 +02:00
Andras Bacsai
a39bd8c5b0 fix(project): update redirect logic after resource creation to include environment UUID
- Modified the redirect route after project resource creation to include the UUID of the production environment, ensuring users are directed to the correct resource index page.
- This change enhances navigation and improves user experience by providing direct access to the relevant environment resources.
2025-10-07 20:46:32 +02:00
Andras Bacsai
d7bee48735 feat(global-search): enhance resource creation functionality in search modal
- Introduced a new create mode in the global search component, allowing users to initiate the creation of resources directly from the search input.
- Implemented logic to detect specific resource types based on user input, enabling quick access to creation modals for projects, servers, teams, storage, private keys, and GitHub apps.
- Updated the UI to display a list of creatable items when in create mode, improving user experience and accessibility for resource management.
- Added necessary modals for each resource type to facilitate the creation process seamlessly.
2025-10-07 20:45:16 +02:00
Andras Bacsai
fc7e31799c fix: on team creation, redirect to the new team instantly 2025-10-07 20:45:04 +02:00
Andras Bacsai
201e30e849 feat(project): enhance project index with resource creation capabilities
- Added logic to determine if the user can create resources for each project and generate the corresponding route for adding resources based on the project's first environment.
- Updated the project index view to display the new resource creation option alongside existing project settings.
- Adjusted various views to include a margin-top adjustment for better layout consistency.
2025-10-07 17:17:31 +02:00
Andras Bacsai
618378714a fix(job): correct build logs URL structure in ApplicationPullRequestUpdateJob
- Updated the build_logs_url to use the correct environment UUID instead of the environment name, ensuring accurate links to deployment logs.
- This change improves the reliability of the deployment notification system by directing users to the correct log location.
2025-10-07 15:32:37 +02:00
Andras Bacsai
fbbaab55f5 feat(storage): implement transaction handling in storage settings submission
- Wrapped the storage settings submission process in a database transaction to ensure data integrity.
- Added connection testing within the transaction to verify settings before finalizing the save.
- Enhanced error handling by refreshing the model state after a rollback, ensuring the UI reflects the latest database values.
- Dispatch success event upon successful update and verification of storage settings.
2025-10-07 15:08:22 +02:00
Andras Bacsai
2c64136503 feat(backup): enhance backup job with S3 upload handling and notifications
- Introduced a new notification class, BackupSuccessWithS3Warning, to alert users when local backups succeed but S3 uploads fail.
- Updated DatabaseBackupJob to track local backup success and handle S3 upload errors, improving error reporting and user notifications.
- Modified ScheduledDatabaseBackupExecution model to include a new s3_uploaded boolean field for tracking S3 upload status.
- Adjusted views and validation logic to reflect changes in backup execution status and S3 handling.
- Added tests to ensure the new s3_uploaded column is correctly implemented and validated.
2025-10-07 15:02:23 +02:00
Andras Bacsai
bc8cf8ed84 fix(deployment): save runtime environment variables when skipping build
- Updated the should_skip_build method to save runtime environment variables even when the build step is skipped, ensuring that the latest environment settings are preserved.
- Enhanced logging in prepare_builder_image to differentiate between the first attempt and subsequent attempts, improving clarity in deployment logs.
2025-10-07 14:26:23 +02:00
Andras Bacsai
1a42187d5d fix 2025-10-07 14:20:33 +02:00
Andras Bacsai
981f46c406 fix(deployment): add warning for NIXPACKS_NODE_VERSION in node configurations
- Implemented a check for the NIXPACKS_NODE_VERSION variable in the ApplicationDeploymentJob.
- Added log entries to notify users when NIXPACKS_NODE_VERSION is not set, indicating that Node.js 18 will be used by default, which is EOL.
- Provided guidance on how to override the default version by setting NIXPACKS_NODE_VERSION in environment variables.
2025-10-07 14:19:34 +02:00
Andras Bacsai
9962b69a13 fix(core): set default base_directory and include in submit method
- Updated the base_directory property to default to '/' for better compatibility with Docker setups.
- Included base_directory in the submit method's application array to ensure it is correctly passed during submission, enhancing the functionality of the GithubPrivateRepository component.
2025-10-07 14:12:07 +02:00
Andras Bacsai
8b221552a2 fix(backup): update backup job to use backup_log_uuid for container naming
- Refactored the DatabaseBackupJob to replace instances of backup->uuid with backup_log_uuid for consistency in container naming.
- Ensured that all related Docker commands and processes reference the updated backup_log_uuid, improving clarity and reducing potential errors during backup operations.
2025-10-07 14:05:03 +02:00
Andras Bacsai
eb1f16b62e fix(environment): clear computed property cache after adding environment variables
- Added cache clearing for environment variables and their preview after a new variable is added to ensure the UI reflects the latest data.
- Updated the refreshEnvs method to include cache clearing, enhancing the responsiveness of the environment variable display.
2025-10-07 13:57:59 +02:00
Andras Bacsai
cef3d3af5d feat(proxy): enhance proxy configuration regeneration by extracting custom commands
- Added a new function to extract custom proxy commands from existing Traefik configurations before regenerating the proxy configuration.
- Updated the proxy configuration generation logic to include these custom commands, ensuring they are preserved during regeneration.
- Introduced unit tests to validate the extraction of custom commands and handle various scenarios, including invalid YAML and different proxy types.
2025-10-07 11:11:13 +02:00
Andras Bacsai
ae64f8cb86 fix validation on a few views 2025-10-06 21:25:24 +02:00
Andras Bacsai
acf2d5f89b refactor(deployment): update environment variable handling for Docker builds
- Changed the .env file reference to use a build-time .env file located in /artifacts, preventing it from being included in Docker images.
- Introduced a new method to wrap Docker build commands with environment variable exports, enhancing the handling of build-time variables.
- Updated logging messages for clarity regarding the creation and usage of the build-time .env file.
2025-10-06 10:31:58 +02:00
Andras Bacsai
17505aa03b feat(application): add default NIXPACKS_NODE_VERSION environment variable for Nixpacks applications
- Introduced logic to automatically create a default NIXPACKS_NODE_VERSION environment variable when an application uses the 'nixpacks' build pack.
- Ensured the environment variable is configured with appropriate attributes for build-time usage.
2025-10-05 16:07:36 +02:00
Andras Bacsai
239ecd4056 fix dev only thingy 2025-10-05 11:39:22 +02:00
Andras Bacsai
06dfcff559 refactor(deployment): standardize environment variable handling in ApplicationDeploymentJob
- Replaced the use of a dynamic env_filename with a consistent .env file reference across deployment methods.
- Simplified the generation and saving of build-time and runtime environment variables, ensuring they are always written to the .env file.
- Enhanced clarity in the deployment process by removing redundant logic and ensuring environment variables are handled uniformly.
2025-10-04 19:19:15 +02:00
Andras Bacsai
4b947a0d64 refactor(deployment): enhance deployment data retrieval and relationships
- Updated the deployments method in DeploymentsIndicator to include application environment and project relationships for better data context.
- Refactored the application method in ApplicationDeploymentQueue to use Eloquent relationships instead of manual fetching, improving performance and readability.
- Enhanced the deployments indicator view to display application environment and project names, providing clearer deployment context.
2025-10-04 18:02:20 +02:00
Andras Bacsai
158747c8b1 refactor(deployment): streamline environment variable generation in ApplicationDeploymentJob
- Removed redundant logic for merging COOLIFY_* variables into env_args.
- Simplified the process of adding environment variables by directly incorporating generated COOLIFY environment variables.
- Enhanced clarity and maintainability of the generate_env_variables method.
2025-10-04 15:06:49 +02:00
Andras Bacsai
4cf600445a feat(service): add Elasticsearch password handling in extraFields method
- Implemented logic to retrieve and display the default user password for Elasticsearch in the extraFields method of the Service model.
- Enhanced data collection for environment variables related to Elasticsearch, improving service configuration management.
2025-10-03 20:05:43 +02:00
Andras Bacsai
b4cfb78f86 feat(storage): add read-only volume handling and UI notifications
- Introduced `isReadOnlyVolume` method in `LocalFileVolume` and `LocalPersistentVolume` models to determine if a volume is read-only based on Docker Compose configuration.
- Updated `FileStorage` and `Show` components to set `isReadOnly` state during mounting.
- Enhanced UI to display notifications for read-only volumes, preventing modification actions in the interface.
- Refactored file storage and directory management forms to conditionally enable or disable actions based on read-only status.
2025-10-03 20:05:43 +02:00
Andras Bacsai
9107fb2af5
Merge branch 'next' into allow-dep 2025-10-03 11:52:58 +02:00
Andras Bacsai
41a8ea870f feat(docker): refine Docker image processing in application creation
- Enhanced logic to process Docker image name and tag, including stripping 'sha256:' prefix and removing '@sha256' suffix.
- Implemented validation to check for valid SHA256 hashes and conditionally append '@sha256' to the image name.
- Defaulted the image tag to 'latest' if not provided, improving user experience and data integrity.
2025-10-03 11:49:20 +02:00
Andras Bacsai
7d99d6ad34 feat(docker): improve Docker image submission logic with enhanced parsing
- Added logic to strip 'sha256:' prefix and remove '@sha256' suffix from user input for image SHA256 and name.
- Updated image name handling to append '@sha256' when using a digest, ensuring correct formatting.
- Enhanced validation and parsing for Docker images to improve user experience and data integrity.
2025-10-03 11:42:29 +02:00
Andras Bacsai
590de8ce37 feat(docker): enhance Docker image handling with new validation and parsing logic
- Refactored DockerImage component to use separate properties for image name, tag, and SHA256 digest.
- Introduced DockerImageFormat validation rule to enforce correct image format.
- Updated DockerImageParser to handle new parsing logic for image tags and SHA256 hashes.
- Enhanced UI to separate input fields for image name, tag, and SHA256 digest, improving user experience.
- Added comprehensive tests for DockerImageParser to ensure accurate parsing and validation of image formats.
2025-10-03 11:31:00 +02:00
Andras Bacsai
0e02eff4a1
Merge branch 'v4.x' into allow-dep 2025-10-03 10:57:10 +02:00
Andras Bacsai
4b0f65c926 refactor(environment-variables): adjust ordering logic for environment variables
- Updated the ordering logic in the environment_variables methods for both Application and Service models to prioritize required variables over service-prefixed keys.
- This change enhances the clarity and organization of environment variable retrieval, ensuring that essential variables are listed first.
2025-10-03 10:28:29 +02:00
Andras Bacsai
f8e97501ce feat(deployments): generate SERVICE_NAME environment variables from Docker Compose services
- Added functionality to generate environment variables for each service defined in the Docker Compose file, transforming service names into uppercase and replacing special characters.
- Updated the service parser to merge these generated variables with existing environment variables, enhancing deployment configuration.
2025-10-03 09:41:59 +02:00
Andras Bacsai
2216832f67 fix(deployments): enhance builder container management and environment variable handling
- Added a new method to restart the builder container with the actual commit value, ensuring accurate deployment.
- Improved the generation of environment variables by consolidating user-defined and Coolify-specific variables.
- Updated Dockerfile modification logic to handle environment variables more effectively, including support for multiline variables.
- Enhanced logging for better visibility during deployment processes.
2025-10-03 09:20:05 +02:00
Andras Bacsai
d63802e03d feat(deployments): add log copying functionality to clipboard in dev 2025-10-02 18:34:39 +02:00
Andras Bacsai
aadde3a83e feat(deployments): enhance Docker build argument handling for multiline variables
- Introduced new helper functions to generate Docker build arguments and environment flags, accommodating multiline variables with proper escaping.
- Updated the ApplicationDeploymentJob to utilize these new functions, improving the handling of environment variables during deployment.
- Added comprehensive tests to ensure correct behavior for multiline variables and special characters.
2025-10-02 13:54:36 +02:00
Andras Bacsai
2f099613a0 feat(deployments): add support for Coolify variables in Dockerfile
- Introduced functionality to add Coolify variables as ARGs in the Dockerfile during the build process.
- Enhanced the existing method to handle both standard environment variables and Coolify-specific variables, improving deployment flexibility.
2025-10-01 20:29:38 +02:00
Andras Bacsai
464b76e597 fix(deployments): order deployments by ID for consistent retrieval
- Added ordering by ID to the deployments query to ensure consistent results.
- Removed unnecessary sorting after retrieval to streamline the data handling process.
2025-10-01 20:10:22 +02:00
Andras Bacsai
f0a532407b revert changes to v429 2025-10-01 19:57:54 +02:00
Andras Bacsai
ce5555ca9f feat(storage): consolidate storage management into a single component with enhanced UI
- Merged the storage management functionalities into the Storage component, replacing the previous Add component.
- Introduced new methods for submitting persistent volumes, file mounts, and directory mounts, improving code organization and maintainability.
- Enhanced the UI with modals for adding volumes, files, and directories, providing a more intuitive user experience.
- Updated validation rules and error handling for improved robustness during storage submissions.
- Removed deprecated Add component and associated views to streamline the codebase.
2025-10-01 18:46:21 +02:00
Andras Bacsai
bed7ad833e ui(core): update projects property type and enhance UI styling
- Changed the projects property in the Dashboard component from an array to a Collection for improved data handling.
- Added new color variables in CSS for better theming options.
- Updated button styles across various components for consistency and improved user experience.
- Refined dropdown and notification components for better visual alignment and usability.
2025-10-01 08:23:35 +02:00
Andras Bacsai
25a7be23a9 ui(storage): enhance file storage management with new properties and UI improvements
- Added properties to manage file and directory counts, improving data handling in the Livewire component.
- Updated the file storage view to include a tabbed interface for volumes, files, and directories, enhancing user navigation.
- Improved UI layout for better readability and user experience, including consistent styling and informative messages.
2025-10-01 08:23:21 +02:00
Andras Bacsai
890f076572 refactor(dashboard): replace project navigation method with direct link in UI
- Removed the navigateToProject method from the Livewire component.
- Updated the dashboard view to use anchor tags for project navigation, enhancing user experience and simplifying the code structure.
2025-09-30 15:13:14 +02:00
Andras Bacsai
a897e81566 feat(global-search): integrate projects and environments into global search functionality
- Added retrieval and mapping of projects and environments to the global search results.
- Enhanced search result structure to include resource counts and descriptions for projects and environments.
- Updated the UI to reflect the new search capabilities, improving user experience when searching for resources.
2025-09-30 13:37:03 +02:00
Andras Bacsai
1fe7df7e38 fix(git): trim whitespace from repository, branch, and commit SHA fields
- Add automatic trimming in Application model's boot method for git_repository, git_branch, and git_commit_sha fields
- Add real-time trimming in Source Livewire component via updated{Property} methods
- Refresh component state after save to ensure UI displays trimmed values
- Prevents deployment issues caused by accidental whitespace in git configuration
2025-09-30 12:33:40 +02:00
Andras Bacsai
9b4abe753d fix(git): enhance error handling for missing branch information during deployment 2025-09-30 12:23:04 +02:00
Andras Bacsai
8e7c869d23 fix(git): handle additional repository URL cases for 'tangled' and improve branch assignment logic 2025-09-30 12:22:57 +02:00
Andras Bacsai
a03c1b3b4b refactor(dashboard): remove deployment loading logic and introduce DeploymentsIndicator component for better UI management 2025-09-30 11:43:30 +02:00
Andras Bacsai
db2d44ca1f fix(api): correct OpenAPI schema annotations for array items
- Replace OA\Schema with OA\Items for array items in DatabasesController
- Replace OA\Items with OA\Schema for array type properties in GithubController
- Update generated OpenAPI documentation files (openapi.json and openapi.yaml)
2025-09-30 11:19:39 +02:00
Andras Bacsai
72f5ae0dc6 feat(user-deletion): implement file locking to prevent concurrent user deletions and enhance error handling 2025-09-29 14:03:49 +02:00
Andras Bacsai
75d282765b
Merge pull request #6724 from ShadowArcanist/shadow/add-dropdown-healthcheck-method
chore(ui): improve application healthcheck page
2025-09-29 12:36:23 +02:00
Andras Bacsai
502dd72a34 fix(validation): update git:// URL validation to support port numbers and tilde characters in paths 2025-09-29 12:21:15 +02:00
Andras Bacsai
a8bdc3bbfe fix(application): increase docker stop timeout from 10 to 30 seconds for better application shutdown handling 2025-09-29 12:16:13 +02:00
Andras Bacsai
c98266c09d refactor(application): improve handling of docker compose domains by normalizing keys and ensuring valid JSON structure 2025-09-29 12:14:26 +02:00
Andras Bacsai
249ab06295 refactor(deployment): remove commented-out code and streamline environment variable handling in ApplicationDeploymentJob 2025-09-29 12:05:51 +02:00
Andras Bacsai
ed7ecbb49d feat/fix(deployment): implement detection for Laravel/Symfony frameworks and configure NIXPACKS PHP environment variables accordingly 2025-09-29 12:05:14 +02:00
ShadowArcanist
dc2929e1f7 Added info toast to let the user know to restart the app after enabling healthcheck
It only let the user know to restart if healthcheck is enabling while the app is in running state
2025-09-29 10:37:27 +05:30
ShadowArcanist
48ccfa3124 Added confirmation modal for enabling healtcheck + replaced enable checkbox with a button 2025-09-29 10:07:47 +05:30
Andras Bacsai
cd2d4070d3 fix(application): reduce docker stop timeout from 30 to 10 seconds for improved application shutdown efficiency 2025-09-28 23:11:58 +02:00
Andras Bacsai
810ba3dd9e feat(validation): enhance ValidGitRepositoryUrl to support additional safe characters and add comprehensive unit tests for various Git repository URL formats 2025-09-28 22:18:21 +02:00
Andras Bacsai
d81ed86920 refactor(deployment): improve environment variable handling in ApplicationDeploymentJob 2025-09-26 15:17:42 +02:00
Andras Bacsai
a1f865c1fd feat(application): add normalizeWatchPaths method to improve watch path handling 2025-09-26 13:17:21 +02:00
Andras Bacsai
54f6813f29 feat(application): enhance watch path parsing to support negation syntax 2025-09-26 13:05:32 +02:00
Andras Bacsai
8b4aa7f31d chore(application): remove debugging statement from loadComposeFile method 2025-09-26 13:00:12 +02:00
Andras Bacsai
2a3a46c337 feat(application): add conditional .env file creation for Symfony apps during PHP deployment 2025-09-26 09:17:25 +02:00
Andras Bacsai
f0b231b5db fix(models): update sorting of scheduled database backups to order by creation date instead of name 2025-09-26 08:24:38 +02:00
Andras Bacsai
eac1a9f21b fix(github): update repository URL to point to the v4.x branch for development 2025-09-25 17:31:16 +02:00
Andras Bacsai
b83223ff6e
Merge branch 'next' into v4.x 2025-09-25 14:39:23 +02:00
Andras Bacsai
0691a1834a feat(application): implement order-based pattern matching for watch paths with negation support 2025-09-25 14:26:11 +02:00
Andras Bacsai
708a08fdd6 fix(application): enhance domain handling by replacing both dots and dashes with underscores for HTML form binding 2025-09-25 13:19:12 +02:00
Andras Bacsai
2eef83f072 fix(traits): update saved_outputs handling in ExecuteRemoteCommand to use collection methods for better performance 2025-09-25 13:19:05 +02:00
Andras Bacsai
6cd3bc0461 fix(security): implement authorization checks for terminal access management 2025-09-25 11:45:07 +02:00
Andras Bacsai
2b402c9ce9
Update app/Models/TeamInvitation.php
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-09-25 11:33:32 +02:00
Andras Bacsai
74169edb2b
Merge pull request #6673 from Zurki/v4.x
fix(ui): fix typo "instaled" to "installed
2025-09-25 09:51:43 +02:00
Andras Bacsai
1a2783ccc9
Merge pull request #6675 from ShadowArcanist/shadow/security-terminal-access
chore(ui): move terminal access settings to security page
2025-09-25 09:50:57 +02:00
Andras Bacsai
0e93d36311 fix(team): normalize email case in invite link generation 2025-09-25 09:32:39 +02:00
Andras Bacsai
3f71f7becf
Merge pull request #6628 from heavygee/fix/team-invitation-email-case-sensitivity
Fix team invitation email case sensitivity bug
2025-09-25 09:29:24 +02:00
Andras Bacsai
667c8e6432 fix(deployment-job): enhance build time variable analysis
- Introduced logic to filter user-defined build time variables from the database based on the pull request context.
- Improved handling of build time variables to ensure only relevant variables are analyzed, enhancing the deployment process.
2025-09-24 18:19:42 +02:00
Andras Bacsai
4ce495d91e
Update app/Livewire/Project/Application/PreviewsCompose.php
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-09-24 17:53:18 +02:00
Andras Bacsai
7b6b46454e
Merge pull request #6685 from michnhokn/fix/preview-url-ports
Fix preview url port
2025-09-24 17:35:25 +02:00
Andras Bacsai
e9324fd410 fix(deployment-job): escape single quotes in build arguments for Docker Compose command
- Added logic to escape single quotes in build arguments to ensure proper execution in bash -c context used by executeInDocker, preventing potential command errors.
2025-09-24 17:27:48 +02:00
Michael Engel
8ee4ddf489
fix(PreviewCompose): adds port to preview urls 2025-09-24 10:52:01 +02:00
Andras Bacsai
0b885d75e3 fix(subscription-job): enhance retry logic for VerifyStripeSubscriptionStatusJob
- Added retry configuration with a maximum of 3 attempts and backoff intervals of 10, 30, and 60 seconds to improve job resilience and handling of transient failures.
2025-09-23 18:17:52 +02:00
Andras Bacsai
37c6f36b3b feat(private-key-refresh): add refresh dispatch on private key update and connection check
- Implemented a dispatch for 'refreshServerShow' after successfully updating the private key and validating the server connection.
- This enhancement improves the user experience by ensuring the server display is updated immediately following key changes and connection checks.
2025-09-23 16:49:59 +02:00
Andras Bacsai
2fd5e04807 refactor(private-key-update): implement transaction for private key association and connection validation
- Refactored the private key update logic to use a database transaction for associating the private key with the server, ensuring atomicity.
- Improved error handling by refreshing the server state upon failure and validating the connection after updates.
- Enhanced success and error dispatching for better user feedback during the update process.
2025-09-23 15:44:09 +02:00
Andras Bacsai
82a8c42d9a fix(clears-global-search-cache): refine team retrieval logic in getTeamIdForCache method
- Updated the getTeamIdForCache method to differentiate team retrieval based on the instance type, ensuring correct access to the team property or method for Server models and other types.
2025-09-23 15:27:47 +02:00
Andras Bacsai
106682b5b8 refactor(cloud-commands): consolidate and enhance subscription management commands
- Deleted obsolete CloudCheckSubscription, CloudCleanupSubscriptions, and CloudDeleteUser commands to streamline the codebase.
- Introduced new CloudDeleteUser and CloudFixSubscription commands with improved functionality for user deletion and subscription management.
- Enhanced subscription handling with options for fixing canceled subscriptions and verifying active subscriptions against Stripe, improving overall command usability and control.
2025-09-23 14:56:58 +02:00
Andras Bacsai
be9aff3cdc refactor(database-backup): move unique UUID generation for backup execution to database loop
- Refactored the DatabaseBackupJob to generate a unique UUID for each database backup execution within the loop, improving clarity and ensuring uniqueness for each backup attempt.
- Removed redundant UUID generation logic from the initial part of the handle method.
2025-09-23 11:54:10 +02:00
Andras Bacsai
6dc5c53387 fix(environment-variables): correct method call syntax in analyzeBuildVariable function
- Updated the method call syntax in the analyzeBuildVariable function to use curly braces for dynamic method invocation, ensuring proper execution of the specified check function.
2025-09-23 11:40:56 +02:00
Andras Bacsai
e3a03eb647 fix(cache): add Model import to ClearsGlobalSearchCache trait for improved functionality 2025-09-23 11:38:55 +02:00
Andras Bacsai
7f30afb823 fix(databases): restrict database updates to allowed fields only
- Modified the update_by_uuid method to use only the specified allowed fields from the request for database updates, enhancing data integrity and security.
2025-09-23 11:38:08 +02:00
Andras Bacsai
9ecb1ca011 fix(github): update authentication method for GitHub app operations
- Changed security scheme from 'api_token' to 'bearerAuth' for the update and delete GitHub app endpoints.
- Ensured consistent authentication handling across GitHub app operations.
2025-09-23 11:37:56 +02:00
Andras Bacsai
e483e38f53 feat(stripe): enhance subscription handling and verification process
- Updated StripeProcessJob to include detailed handling of subscription statuses during invoice payment events.
- Introduced VerifyStripeSubscriptionStatusJob to manage subscription status verification and updates, improving error handling and notification for various subscription states.
- Enhanced logic to handle cases where subscription IDs are missing, ensuring robust subscription management.
2025-09-23 11:00:38 +02:00
Andras Bacsai
95453bfaaa feat(cloud-check): enhance CloudCheckSubscription command with fix options
- Added options to the CloudCheckSubscription command for fixing canceled subscriptions in the database.
- Implemented a dry-run mode to preview changes without applying them.
- Introduced a flag to limit checks/fixes to the first found subscription, improving command usability and control.
2025-09-23 11:00:24 +02:00
Andras Bacsai
c97874eb45 fix(team): clear stripe_subscription_id on subscription end
- Updated the subscriptionEnded method to set stripe_subscription_id to null when a subscription ends, ensuring proper handling of subscription state.
2025-09-23 11:00:10 +02:00
Andras Bacsai
88fa6a4a56 feat(cloud-check): enhance subscription reporting in CloudCheckSubscription command
- Added CSV output for active subscribers, including detailed information on subscription status and invoice status.
- Implemented checks for missing subscription IDs and provided appropriate logging in the CSV for visibility.
- Improved handling of non-active subscriptions with detailed output for better tracking and analysis.
2025-09-23 09:50:44 +02:00
Andras Bacsai
99b101507c feat(databases): implement unique UUID generation for backup execution
- Enhanced the DatabaseBackupJob to generate a unique UUID for each backup execution attempt.
- Added logic to retry UUID generation up to three times if a duplicate is detected, ensuring uniqueness and preventing execution conflicts.
2025-09-23 09:13:10 +02:00
Andras Bacsai
dc32bed1ae fix(environment-variables): update affected services in environment variable analysis
- Expanded the list of affected services in the EnvironmentVariableAnalyzer trait to include 'bun' and 'pnpm' alongside 'npm' and 'yarn'.
- Improved clarity on the impact of problematic environment variables during the build process.
2025-09-23 08:54:20 +02:00
Andras Bacsai
b1abdcee83 feat(environment-variables): implement environment variable analysis for build-time issues
- Added EnvironmentVariableAnalyzer trait to analyze and warn about problematic environment variables during the build process.
- Integrated analysis into ApplicationDeploymentJob and Livewire components to provide feedback on potential build issues.
- Introduced a new Blade component for displaying warnings related to environment variables in the UI.
2025-09-23 08:53:14 +02:00
Andras Bacsai
8d5f9ed0f6 refactor(cache): update team retrieval method in ClearsGlobalSearchCache trait 2025-09-23 08:49:28 +02:00
Andras Bacsai
69c36e6333 refactor(server): update dispatch messages and streamline data synchronization 2025-09-23 08:49:11 +02:00
Henk Hornschuh
056ee2c2ad
Merge branch 'next' into v4.x 2025-09-23 08:46:50 +02:00
ShadowArcanist
299db159cb Moved terminal access settings to security page 2025-09-23 06:32:51 +05:30
Henk Hornschuh
79b940422c fix(): fix typo of installed 2025-09-22 21:27:18 +02:00
Andras Bacsai
238957132c feat(databases): enhance backup update and deletion logic with validation
- Added authorization checks for updating and deleting backups in DatabasesController.
- Implemented validation for S3 storage UUID when saving backups, ensuring it belongs to the current team.
- Improved error handling during backup deletion with transaction management for better data integrity.
2025-09-22 19:43:15 +02:00
Andras Bacsai
33d25f418e refactor(databases): update backup queries to use team-specific method
- Modified backup retrieval logic in DatabasesController to utilize the new ownedByCurrentTeamAPI method for improved access control based on team ID.
- Enhanced code consistency and maintainability by centralizing team-based filtering in the ScheduledDatabaseBackup model.
2025-09-22 17:47:46 +02:00
Andras Bacsai
bb06a74fee refactor(databases): streamline backup queries to use team context
- Updated backup retrieval logic in DatabasesController to utilize the new ownedByCurrentTeam method for improved access control.
- Enhanced code readability and maintainability by centralizing team-based filtering in the ScheduledDatabaseBackup model.
2025-09-22 17:45:37 +02:00
Andras Bacsai
5c6ab50332 fix(databases): update backup retrieval logic to include team context
- Modified backup configuration queries in the DatabasesController to filter by team ID, ensuring proper access control.
- Enhanced S3 storage retrieval to use the current team context for better data integrity.
- Added a relationship method in ScheduledDatabaseBackup model to associate backups with teams.
2025-09-22 17:44:26 +02:00
Andras Bacsai
ed2ba832a8 refactor(databases): remove deprecated backup parameters from API documentation
- Removed obsolete backup-related parameters from the OpenAPI specification in the DatabasesController.
- Streamlined the API documentation to enhance clarity and focus on current functionality.
2025-09-22 17:41:20 +02:00
Andras Bacsai
36dfd1bc6e refactor(github): enhance API request handling and validation
- Updated validation rules for 'custom_user' and 'custom_port' fields to be nullable in the GithubController.
- Refactored API request handling in GithubController, GithubPrivateRepository, and helper functions to use a consistent Http::GitHub method with timeout and retry logic.
- Improved error handling for repository and branch loading processes.
2025-09-22 15:41:56 +02:00
Andras Bacsai
5e6946c33a feat(github): add update and delete endpoints for GitHub apps
- Implemented endpoints to update and delete GitHub apps in the GithubController.
- Added OpenAPI annotations for the new endpoints, including request and response specifications.
- Removed the 'is_public' field from the app creation and update processes, defaulting it to false.
- Enhanced validation for update requests to ensure proper data handling.
2025-09-22 15:28:18 +02:00
Andras Bacsai
9638012a4f feat(github): add GitHub app management endpoints
- Implemented a new GithubController with endpoints to create GitHub apps, load repositories, and fetch branches for a given repository.
- Added OpenAPI annotations for API documentation.
- Included validation for incoming requests and error handling for various scenarios.
2025-09-22 15:11:30 +02:00
Andras Bacsai
78ae42283c
Merge pull request #5697 from DanielHemmati/feat/manage-db-using-api
[Enhancement]: See and manage DB backups via API
2025-09-22 13:37:37 +02:00
Andras Bacsai
0539dedaa0 feat(databases): enhance backup management API with new endpoints and improved data handling
- Refactored backup configuration retrieval and update logic to use UUIDs instead of IDs.
- Added new endpoint to list backup executions for a specific backup configuration.
- Improved error handling and validation for backup operations.
- Updated API documentation to reflect changes in parameter names and descriptions.
2025-09-22 13:14:45 +02:00
Andras Bacsai
a463a562ec fix(domains): trim whitespace from domains before validation 2025-09-22 12:51:23 +02:00
Andras Bacsai
4fc62ea33f
Merge pull request #6496 from QarthO/fix/url-validation
fix(domains) url validation silently fails with surrounding whitespace
2025-09-22 12:49:43 +02:00
Andras Bacsai
94d22d8319
Merge branch 'next' into patch-1 2025-09-22 12:44:47 +02:00
Andras Bacsai
c69345c643
Merge pull request #6644 from APISentinel/fix/GHSA-927g-56xp-6427
fix: hide sensitive email change fields in team member responses (#GHSA-927g-56xp-6427)
2025-09-22 12:25:03 +02:00
Andras Bacsai
2abcfd2f1c
Merge branch 'next' into feat/manage-db-using-api 2025-09-22 10:18:43 +02:00
Andras Bacsai
7549b432ef
Merge branch 'next' into shadow/fix-typo-slash-proxy-page 2025-09-22 09:49:59 +02:00
Andras Bacsai
b1ad24eecf
Merge pull request #6657 from ShadowArcanist/shadow/metrics-visual-improvements
chore(ui): improve sentinel metrics
2025-09-22 09:46:26 +02:00
Andras Bacsai
4f71d14d39 feat(event): introduce ApplicationConfigurationChanged event to handle team-specific configuration updates and broadcast changes
feat(envs): Generate hash from secrets to invalidate docker layers
2025-09-22 09:44:30 +02:00
ShadowArcanist
eab9f91879 Fixed incorrect proxy config file path on ui 2025-09-21 20:20:32 +05:30
Ahmed A
671e72b466
Merge branch 'next' into v4.x 2025-09-20 13:50:03 +03:00
ShadowArcanist
ee9cf076c3 Removed debug logging for metrics 2025-09-19 23:28:25 +05:30
ShadowArcanist
0ef0247e14 Improved metrics graph tooltip to show usage in a better way and added timestamp to the tooltip 2025-09-19 22:40:08 +05:30
Andras Bacsai
3f48dcb575 feat(redaction): implement sensitive information redaction in logs and commands 2025-09-19 15:54:44 +02:00
Andras Bacsai
593c1b4767 fix(deployment): enhance Dockerfile modification for build-time variables and secrets during deployment in case of docker compose buildpack 2025-09-19 13:46:00 +02:00
Andras Bacsai
f223623603 refactor(search): optimize cache clearing logic to only trigger on searchable field changes 2025-09-19 10:22:31 +02:00
Andras Bacsai
575793709b feat(search): enable query logging for global search caching 2025-09-19 10:22:24 +02:00
Andras Bacsai
d8d316b5f8 feat(search): implement global search functionality with caching and modal interface 2025-09-19 10:17:55 +02:00
Andras Bacsai
9ad5b8c37f feat(deployment): handle buildtime and runtime variables during deployment 2025-09-18 18:15:20 +02:00
Andras Bacsai
f33df13c4e feat(environment): replace is_buildtime_only with is_runtime and is_buildtime flags for environment variables, updating related logic and views 2025-09-18 18:14:54 +02:00
Andras Bacsai
f515870f36 fix(docker): enhance container status aggregation to include restarting and exited states 2025-09-18 18:12:52 +02:00
Ahmed A
59f3220d26
Merge branch 'next' into v4.x 2025-09-18 16:01:15 +03:00
Andras Bacsai
074c70c8ab fix(clone): update destinations method call to ensure correct retrieval of selected destination 2025-09-18 13:44:56 +02:00
Andras Bacsai
b34dc11d8e fix(deployment): prevent removal of running containers for pull request deployments in case of failure 2025-09-18 11:30:49 +02:00
Andras Bacsai
1f4255ef41 refactor(deployment): rename method for modifying Dockerfile to improve clarity and streamline build secrets integration 2025-09-17 18:46:10 +02:00
Yihang Wang
844a67a006
fix: hide sensitive email change fields in team member responses 2025-09-18 00:40:09 +08:00
Andras Bacsai
d7a7bac3f1 refactor(deployment): optimize BuildKit capabilities detection and remove unnecessary comments for cleaner deployment logic 2025-09-17 15:18:26 +02:00
Andras Bacsai
c1bee32f09 feat(deployment): introduce 'use_build_secrets' setting for enhanced security during Docker builds and update related logic in deployment process 2025-09-17 10:34:38 +02:00
Andras Bacsai
87967b8734 refactor(deployment): streamline Docker BuildKit detection and environment variable handling for enhanced security during application deployment 2025-09-17 10:08:29 +02:00
Andras Bacsai
f5e17337f4
Update app/Jobs/ApplicationDeploymentJob.php
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-09-16 18:26:12 +02:00
Andras Bacsai
f084ded6e9 refactor(deployment): remove redundant environment variable documentation from Dockerfile comments to streamline the deployment process 2025-09-16 18:25:29 +02:00
Andras Bacsai
6314fef8df
Update app/Jobs/ApplicationDeploymentJob.php
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-09-16 18:25:07 +02:00
Andras Bacsai
8542d33a2d refactor(deployment): conditionally cleanup build secrets based on Docker BuildKit support and remove redundant calls for improved efficiency 2025-09-16 18:20:56 +02:00
Andras Bacsai
c182cac032
Update app/Jobs/ApplicationDeploymentJob.php
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-09-16 18:20:36 +02:00
Andras Bacsai
efbbe76310 feat(deployment): add support for Docker BuildKit and build secrets to enhance security and flexibility during application deployment
refactor(static-buildpack): seperate static buildpack for readability
2025-09-16 17:16:01 +02:00
GitHub Actions
c1c149968e Fix team invitation email case sensitivity bug
- Add email normalization to TeamInvitation model using setEmailAttribute()
- Add HasFactory trait to Team model for testing support
- Create TeamFactory for testing
- Add tests to verify email normalization works correctly
- Fixes issue where mixed case emails in invitations would cause lookup failures
- Resolves #6291

The bug occurred because:
1. User model normalizes emails to lowercase
2. TeamInvitation model did not normalize emails
3. When invitation was created with mixed case, it was stored as-is
4. User lookup failed due to case mismatch during invitation acceptance
5. This caused users to not be able to see teams they were invited to

This fix ensures both models normalize emails consistently.
2025-09-16 15:31:48 +01:00
Andras Bacsai
9e8fb36bc8 feat(deployment): implement cancellation checks during deployment process to enhance user control and prevent unnecessary execution 2025-09-16 13:40:51 +02:00
Ahmed A
ea30c4798a
Merge branch 'next' into v4.x 2025-09-16 14:13:50 +03:00
Andras Bacsai
f9ed02a0b7 fix(server): implement refreshServer method and update navbar event listener for improved server state management 2025-09-16 10:33:32 +02:00
Andras Bacsai
9bd80e4c07 fix(server): add build server check to disable Sentinel and update related logic 2025-09-16 10:31:57 +02:00
Andras Bacsai
2ef139bc42 fix(server): update server usability check to reflect actual Docker availability status 2025-09-16 10:18:35 +02:00
Andras Bacsai
4f8dfa598e refactor(server): remove debugging ray call from validateConnection method for cleaner code 2025-09-16 09:43:51 +02:00
Andras Bacsai
7322072518 refactor(deployment): update environment file paths in docker compose commands to use working directory for improved consistency 2025-09-15 18:05:11 +02:00
Andras Bacsai
133e72336a Revert "refactor(file-transfer): replace base64 encoding with direct file transfer method in various components for improved clarity and efficiency"
This reverts commit feacedbb04.
2025-09-15 17:56:48 +02:00
Andras Bacsai
393745b68c Revert "refactor(file-transfer): replace base64 encoding with direct file transfer method across multiple database actions for improved clarity and efficiency"
This reverts commit 18068857b1.
2025-09-15 17:55:08 +02:00
Andras Bacsai
54a55be8e5 refactor(deployment): streamline environment variable handling for dockercompose and improve sorting of runtime variables 2025-09-15 15:39:07 +02:00
Andras Bacsai
7eb0c5a757 fix(application): improve watch paths handling by trimming and filtering empty paths to prevent unnecessary triggers 2025-09-15 13:59:14 +02:00
Andras Bacsai
a1eaa046c9 feat(auth): enhance user login flow to handle team invitations, attaching users to invited teams upon first login and maintaining personal team logic for regular logins 2025-09-15 12:12:14 +02:00
Andras Bacsai
97428a4a80 feat(executions): add 'Load All' button to view all logs and implement loadAllLogs method for complete log retrieval 2025-09-15 11:05:29 +02:00
Andras Bacsai
4027c1426c feat(sentinel): add support for custom Docker images in StartSentinel and related methods 2025-09-14 19:21:55 +02:00
Andras Bacsai
08d257535a fix(docker): enhance container status aggregation for multi-container applications, including exclusion handling based on docker-compose configuration 2025-09-13 20:32:15 +02:00
Andras Bacsai
b6ff5f89b9 refactor(stripe-jobs): comment out internal notification calls and add subscription status verification before sending failure notifications 2025-09-13 19:35:32 +02:00
Andras Bacsai
a6a4fd39bb chore(cleanup): remove deprecated ServerCheck and related job classes to streamline codebase 2025-09-13 18:35:39 +02:00
Ahmed A
4d52a26ac6 fix rebase 2025-09-13 17:04:22 +03:00
Ahmed A
5eacb01beb Merge branch 'v4.x' of https://github.com/ahmadw13/coolify into v4.x 2025-09-13 17:01:39 +03:00
Ahmed A
b3d8b99959 Adding support for using config values for process 2025-09-13 17:00:17 +03:00
Andras Bacsai
a2a2bfa6c9 feat(user-management): implement user deletion command with phased resource and subscription cancellation, including dry run option 2025-09-13 15:08:30 +02:00
Andras Bacsai
8e155f25b3 refactor(environment): streamline environment variable handling by replacing sorting methods with direct property access and enhancing query ordering for improved performance 2025-09-12 12:09:03 +02:00
Andras Bacsai
a0b08fae5d fix(feedback): update feedback email address to improve communication with users 2025-09-11 20:23:07 +02:00
Andras Bacsai
20ad2165e7 feat(environment): introduce 'is_buildtime_only' attribute to environment variables for improved build-time configuration 2025-09-11 17:38:16 +02:00
Andras Bacsai
5b3b4bbc43 refactor(environment): remove 'is_build_time' attribute from environment variable handling across the application to simplify configuration 2025-09-11 16:51:56 +02:00
Andras Bacsai
60374c214e refactor(deployment): update environment file handling in Docker commands to use '/artifacts/' path and streamline variable management 2025-09-11 16:22:03 +02:00
Andras Bacsai
ab0786f5a0 feat(environment): add 'is_literal' attribute to environment variable for enhanced configuration options 2025-09-11 15:25:44 +02:00
Andras Bacsai
501e6a2650 refactor(environment): standardize service name formatting by replacing '-' and '.' with '_' in environment variable keys 2025-09-11 13:59:02 +02:00
Andras Bacsai
13af4811f5 feat(storages): add method to retrieve the first storage ID for improved stability in storage display 2025-09-11 13:41:22 +02:00
Andras Bacsai
5e0b86f322
Merge pull request #6170 from mindedtech/Add-SERVICE_NAME-variable-for-docker-compose-services
Add SERVICE_NAME variable for docker compose services
2025-09-11 13:06:10 +02:00
Andras Bacsai
b46429e879 refactor(deployment): add environment variable copying logic to Docker build commands for pull requests 2025-09-11 13:01:45 +02:00
Andras Bacsai
0db2835565 fix(application): add functionality to stop and remove Docker containers on server 2025-09-11 12:39:28 +02:00
Andras Bacsai
c8f49f29c0 refactor(application): enhance environment variable retrieval in configuration change check for improved accuracy 2025-09-11 12:29:57 +02:00
Andras Bacsai
e74da06465 refactor(clone): consolidate application cloning logic into a dedicated function for improved maintainability and readability 2025-09-11 10:38:08 +02:00
peaklabs-dev
3e9dd6a7bf
chore: remove webhooks table cleanup 2025-09-10 19:56:15 +02:00
Andras Bacsai
d9ebf3b142 refactor(webhook): remove Webhook model and related logic; add migrations to drop webhooks and kubernetes tables 2025-09-10 19:35:53 +02:00
Andras Bacsai
f64622c764 refactor(models): remove 'is_readonly' attribute from multiple database models for consistency 2025-09-10 19:34:49 +02:00
Andras Bacsai
49a2942836 fix(deployment): add COOLIFY_* environment variables to Nixpacks build context for enhanced deployment configuration 2025-09-10 16:15:08 +02:00
Andras Bacsai
2c8f5415f1 feat(database-backup): enhance error handling and output management in DatabaseBackupJob 2025-09-10 16:13:08 +02:00
Andras Bacsai
1c08d32b85 refactor(database): remove volume_configuration_dir and streamline configuration directory usage in MongoDB and PostgreSQL handlers 2025-09-10 16:12:53 +02:00
Andras Bacsai
48d3b3d263 refactor(deployment): add validation for pull request existence in deployment process to enhance error handling 2025-09-10 14:31:29 +02:00
Andras Bacsai
d10e4fa388 refactor(deployment): streamline next deployment queuing logic by repositioning queue_next_deployment call 2025-09-10 13:26:35 +02:00
Andras Bacsai
52312e9de6 refactor(github-webhook): restructure application processing by grouping applications by server for improved deployment handling 2025-09-10 09:30:43 +02:00
Andras Bacsai
40f2471c5a feat(ssh-multiplexing): add connection age metadata handling to improve multiplexed connection management 2025-09-10 08:38:36 +02:00
Andras Bacsai
b433f17dac feat(ssh-multiplexing): enhance multiplexed connection management with health checks and metadata caching 2025-09-10 08:19:38 +02:00
Andras Bacsai
cead87d650 refactor(private-key): remove debugging statement from storeInFileSystem method for cleaner code 2025-09-10 08:19:25 +02:00
Andras Bacsai
a60d6dadc7 fix(private-key): implement transaction handling and error verification for private key storage operations 2025-09-09 16:46:38 +02:00
Andras Bacsai
a06c79776e feat(dev-command): dispatch CheckHelperImageJob during instance initialization to enhance setup process 2025-09-09 16:46:24 +02:00
Ahmed A
c2d6cd1445 spacing fix 2025-09-09 17:28:58 +03:00
Ahmed A
a4e13f56c0 Adding support for using config values for process 2025-09-09 17:25:55 +03:00