Commit graph

1176 commits

Author SHA1 Message Date
broesch
c2ff9eae0d
fix(git): submodule update command uses an unsupported option (#6454) 2025-08-27 16:51:08 +02:00
Andras Bacsai
63fcc0ebc3 feat(acl): Change views/backend code to able to use proper ACL's later on. Currently it is not enabled. 2025-08-26 10:27:38 +02:00
Andras Bacsai
8408205955 feat(validation): add custom validation rules for Git repository URLs and branches
- Introduced `ValidGitRepositoryUrl` and `ValidGitBranch` validation rules to ensure safe and valid input for Git repository URLs and branch names.
- Updated relevant Livewire components and API controllers to utilize the new validation rules, enhancing security against command injection and invalid inputs.
- Refactored existing validation logic to improve consistency and maintainability across the application.
2025-08-22 14:38:21 +02:00
Andras Bacsai
a6fc39e798 feat(git-settings): add support for shallow cloning in application settings
- Introduced a new boolean setting `is_git_shallow_clone_enabled` to the application settings model.
- Updated the `Advanced` component to include a checkbox for enabling shallow cloning.
- Modified the `setGitImportSettings` and `generateGitImportCommands` methods to handle shallow clone logic.
- Created a migration to add the new setting to the database schema.
- Enhanced the deployment process to utilize shallow cloning for improved performance.
2025-08-21 10:16:57 +02:00
Andras Bacsai
38c0641734 feat(validation): centralize validation patterns for names and descriptions
- Introduced `ValidationPatterns` class to standardize validation rules and messages for name and description fields across the application.
- Updated various components and models to utilize the new validation patterns, ensuring consistent sanitization and validation logic.
- Replaced the `HasSafeNameAttribute` trait with `HasSafeStringAttribute` to enhance attribute handling and maintain consistency in name sanitization.
- Enhanced the `CleanupNames` command to align with the new validation rules, allowing for a broader range of valid characters in names.
2025-08-19 12:14:48 +02:00
Andras Bacsai
e958b3761d feat(cleanup): add command for sanitizing name fields across models
- Introduced `CleanupNames` command to sanitize name fields by removing invalid characters, ensuring only letters, numbers, spaces, dashes, underscores, and dots are retained.
- Implemented options for dry run, model-specific cleaning, database backup, and forced execution.
- Updated `Init` command to call the new `cleanup:names` command.
- Enhanced project and environment validation to enforce name sanitization rules.
- Added `HasSafeNameAttribute` trait to relevant models for consistent name handling.
2025-08-19 11:04:23 +02:00
Pritam Yadav
f01341bfbf
fix(ui): handle null values in postgres metrics (#6388) 2025-08-18 17:39:30 +02:00
Andras Bacsai
ee502b9f76 feat(email): implement email change request and verification process
- Added functionality for users to request an email change, including generating a verification code and setting an expiration time.
- Implemented methods in the User model to handle email change requests, code validation, and confirmation.
- Created a new job to update the user's email in Stripe after confirmation.
- Introduced rate limiting for email change requests and verification attempts to prevent abuse.
- Added a new notification for email change verification.
- Updated the profile component to manage email change requests and verification UI.
2025-08-18 14:54:08 +02:00
Andras Bacsai
73cdbd501c fix(ApplicationPreview): change null check to empty check for fqdn in generate_preview_fqdn method 2025-08-17 15:34:36 +02:00
Andras Bacsai
c9ddda8ed2 feat(drizzle-gateway): enhance service configuration by adding Master Password field and updating compose file path 2025-08-12 10:07:11 +02:00
Andras Bacsai
a2ef545b6b feat(changelog): implement automated changelog fetching from GitHub and enhance changelog read tracking 2025-08-12 10:07:11 +02:00
Andras Bacsai
0e7cc988a6 feat(user): add changelog read tracking and unread count method 2025-08-12 10:06:19 +02:00
Andras Bacsai
e8892b3d29 feat(core): finally fqdn is fqdn and url is url. haha 2025-08-12 10:06:19 +02:00
Andras Bacsai
a0bc4dac55 fix(application): streamline environment variable updates for Docker Compose services and enhance FQDN generation logic 2025-08-12 10:06:19 +02:00
Andras Bacsai
13f10028db feat(previews): implement soft delete and cleanup for ApplicationPreview, enhancing resource management in DeleteResourceJob 2025-07-14 21:17:40 +02:00
Andras Bacsai
5bdf2e8481 refactor(previews): move preview domain generation logic to ApplicationPreview model for better encapsulation and consistency across webhook handlers 2025-07-14 19:12:57 +02:00
Andras Bacsai
a9e542bc4b fix(previews): enhance domain generation logic for application previews, ensuring unique domains are created when none are set 2025-07-14 15:42:01 +02:00
Andras Bacsai
e5a0cdf3b7 fix(previews): order application previews by pull request ID in descending order 2025-07-14 15:22:02 +02:00
Andras Bacsai
0b84792871 feat(deployment): add pull request filtering and pagination to deployment and backup execution components
fix(ui): make them more stylish yeah
2025-07-13 12:36:53 +02:00
Andras Bacsai
95da765a9e fix(deployment): improve docker-compose domain handling and environment variable generation 2025-07-07 16:07:08 +02:00
Andras Bacsai
085529dc63 fix(deployment): enhance COOLIFY_URL and COOLIFY_FQDN variable generation for better compatibility 2025-07-07 12:55:35 +02:00
Andras Bacsai
6a90bdf9fa fix(env): Generate literal env variables better 2025-07-07 12:30:44 +02:00
Andras Bacsai
0f876db6c8 fix(server): prepend 'mux_' to UUID in muxFilename method for consistent naming 2025-06-28 13:56:57 +02:00
Andras Bacsai
24b6b32025 fix(models): improve user deletion logic in User model to handle team member roles and prevent deletion if user is alone in root team 2025-06-26 09:10:48 +02:00
Andras Bacsai
be73d5cd76 fix(models): refine comment wording in User model for clarity on user deletion criteria 2025-06-26 09:07:55 +02:00
Andras Bacsai
e746e212cb refactor(user): streamline user deletion process and enhance team management logic 2025-06-25 12:14:35 +02:00
Andras Bacsai
8fc79022f3 feat(service): enhance service status handling and UI updates 2025-06-24 12:52:22 +02:00
Yassir Elmarissi
a77bd88258
feat(auth): Add Clerk OAuth Provider (#5553) 2025-06-18 14:29:46 +02:00
Andras Bacsai
ddcb14500d refactor(proxy-status): refactored how the proxy status is handled on the UI and on the backend
feat(cloudflare): improved cloudflare tunnel automated installation
2025-06-06 14:47:54 +02:00
Andras Bacsai
200b5cd4fb refactor(service-management): enhance container stopping logic by implementing parallel processing and removing deprecated methods 2025-05-30 12:56:22 +02:00
Andras Bacsai
c8bc80f448 refactor(environment-variables): simplify application build pack check in environment variable handling 2025-05-30 09:11:54 +02:00
Andras Bacsai
46b4cfac68 feat(terminal-access): implement terminal access control for servers and containers, including UI updates and backend logic 2025-05-29 14:09:05 +02:00
Andras Bacsai
2361c34a53 refactor(error-handling): replace generic Exception with RuntimeException for improved error specificity 2025-05-29 10:49:55 +02:00
Andras Bacsai
102bdb5bc3 refactor(application): enhance application stopping logic to support multiple servers 2025-05-26 21:44:34 +02:00
Andras Bacsai
6ea6d2742b feat(server): implement server patch check notifications
- Added a new job, ServerPatchCheckJob, to handle server patch checks and notifications.
- Introduced a new notification class, ServerPatchCheck, for sending updates via email, Discord, Slack, Pushover, and Telegram.
- Updated notification settings models to include server patch notification options for email, Discord, Slack, Pushover, and Telegram.
- Created a migration to add server patch notification fields to the respective settings tables.
- Enhanced the UI to allow users to enable/disable server patch notifications across different channels.
2025-05-26 14:03:59 +02:00
Arnaud Dezandee
587a927b8b
feat(oauth): set redirect uri as optional and add default value (#5760) 2025-05-20 14:35:39 +02:00
Andras Bacsai
d298de7a4d refactor(StandaloneMariadb): add type hint for destination method to improve code clarity 2025-04-30 21:15:03 +02:00
Andras Bacsai
019ed43448 refactor(actions): standardize method naming for network and configuration deletion across application and service classes 2025-04-30 18:30:43 +02:00
Andras Bacsai
fe24296de7 feat(backup): implement custom database type selection and enhance scheduled backups management 2025-04-30 16:44:44 +02:00
Andras Bacsai
e062edb689 refactor(core): streamline container stopping process and reduce timeout duration; update related methods for consistency 2025-04-30 15:28:59 +02:00
Andras Bacsai
4e82383b94 fix(Server): Correct proxy path formatting for Traefik proxy type 2025-04-29 10:53:39 +02:00
Andras Bacsai
09b10073b8 chore(versions): update coolify version to 4.0.0-beta.412 and nightly version to 4.0.0-beta.413 in configuration files 2025-04-23 14:17:13 +02:00
Andras Bacsai
5b9df7fd45 refactor(server): simplify proxy path logic and remove unnecessary conditions 2025-04-23 13:23:27 +02:00
Andras Bacsai
78ef80f800 refactor 2025-04-23 13:22:01 +02:00
Andras Bacsai
0dceb40a6e feat(api): add HTTP Basic Authentication fields to OpenAPI specifications and enhance PrivateKey model descriptions 2025-04-23 11:59:01 +02:00
Andras Bacsai
9e608f7ba5 refactor(http-basic-auth): rename 'http_basic_auth_enable' to 'http_basic_auth_enabled' across application files for consistency 2025-04-22 21:30:27 +02:00
Andras Bacsai
7e0373e439
Merge branch 'next' into feat/add-http-basic-auth 2025-04-22 21:18:43 +02:00
Andras Bacsai
6d12e7edc7 refactor(database): simplify database type checks in ServiceDatabase and enhance image validation in Docker helper 2025-04-21 09:57:27 +02:00
Andras Bacsai
c388e30499 refactor(jobs): comment out unused Caddy label handling in ApplicationDeploymentJob and simplify proxy path logic in Server model 2025-04-20 17:58:41 +02:00
Christopher Kaster
2634f516d5
feat: Add HTTP Basic Authentication 2025-04-17 14:14:32 +02:00
Andras Bacsai
89bf1b30cb fix(application): append base directory to git branch URLs for improved path handling 2025-04-16 15:09:45 +02:00
Andras Bacsai
32326bb7dd feat(subscription): enhance subscription management with loading states and Stripe status checks 2025-04-14 10:31:13 +02:00
Andras Bacsai
8b3c4d7ad9 refactor(Server): remove debug logging from isReachableChanged method to clean up code and improve performance 2025-04-14 10:30:53 +02:00
Laurence
44e96e032f
enhance: Add missing openapi items to PrivateKey 2025-04-11 20:37:54 +01:00
Andras Bacsai
46fe0fd7c6 refactor(ApplicationDeploymentJob, ApplicationDeploymentQueue): improve deployment status handling and log entry management with transaction support 2025-04-11 19:32:41 +02:00
Andras Bacsai
68bd945b09 refactor(Application): rename network_aliases to custom_network_aliases across the application for clarity and consistency 2025-04-09 08:42:50 +02:00
Andras Bacsai
fcf597fb16 feat(Application): add networkAliases attribute for handling network aliases as JSON or comma-separated values 2025-04-09 08:33:42 +02:00
Andras Bacsai
f8607ddf6a
Merge branch 'next' into docker-network-aliases 2025-04-08 13:27:59 +02:00
Andras Bacsai
1b8db2726a refactor(Server): use data_get for safer access to settings properties in isFunctional method 2025-04-05 12:35:36 +02:00
Andras Bacsai
18c4729c09
Merge pull request #5482 from djsisson/fix_custome_healthcheck
removed start interval as it is not a valid option and is not defined…
2025-03-31 15:29:34 +02:00
Andras Bacsai
d6d1c9ad82 feat(database): add CA certificate generation for database servers 2025-03-31 14:02:15 +02:00
Darren Sisson
887a96dd35 removed start interval as it is not a valid option and is not defined in coolify 2025-03-31 10:44:29 +01:00
Andras Bacsai
b376d6df2a reverting: encrypting mount and fs_path 2025-03-29 22:16:12 +01:00
Andras Bacsai
c2941abe57 fix(file-storage): double save on compose volumes 2025-03-28 22:10:33 +01:00
Andras Bacsai
d6d16f3844
Merge pull request #5433 from coollabsio/debug-emails
Emails
2025-03-26 17:27:34 +01:00
Andras Bacsai
5693b59874 refactor(database): update MongoDB SSL configuration for improved security 2025-03-26 12:25:58 +01:00
Andras Bacsai
63c496feee refactor(models): remove unnecessary cloud check in isEnabled method 2025-03-26 09:44:11 +01:00
Andras Bacsai
be95695ee8 refactor(models): add is_directory attribute to LocalFileVolume model 2025-03-25 09:40:36 +01:00
Andras Bacsai
e891318396 refactor(configuration): centralize configuration management in ConfigurationRepository 2025-03-24 21:01:27 +01:00
Andras Bacsai
e7f32a1c44 refactor(notifications): standardize getRecipients method signatures 2025-03-24 17:55:10 +01:00
Andras Bacsai
806d892031 refactor(application): streamline healthcheck parsing from Dockerfile 2025-03-24 11:43:10 +01:00
Andras Bacsai
d7d80e926e feat(user): implement session deletion on password reset 2025-03-21 15:45:29 +01:00
Andras Bacsai
26f4d37346 feat(notifications): add discord ping functionality and settings 2025-03-21 12:16:33 +01:00
Andras Bacsai
2ec3af8d2c
Merge branch 'next' into feat/api-services-create-custom-compose 2025-03-21 11:33:06 +01:00
Andras Bacsai
120facfca3 feat(api): unify service creation endpoint and enhance validation 2025-03-21 11:31:17 +01:00
Benjamin Grant
37c2a2b6ad
fix: correct some spellings 2025-03-19 19:49:59 +00:00
Andras Bacsai
ca5371a7d4
Merge pull request #5340 from DekraIT/main
fix(issue#4746): Do not use setGitImportSettings inside of generateGitLsRemoteCommands
2025-03-18 10:50:16 +01:00
Andras Bacsai
009cee1bbd
Merge branch 'next' into feat-db-ssl 2025-03-17 15:15:24 +01:00
Piotr Wójcik
0baeaa982b
Merge branch 'next' into docker-network-aliases 2025-03-16 14:50:26 +01:00
Andras Bacsai
282bb5c4cd fix(redis): set default redis_username for new instances
Added functionality to automatically assign a default 'redis_username' of 'default' when a StandaloneRedis instance is retrieved without an existing username. This ensures that all instances have a valid username, improving consistency and reducing potential errors in subsequent operations. Additionally, updated the redisUsername method to create a runtime environment variable for 'REDIS_USERNAME' with a default value if it does not already exist, enhancing the robustness of the configuration management.
2025-03-14 16:11:31 +01:00
Andras Bacsai
595370df92 feat(LocalFileVolume): add binary file detection and update UI logic
Implemented a new attribute to detect binary files in the LocalFileVolume model, enhancing the file handling capabilities. The isBinary method checks for binary content based on specific criteria, allowing for better management of file types. Additionally, updated the file storage UI to conditionally display conversion options based on the binary status of the file, improving user experience and preventing unintended actions on binary files. These changes contribute to a more robust and user-friendly file management system.
2025-03-14 14:55:38 +01:00
DekraIt
08f0661757 fix(issue#4746): Do not use setGitImportSettings inside of generateGitLsRemoteCommands 2025-03-14 05:14:18 +01:00
Andras Bacsai
c3d77e31b2 fix(database): Improve database type detection for Supabase Postgres images 2025-03-10 15:47:59 +01:00
Andras Bacsai
07cbec7ddc feat(billing): Add Stripe past due subscription status tracking 2025-03-01 12:43:12 +01:00
Andras Bacsai
2f826c56e8 fix(core): Adding a new server should not try to make the default docker network 2025-02-28 11:23:08 +01:00
Andras Bacsai
27e4882d57 feat(core): You can validate compose files with docker compose config
fix(core): labels are now accepted with both compose styles
refactor: remove lots of ray's
2025-02-27 11:29:04 +01:00
peaklabs-dev
225f24e650
chore: improve code quality suggested by code rabbit 2025-02-19 18:04:58 +01:00
🏔️ Peak
9557957f18
Merge branch 'next' into feat-db-ssl 2025-02-19 17:57:59 +01:00
Andras Bacsai
65b925252c feat(core): prevent using servers with existing resources as build servers 2025-02-18 16:44:16 +01:00
Andras Bacsai
b53e289bcd fix(core): improve connection testing with dynamic disk configuration for s3 backups 2025-02-13 10:07:58 +01:00
Andras Bacsai
be1742a85c fix(s3-storage): optimize team admin notification query 2025-02-13 09:55:24 +01:00
🏔️ Peak
43adb74755
Merge branch 'next' into feat-db-ssl 2025-02-11 17:41:45 +01:00
🏔️ Peak
e73c9b5f98
fix: system-wide GitHub apps (#5114)
- fix(ui): system-wide GitHub Apps are not shown in the create a new Application dialog
- fix: query logic error that shows all system-wide apps, regardless of whether they are public or private.
- fix: clicking on a system-wide GitHub app from a team other than the one that created it resulted in a 404 error.
2025-02-11 17:07:57 +01:00
peaklabs-dev
3e95387e10
Full: SSL Support for KeyDB 2025-02-10 21:29:45 +01:00
peaklabs-dev
90e681e24b
feat: Full SSL support for DrangonflyDB 2025-02-10 21:29:20 +01:00
peaklabs-dev
5c12f7273e
feat: New mode implementation for MongoDB 2025-02-10 15:18:29 +01:00
peaklabs-dev
484fc5140b
fix(ssl): rename Redis mode to verify-ca as it is not verify-full 2025-02-08 16:43:15 +01:00
peaklabs-dev
7b30b1aff1
feat(ssl): Full SSL support for Redis 2025-02-07 22:36:36 +01:00
peaklabs-dev
5b347f3d0f
fix(ssl): remove mode selection for MariaDB as it is not supported 2025-02-07 21:07:40 +01:00
peaklabs-dev
cd63760770
fix(ssl): when regenerating SSL certs the cert is not singed with the new CN 2025-02-07 19:36:52 +01:00