Commit graph

483 commits

Author SHA1 Message Date
Andras Bacsai
a7671ed379 refactor(dns-validation): rename DNS validation functions for consistency and clarity, and remove unused code 2025-09-09 09:00:35 +02:00
Arnaud B
e23ab1e621
feat(deployment): add SERVICE_NAME variables for service discovery
This change introduces automatically generated `SERVICE_NAME_<SERVICE>`
environment variables for each service within a Docker Compose deployment.
This allows services to reliably reference each other by name, which is particularly
useful in pull request environments where container names are dynamically suffixed.

- The application parser now generates and injects these `SERVICE_NAME` variables
   into the environment of all services in the compose file.
- `ApplicationDeploymentJob` is updated to correctly handle and filter these
  new variables during deployment.
- UI components and the `EnvironmentVariableProtection` trait have been updated
to make these generated variables read-only, preventing accidental modification.

This commit introduces two new helper functions to standardize resource naming
for pull request deployments:

-  `addPreviewDeploymentSuffix()`: Generates a consistent suffix format (-pr-{id})
   for resource names in preview deployments
-  `generateDockerComposeServiceName()`: Creates SERVICE_NAME environment variables
   for Docker Compose services
2025-09-08 15:22:44 +02:00
Andras Bacsai
852b2688d9 refactor(error-handling): remove ray debugging statements from CheckUpdates and shared helper functions to clean up error reporting 2025-09-08 14:03:27 +02:00
Andras Bacsai
75b61a6b00 feat(domains): add force_domain_override option and enhance domain conflict detection responses 2025-08-28 11:21:30 +02:00
Andras Bacsai
e0aa28ba31 refactor(domains): rename check_domain_usage to checkDomainUsage and update references across the application 2025-08-28 10:00:19 +02:00
Andras Bacsai
21fc1ba254 fix(docker): update parser version in FQDN generation for service-specific URLs 2025-08-27 17:02:38 +02:00
Andras Bacsai
74ebaef17b feat(api): enhance IP access control in middleware and settings; support CIDR notation and special case for 0.0.0.0 to allow all IPs 2025-08-26 10:27:38 +02:00
Andras Bacsai
1675c85d4d refactor(shared helpers): remove unused parseServiceVolumes function to clean up codebase 2025-08-17 18:09:59 +02:00
Andras Bacsai
9b98891269
Merge branch 'next' into fix-volume-variable-with-default 2025-08-17 18:03:38 +02:00
Andras Bacsai
42bdc2a5fd refactor(docker compose): remove deprecated newParser function and associated test file to streamline codebase 2025-08-17 18:03:00 +02:00
Andras Bacsai
39f25573bf refactor(templates): update service template file handling to use dynamic file name from constants 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
Trung-DV
4f77bd4347 Fix volume target, use the last part
Signed-off-by: Trung-DV <TrungDV.PMB@gmail.com>
2025-08-06 10:21:54 +07:00
jvdboog
7a110880c1 feat: Improve detection of special network modes 2025-07-20 22:15:42 +02:00
Andras Bacsai
9651e3a7ec revert(parser): enhance FQDN generation logic for services and applications 2025-07-18 23:10:08 +02:00
Andras Bacsai
9ed77e5eef fix(services): update environment variable naming convention to use underscores instead of dashes for SERVICE_FQDN and SERVICE_URL 2025-07-18 20:48:56 +02:00
Andras Bacsai
94f9c54256 fix(deployment): refactor domain parsing and environment variable generation using Spatie URL library 2025-07-08 10:42:34 +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
f732220b8f refactor(shared): improve error handling in getTopLevelNetworks function to return network name on invalid docker-compose.yml 2025-07-07 10:20:54 +02:00
Andras Bacsai
2f68f965a7 refactor(shared): enhance FQDN generation logic for services in newParser function 2025-07-03 21:29:57 +02:00
Andras Bacsai
485e45bbb8 fix(shared): refactor gzip handling for Pocketbase in newParser function for improved clarity 2025-06-26 21:59:53 +02:00
Andras Bacsai
34135f2b4a fix(parser): enable gzip compression conditionally for Pocketbase images and streamline service creation logic 2025-06-25 13:12:11 +02:00
Andras Bacsai
e42c5baedd fix(parser): improve FQDN generation and update environment variable handling 2025-06-24 13:28:52 +02:00
Andras Bacsai
842f22340e refactor(database-detection): enhance isDatabaseImage function to utilize service configuration for improved detection accuracy 2025-06-04 11:44:37 +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
2189c44ba5 fix(shared): remove unused relation from queryDatabaseByUuidWithinTeam function 2025-05-20 15:08:20 +02:00
Andras Bacsai
24b7b53973 Revert "fix(dev): mount points?!"
This reverts commit 365bf3cbf0.
2025-05-05 08:55:44 +02:00
Andras Bacsai
365bf3cbf0 fix(dev): mount points?! 2025-05-03 09:59:42 +02:00
Andras Bacsai
d8c3418e72 feat(Service): Add functionality to convert between applications and databases in docker-compose based applications
fix(ui): Fix service layout refresh on compose change
2025-04-29 14:27:17 +02:00
Andras Bacsai
02b6aaaaf0 refactor(shared): remove unused ray debugging statement from newParser function 2025-04-21 09:58:56 +02:00
Andras Bacsai
618e546966 feat(core): Enable magic env variables for compose based applications 2025-04-16 15:26:40 +02:00
Andras Bacsai
3894023a2e fix(parser): transform associative array labels into key=value format for better compatibility 2025-04-15 18:41:21 +02:00
elmariss
11c1babc85 fix check if image changed 2025-04-10 01:06:01 +02:00
Andras Bacsai
b366b45914
Merge branch 'next' into fix_service_app_log_drain 2025-03-31 17:45:06 +02:00
Andras Bacsai
fcfd00eebe feat(application): add SPA configuration and update Nginx generation logic 2025-03-31 15:10:50 +02:00
Leonid Zharikov
c4ef08d419 fix(parser): Add logging support for applications in services 2025-03-29 23:52:12 +00: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
f060b7d3d2 refactor(shared): enhance job status check to include 'reserved' 2025-03-28 15:42:25 +01:00
Andras Bacsai
735fcaad33 refactor(shared): add logging for running deployment jobs 2025-03-28 15:30:21 +01:00
Andras Bacsai
2a08f4d653 refactor(shared): simplify deployment status check logic 2025-03-28 15:09:38 +01:00
Andras Bacsai
806d892031 refactor(application): streamline healthcheck parsing from Dockerfile 2025-03-24 11:43:10 +01:00
Andras Bacsai
2c845461c9 refactor(nginx): streamline default Nginx configuration and improve error handling
Updated the default Nginx configuration function to enhance clarity and maintainability. Removed unnecessary redirection logic and added explicit handling for 404 errors, ensuring a more robust error management strategy. This refactor simplifies the configuration while maintaining essential functionality, contributing to a cleaner and more efficient setup.
2025-03-13 20:30:22 +01:00
Andras Bacsai
f1b98f5ce9 fix(helpers): Initialize command variable in parseCommandFromMagicEnvVariable 2025-02-28 20:28:35 +01:00
Andras Bacsai
a402c28606 fix(revert): label parsing 2025-02-28 20:25:19 +01:00
Andras Bacsai
1c21652d5d fix(core): Improve label generation and merging for applications and services 2025-02-28 12:44:20 +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
Andras Bacsai
8033a89dee fix(ui): simplify service templates loading logic 2025-02-04 13:30:27 +01:00
Andras Bacsai
55fb4e5d20
Merge pull request #4945 from nktnet1/feat-env-coolify-resource-uuid
feat(env): added COOLIFY_RESOURCE_UUID environment variable
2025-01-28 13:46:17 +01:00
Khiet Tam Nguyen
a55d1996d7
feat(env): added COOLIFY_RESOURCE_UUID environment variable 2025-01-24 22:04:34 +11:00
Khiet Tam Nguyen
c4bf91e5b4
fix: remove quotes in COOLIFY_CONTAINER_NAME 2025-01-23 13:08:31 +11:00
Andras Bacsai
085103708c fix(core): v1 parser versions trying to access application_id, while it is resourceable_id
fix(db): remove wrongly created, empty environmentvariables
2025-01-22 10:21:51 +01:00
Andras Bacsai
8c937156c5 fix(core): compose parsing for apps 2025-01-21 20:00:05 +01:00
Andras Bacsai
8350c3e039 fix: correct service update logic in Docker Compose parser 2025-01-20 13:59:02 +01:00
Andras Bacsai
a396d51452
Merge branch 'next' into hotfix 2025-01-10 20:23:29 +01:00
Andras Bacsai
3a3219394d refactor: enhance ApplicationDeploymentJob and HorizonServiceProvider for improved job handling
- Removed the private property for application deployment queue ID in ApplicationDeploymentJob and utilized constructor property promotion.
- Added a tags method in ApplicationDeploymentJob to properly identify the worker running the job.
- Updated HorizonServiceProvider to handle cases where the deployment queue ID is blank, preventing potential errors during job processing.
- Cleaned up the isAnyDeploymentInprogress function by removing unnecessary whitespace.
2025-01-10 20:07:01 +01:00
Andras Bacsai
7582d7dd8b refactor: streamline job status retrieval and clean up repository interface
- Simplified the job status retrieval process by consolidating logic into a single `getJobStatus` function.
- Removed redundant checks and methods from the `CustomJobRepositoryInterface` and `CustomJobRepository`.
- Updated the `getHorizonJobStatus` method in `ApplicationDeploymentQueue` to directly utilize the new `getJobStatus` function.
- Enhanced the `isThereAJobInProgress` method to improve clarity and maintainability.
2025-01-10 19:53:13 +01:00
Andras Bacsai
db079c0c7d refactor: improve deployment status check in isAnyDeploymentInprogress function
- Updated the isAnyDeploymentInprogress function to check for running jobs based on the current hostname.
- Enhanced the logic to return true if any job status is 'unknown' and to provide a clearer output regarding the number of deployments in progress.
- Modified the cloud_upgrade.sh script to loop until the deployment status check confirms no ongoing deployments before proceeding with the upgrade.
2025-01-10 18:34:16 +01:00
Andras Bacsai
02400added fix: horizon job checker 2025-01-10 18:27:48 +01:00
Andras Bacsai
340075a684
Merge pull request #4324 from JuliensForks/main
feat: add some new labels to every container
2024-12-18 12:55:33 +01:00
Andras Bacsai
2a9d499251 feat: migrate env variables to polymorphic relationship
fix: proxy status query ui
2024-12-17 10:38:42 +01:00
Andras Bacsai
76b44e2e6a feat: add new password magic env with symbols 2024-12-12 11:06:00 +01:00
peaklabs-dev
d289f41ff6
chore: remove functions from shared.php
- Removed all notification functions from shared.php to make it easier to maintain and test.
2024-12-09 15:38:21 +01:00
Marvin von Rappard
f7eccefda3
Merge branch 'next' into main 2024-12-06 06:29:35 +01:00
Andras Bacsai
74311f4feb Refactor string concatenation and update function signatures for improved readability and null handling in shared helper functions 2024-12-03 15:39:24 +01:00
Andras Bacsai
319c3023dc fix 2024-12-02 22:50:03 +01:00
Andras Bacsai
58988d3686 fix: a few inputs 2024-12-02 22:50:03 +01:00
Julien
1086aea54d feat: add coolify.environment label 2024-12-02 18:38:47 +01:00
Marvin von Rappard
02a20729c7
Merge branch 'next' into main 2024-11-27 11:09:45 +01:00
Andras Bacsai
7f0094ed55 feat: add hex magic env var 2024-11-26 13:01:42 +01:00
Marvin von Rappard
1aea60f1f0
Merge branch 'next' into main 2024-11-25 09:06:24 +01:00
Julien
8b30123add feat: add service/resource/project labels 2024-11-17 23:06:05 +01:00
Andras Bacsai
09ec4fdb6d fix: SPA static site default nginx conf 2024-11-15 12:17:26 +01:00
Marvin von Rappard
7bdac8b42f
Merge branch 'next' into main 2024-11-14 12:54:04 +01:00
Andras Bacsai
c9f7863fff
Merge pull request #4238 from peaklabs-dev/dep-and-remove-unused-stuff
Chore: Remove unused stuff, update dependecies
2024-11-14 12:31:09 +01:00
Andras Bacsai
b0b81e4416 fix: timezone settings validation 2024-11-14 10:02:37 +01:00
peaklabs-dev
85c2345bea
fix coolify always in cloud mode 2024-11-13 18:41:23 +01:00
Marvin von Rappard
eb0686fe20 feat: slack notifications 2024-11-12 22:37:55 +01:00
peaklabs-dev
1ffa88acf0
use config instead of env() 2024-11-12 15:53:05 +01:00
peaklabs-dev
1c5ddab30d
use one constants file 2024-11-12 15:18:48 +01:00
Andras Bacsai
327b4308d4 fix: add tests for git url converts 2024-11-12 11:32:18 +01:00
Andras Bacsai
dbe6d8ef20 fix nginx conf 2024-11-11 14:45:34 +01:00
Andras Bacsai
b379e50d90 feat: custom nginx configuration for static deployments + fix 404 redirects in nginx conf 2024-11-11 14:37:36 +01:00
Andras Bacsai
c8a3519796 fix: showBoarding 2024-11-05 11:53:11 +01:00
Andras Bacsai
7fb1a1fc75 fix: use Auth(), add new db proxy stop event refactor clickhouse view 2024-11-04 14:18:16 +01:00
Lucas Michot
1ec224fde1 Inline many variables. 2024-10-31 18:20:11 +01:00
Lucas Michot
8e1444eaa7 Get rid of many useless blank lines 2024-10-31 17:44:01 +01:00
Lucas Michot
702ee5cd70 Prefer Carbon methods when possible. 2024-10-31 16:47:08 +01:00
Lucas Michot
b1d04912a0 Remove all useless catch block useless variables. 2024-10-31 15:19:37 +01:00
Andras Bacsai
96ca72fcdb refactor server view (phuuu) 2024-10-30 20:03:30 +01:00
Lucas Michot
c5403b0b3f Always prefer ::class notation 2024-10-28 14:56:13 +01:00
Andras Bacsai
394dfe9e64 Refactor code to remove unused import and update loggy() function signature 2024-10-25 17:49:16 +02:00
Andras Bacsai
29ad965656 Refactor code to use loggy() function for server storage check logging 2024-10-25 17:46:39 +02:00
Andras Bacsai
8c96ab52d7 feat: notification rate limiter
fix: limit server up / down notification limits
2024-10-25 15:13:23 +02:00
Andras Bacsai
2263734129 save sentinel form update 2024-10-25 11:42:37 +02:00
Andras Bacsai
2877080a39 Refactor variable and function names for consistency 2024-10-25 10:59:12 +02:00
Andras Bacsai
b1d2914c08 Refactor function and configuration names for experimental features 2024-10-24 22:00:26 +02:00