diff --git a/README.md b/README.md index 748676fa2..05f2e2b3c 100644 --- a/README.md +++ b/README.md @@ -35,28 +35,31 @@ # Donations Special thanks to our biggest sponsors! -cccareers logo -hetzner logo -logto logo -bc direct logo -quantcdn logo -arcjet logo -supaguide logo -tigris logo -fractal logo -advin logo -trieve logo -blacksmith logo -latitude logo -branddev logo -jobscollider logo -hostinger logo -glueops logo -ubicloud logo -juxtdigital logo -saasykit logo -massivegrid logo +### Special Sponsors +![image](https://github.com/user-attachments/assets/c95a07df-7c5a-4e77-a35a-81f25fcbece1) + +* [CCCareers](https://cccareers.org/) - A career development platform for coding bootcamp graduates. +* [Hetzner](http://htznr.li/CoolifyXHetzner) - A German web hosting company offering dedicated servers and cloud services. +* [Logto](https://logto.io/?ref=coolify) - An open-source authentication and authorization platform. +* [BC Direct](https://bc.direct/?ref=coolify.io) - A digital marketing agency specializing in e-commerce solutions. +* [QuantCDN](https://www.quantcdn.io/?ref=coolify.io) - A content delivery network (CDN) for fast content delivery. +* [Arcjet](https://arcjet.com/?ref=coolify.io) - A cloud-based platform for data analytics and visualization. +* [SupaGuide](https://supa.guide/?ref=coolify.io) - A platform offering guides and resources for web development and design. +* [Tigris](https://tigrisdata.com/?ref=coolify.io) - A data integration platform for connecting and managing data sources. +* [Fractal Networks](https://fractalnetworks.co/?ref=coolify.io) - A decentralized network infrastructure for secure data exchange. +* [Advin](https://coolify.ad.vin/?ref=coolify.io) - A digital advertising agency specializing in programmatic advertising. +* [Treive](https://trieve.ai/?ref=coolify.io) - An AI-powered data analytics platform for business insights. +* [Blacksmith](https://blacksmith.sh/?ref=coolify.io) - A cloud-based platform for automating DevOps and infrastructure management. +* [Latitude](https://latitude.sh/?ref=coolify.io) - A platform offering location-based services and geospatial data. +* [Brand Dev](https://brand.dev/?ref=coolify.io) - A web development agency specializing in brand identity and digital presence. +* [Jobscollider](https://jobscollider.com/remote-jobs?ref=coolify.io) - A job search platform specializing in remote and flexible work opportunities. +* [Hostinger](https://hostinger.com?ref=coolify.io) - A web hosting company offering shared, VPS, and cloud hosting services. +* [Glueops](https://www.glueops.dev/?ref=coolify.io) - A DevOps and cloud consulting company offering infrastructure automation services. +* [Ubicloud](https://ubicloud.com/?ref=coolify.io) - A cloud-based platform for IoT device management and data analytics. +* [Juxtdigital](https://juxtdigital.dev/?ref=coolify.io) - A digital agency offering web development, design, and marketing services. +* [Saasykit](https://saasykit.com/?ref=coolify.io) - SaaSykit is a Laravel-based boilerplate with everything you need to build an awesome SaaS. +* [Massivegrid](https://massivegrid.com/?ref=coolify.io) - A cloud-based platform for data storage and processing. ## Github Sponsors ($40+) diff --git a/bootstrap/helpers/shared.php b/bootstrap/helpers/shared.php index 7ef02fff9..b21ceac31 100644 --- a/bootstrap/helpers/shared.php +++ b/bootstrap/helpers/shared.php @@ -3206,6 +3206,7 @@ function newParser(Application|Service $resource, int $pull_request_id = 0, ?int } } // convert environment variables to one format + ray($environment); $environment = convertComposeEnvironmentToArray($environment); // Add Coolify defined environments @@ -3639,37 +3640,22 @@ function add_coolify_default_environment_variables(StandaloneRedis|StandalonePos $where_to_add->push("COOLIFY_PROJECT_NAME={$resource->project()->name}"); } } - ray($where_to_add); } function convertComposeEnvironmentToArray($environment) { $convertedServiceVariables = collect([]); - foreach ($environment as $variableName => $variableValue) { - if (is_array($variableValue)) { - $key = str(collect($variableValue)->keys()->first()); - $value = str(collect($variableValue)->values()->first()); - } elseif (is_string($variableValue)) { - if (str($variableValue)->contains('=')) { - $key = str($variableValue)->before('='); - $value = str($variableValue)->after('='); - } else { - if (is_numeric($variableName)) { - $key = str($variableValue); - $value = null; - } else { - $key = str($variableName); - if ($variableValue) { - $value = str($variableValue); - } else { - $value = null; - } - } + if (isAssociativeArray($environment)) { + $convertedServiceVariables = $environment; + } else { + foreach ($environment as $value) { + $parts = explode('=', $value, 2); + $key = $parts[0]; + $realValue = $parts[1] ?? ''; + if ($key) { + $convertedServiceVariables->put($key, $realValue); } } - if ($key) { - $convertedServiceVariables->put($key->value(), $value?->value() ?? null); - } } return $convertedServiceVariables; diff --git a/config/sentry.php b/config/sentry.php index a1505137e..28fabe940 100644 --- a/config/sentry.php +++ b/config/sentry.php @@ -7,7 +7,7 @@ // The release version of your application // Example with dynamic git hash: trim(exec('git --git-dir ' . base_path('.git') . ' log --pretty="%h" -n1 HEAD')) - 'release' => '4.0.0-beta.327', + 'release' => '4.0.0-beta.328', // When left empty or `null` the Laravel environment will be used 'environment' => config('app.env'), diff --git a/config/version.php b/config/version.php index cb9bd0622..f9078cf09 100644 --- a/config/version.php +++ b/config/version.php @@ -1,3 +1,3 @@