Merge pull request #4271 from peaklabs-dev/new-dockerfiles
Feat: New Upgraded Dockerfiles
This commit is contained in:
@@ -47,7 +47,7 @@ jobs:
|
|||||||
uses: docker/build-push-action@v6
|
uses: docker/build-push-action@v6
|
||||||
with:
|
with:
|
||||||
context: .
|
context: .
|
||||||
file: docker/prod/Dockerfile
|
file: docker/production/Dockerfile
|
||||||
platforms: linux/amd64
|
platforms: linux/amd64
|
||||||
push: true
|
push: true
|
||||||
tags: |
|
tags: |
|
||||||
@@ -82,7 +82,7 @@ jobs:
|
|||||||
uses: docker/build-push-action@v6
|
uses: docker/build-push-action@v6
|
||||||
with:
|
with:
|
||||||
context: .
|
context: .
|
||||||
file: docker/prod/Dockerfile
|
file: docker/production/Dockerfile
|
||||||
platforms: linux/aarch64
|
platforms: linux/aarch64
|
||||||
push: true
|
push: true
|
||||||
tags: |
|
tags: |
|
||||||
|
4
.github/workflows/coolify-staging-build.yml
vendored
4
.github/workflows/coolify-staging-build.yml
vendored
@@ -42,7 +42,7 @@ jobs:
|
|||||||
uses: docker/build-push-action@v6
|
uses: docker/build-push-action@v6
|
||||||
with:
|
with:
|
||||||
context: .
|
context: .
|
||||||
file: docker/prod/Dockerfile
|
file: docker/production/Dockerfile
|
||||||
platforms: linux/amd64
|
platforms: linux/amd64
|
||||||
push: true
|
push: true
|
||||||
tags: |
|
tags: |
|
||||||
@@ -75,7 +75,7 @@ jobs:
|
|||||||
uses: docker/build-push-action@v6
|
uses: docker/build-push-action@v6
|
||||||
with:
|
with:
|
||||||
context: .
|
context: .
|
||||||
file: docker/prod/Dockerfile
|
file: docker/production/Dockerfile
|
||||||
platforms: linux/aarch64
|
platforms: linux/aarch64
|
||||||
push: true
|
push: true
|
||||||
tags: |
|
tags: |
|
||||||
|
@@ -13,7 +13,7 @@ class Horizon extends Command
|
|||||||
public function handle()
|
public function handle()
|
||||||
{
|
{
|
||||||
if (config('constants.horizon.is_horizon_enabled')) {
|
if (config('constants.horizon.is_horizon_enabled')) {
|
||||||
$this->info('[x]: Horizon is enabled. Starting.');
|
$this->info('Horizon is enabled on this server.');
|
||||||
$this->call('horizon');
|
$this->call('horizon');
|
||||||
exit(0);
|
exit(0);
|
||||||
} else {
|
} else {
|
||||||
|
@@ -55,10 +55,8 @@ class Init extends Command
|
|||||||
} else {
|
} else {
|
||||||
$this->cleanup_in_progress_application_deployments();
|
$this->cleanup_in_progress_application_deployments();
|
||||||
}
|
}
|
||||||
echo "[3]: Cleanup Redis keys.\n";
|
|
||||||
$this->call('cleanup:redis');
|
$this->call('cleanup:redis');
|
||||||
|
|
||||||
echo "[4]: Cleanup stucked resources.\n";
|
|
||||||
$this->call('cleanup:stucked-resources');
|
$this->call('cleanup:stucked-resources');
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@@ -114,7 +112,6 @@ class Init extends Command
|
|||||||
|
|
||||||
private function optimize()
|
private function optimize()
|
||||||
{
|
{
|
||||||
echo "[1]: Optimizing Laravel (caching config, routes, views).\n";
|
|
||||||
Artisan::call('optimize:clear');
|
Artisan::call('optimize:clear');
|
||||||
Artisan::call('optimize');
|
Artisan::call('optimize');
|
||||||
}
|
}
|
||||||
@@ -189,7 +186,6 @@ class Init extends Command
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($commands->isNotEmpty()) {
|
if ($commands->isNotEmpty()) {
|
||||||
echo "Cleaning up unused networks from coolify proxy\n";
|
|
||||||
remote_process(command: $commands, type: ActivityTypes::INLINE->value, server: $server, ignore_errors: false);
|
remote_process(command: $commands, type: ActivityTypes::INLINE->value, server: $server, ignore_errors: false);
|
||||||
}
|
}
|
||||||
} catch (\Throwable $e) {
|
} catch (\Throwable $e) {
|
||||||
@@ -232,15 +228,14 @@ class Init extends Command
|
|||||||
$settings = instanceSettings();
|
$settings = instanceSettings();
|
||||||
$do_not_track = data_get($settings, 'do_not_track');
|
$do_not_track = data_get($settings, 'do_not_track');
|
||||||
if ($do_not_track == true) {
|
if ($do_not_track == true) {
|
||||||
echo "[2]: Skipping sending live signal as do_not_track is enabled\n";
|
echo "Do_not_track is enabled\n";
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
Http::get("https://undead.coolify.io/v4/alive?appId=$id&version=$version");
|
Http::get("https://undead.coolify.io/v4/alive?appId=$id&version=$version");
|
||||||
echo "[2]: Sending live signal!\n";
|
|
||||||
} catch (\Throwable $e) {
|
} catch (\Throwable $e) {
|
||||||
echo "[2]: Error in sending live signal: {$e->getMessage()}\n";
|
echo "Error in sending live signal: {$e->getMessage()}\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -253,7 +248,6 @@ class Init extends Command
|
|||||||
}
|
}
|
||||||
$queued_inprogress_deployments = ApplicationDeploymentQueue::whereIn('status', [ApplicationDeploymentStatus::IN_PROGRESS->value, ApplicationDeploymentStatus::QUEUED->value])->get();
|
$queued_inprogress_deployments = ApplicationDeploymentQueue::whereIn('status', [ApplicationDeploymentStatus::IN_PROGRESS->value, ApplicationDeploymentStatus::QUEUED->value])->get();
|
||||||
foreach ($queued_inprogress_deployments as $deployment) {
|
foreach ($queued_inprogress_deployments as $deployment) {
|
||||||
echo "Cleaning up deployment: {$deployment->id}\n";
|
|
||||||
$deployment->status = ApplicationDeploymentStatus::FAILED->value;
|
$deployment->status = ApplicationDeploymentStatus::FAILED->value;
|
||||||
$deployment->save();
|
$deployment->save();
|
||||||
}
|
}
|
||||||
|
@@ -13,7 +13,7 @@ class Scheduler extends Command
|
|||||||
public function handle()
|
public function handle()
|
||||||
{
|
{
|
||||||
if (config('constants.horizon.is_scheduler_enabled')) {
|
if (config('constants.horizon.is_scheduler_enabled')) {
|
||||||
$this->info('[x]: Scheduler is enabled. Starting.');
|
$this->info('Scheduler is enabled on this server.');
|
||||||
$this->call('schedule:work');
|
$this->call('schedule:work');
|
||||||
exit(0);
|
exit(0);
|
||||||
} else {
|
} else {
|
||||||
|
484
composer.lock
generated
484
composer.lock
generated
@@ -979,16 +979,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "aws/aws-sdk-php",
|
"name": "aws/aws-sdk-php",
|
||||||
"version": "3.327.1",
|
"version": "3.329.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/aws/aws-sdk-php.git",
|
"url": "https://github.com/aws/aws-sdk-php.git",
|
||||||
"reference": "3d52ec587989b136e486f94eff3dd316465aeb42"
|
"reference": "37249799204e04cf3686d2b361cfd417d3dab123"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/3d52ec587989b136e486f94eff3dd316465aeb42",
|
"url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/37249799204e04cf3686d2b361cfd417d3dab123",
|
||||||
"reference": "3d52ec587989b136e486f94eff3dd316465aeb42",
|
"reference": "37249799204e04cf3686d2b361cfd417d3dab123",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -1018,7 +1018,7 @@
|
|||||||
"paragonie/random_compat": ">= 2",
|
"paragonie/random_compat": ">= 2",
|
||||||
"phpunit/phpunit": "^5.6.3 || ^8.5 || ^9.5",
|
"phpunit/phpunit": "^5.6.3 || ^8.5 || ^9.5",
|
||||||
"psr/cache": "^1.0",
|
"psr/cache": "^1.0",
|
||||||
"psr/simple-cache": "^1.0",
|
"psr/simple-cache": "^1.0 || ^2.0 || ^3.0",
|
||||||
"sebastian/comparator": "^1.2.3 || ^4.0",
|
"sebastian/comparator": "^1.2.3 || ^4.0",
|
||||||
"yoast/phpunit-polyfills": "^1.0"
|
"yoast/phpunit-polyfills": "^1.0"
|
||||||
},
|
},
|
||||||
@@ -1071,9 +1071,9 @@
|
|||||||
"support": {
|
"support": {
|
||||||
"forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80",
|
"forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80",
|
||||||
"issues": "https://github.com/aws/aws-sdk-php/issues",
|
"issues": "https://github.com/aws/aws-sdk-php/issues",
|
||||||
"source": "https://github.com/aws/aws-sdk-php/tree/3.327.1"
|
"source": "https://github.com/aws/aws-sdk-php/tree/3.329.0"
|
||||||
},
|
},
|
||||||
"time": "2024-11-15T01:53:30+00:00"
|
"time": "2024-11-21T19:16:09+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "bacon/bacon-qr-code",
|
"name": "bacon/bacon-qr-code",
|
||||||
@@ -2545,28 +2545,28 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "jean85/pretty-package-versions",
|
"name": "jean85/pretty-package-versions",
|
||||||
"version": "2.0.6",
|
"version": "2.1.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/Jean85/pretty-package-versions.git",
|
"url": "https://github.com/Jean85/pretty-package-versions.git",
|
||||||
"reference": "f9fdd29ad8e6d024f52678b570e5593759b550b4"
|
"reference": "3c4e5f62ba8d7de1734312e4fff32f67a8daaf10"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/Jean85/pretty-package-versions/zipball/f9fdd29ad8e6d024f52678b570e5593759b550b4",
|
"url": "https://api.github.com/repos/Jean85/pretty-package-versions/zipball/3c4e5f62ba8d7de1734312e4fff32f67a8daaf10",
|
||||||
"reference": "f9fdd29ad8e6d024f52678b570e5593759b550b4",
|
"reference": "3c4e5f62ba8d7de1734312e4fff32f67a8daaf10",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"composer-runtime-api": "^2.0.0",
|
"composer-runtime-api": "^2.1.0",
|
||||||
"php": "^7.1|^8.0"
|
"php": "^7.4|^8.0"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"friendsofphp/php-cs-fixer": "^3.2",
|
"friendsofphp/php-cs-fixer": "^3.2",
|
||||||
"jean85/composer-provided-replaced-stub-package": "^1.0",
|
"jean85/composer-provided-replaced-stub-package": "^1.0",
|
||||||
"phpstan/phpstan": "^1.4",
|
"phpstan/phpstan": "^1.4",
|
||||||
"phpunit/phpunit": "^7.5|^8.5|^9.4",
|
"phpunit/phpunit": "^7.5|^8.5|^9.6",
|
||||||
"vimeo/psalm": "^4.3"
|
"vimeo/psalm": "^4.3 || ^5.0"
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
@@ -2598,9 +2598,9 @@
|
|||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/Jean85/pretty-package-versions/issues",
|
"issues": "https://github.com/Jean85/pretty-package-versions/issues",
|
||||||
"source": "https://github.com/Jean85/pretty-package-versions/tree/2.0.6"
|
"source": "https://github.com/Jean85/pretty-package-versions/tree/2.1.0"
|
||||||
},
|
},
|
||||||
"time": "2024-03-08T09:58:59+00:00"
|
"time": "2024-11-18T16:19:46+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "kelunik/certificate",
|
"name": "kelunik/certificate",
|
||||||
@@ -2727,16 +2727,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "laravel/framework",
|
"name": "laravel/framework",
|
||||||
"version": "v11.31.0",
|
"version": "v11.33.2",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/laravel/framework.git",
|
"url": "https://github.com/laravel/framework.git",
|
||||||
"reference": "365090ed2c68244e3141cdb5e247cdf3dfba2c40"
|
"reference": "6b9832751cf8eed18b3c73df5071f78f0682aa5d"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/laravel/framework/zipball/365090ed2c68244e3141cdb5e247cdf3dfba2c40",
|
"url": "https://api.github.com/repos/laravel/framework/zipball/6b9832751cf8eed18b3c73df5071f78f0682aa5d",
|
||||||
"reference": "365090ed2c68244e3141cdb5e247cdf3dfba2c40",
|
"reference": "6b9832751cf8eed18b3c73df5071f78f0682aa5d",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -2756,7 +2756,7 @@
|
|||||||
"guzzlehttp/guzzle": "^7.8",
|
"guzzlehttp/guzzle": "^7.8",
|
||||||
"guzzlehttp/uri-template": "^1.0",
|
"guzzlehttp/uri-template": "^1.0",
|
||||||
"laravel/prompts": "^0.1.18|^0.2.0|^0.3.0",
|
"laravel/prompts": "^0.1.18|^0.2.0|^0.3.0",
|
||||||
"laravel/serializable-closure": "^1.3",
|
"laravel/serializable-closure": "^1.3|^2.0",
|
||||||
"league/commonmark": "^2.2.1",
|
"league/commonmark": "^2.2.1",
|
||||||
"league/flysystem": "^3.8.0",
|
"league/flysystem": "^3.8.0",
|
||||||
"monolog/monolog": "^3.0",
|
"monolog/monolog": "^3.0",
|
||||||
@@ -2839,9 +2839,9 @@
|
|||||||
"league/flysystem-path-prefixing": "^3.3",
|
"league/flysystem-path-prefixing": "^3.3",
|
||||||
"league/flysystem-read-only": "^3.3",
|
"league/flysystem-read-only": "^3.3",
|
||||||
"league/flysystem-sftp-v3": "^3.0",
|
"league/flysystem-sftp-v3": "^3.0",
|
||||||
"mockery/mockery": "^1.6",
|
"mockery/mockery": "^1.6.10",
|
||||||
"nyholm/psr7": "^1.2",
|
"nyholm/psr7": "^1.2",
|
||||||
"orchestra/testbench-core": "^9.5",
|
"orchestra/testbench-core": "^9.6",
|
||||||
"pda/pheanstalk": "^5.0",
|
"pda/pheanstalk": "^5.0",
|
||||||
"phpstan/phpstan": "^1.11.5",
|
"phpstan/phpstan": "^1.11.5",
|
||||||
"phpunit/phpunit": "^10.5|^11.0",
|
"phpunit/phpunit": "^10.5|^11.0",
|
||||||
@@ -2932,7 +2932,7 @@
|
|||||||
"issues": "https://github.com/laravel/framework/issues",
|
"issues": "https://github.com/laravel/framework/issues",
|
||||||
"source": "https://github.com/laravel/framework"
|
"source": "https://github.com/laravel/framework"
|
||||||
},
|
},
|
||||||
"time": "2024-11-12T15:36:15+00:00"
|
"time": "2024-11-19T22:47:13+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "laravel/horizon",
|
"name": "laravel/horizon",
|
||||||
@@ -3153,16 +3153,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "laravel/sanctum",
|
"name": "laravel/sanctum",
|
||||||
"version": "v4.0.3",
|
"version": "v4.0.4",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/laravel/sanctum.git",
|
"url": "https://github.com/laravel/sanctum.git",
|
||||||
"reference": "54aea9d13743ae8a6cdd3c28dbef128a17adecab"
|
"reference": "819782c75aaf2b08da1765503893bd2b8023d3b3"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/laravel/sanctum/zipball/54aea9d13743ae8a6cdd3c28dbef128a17adecab",
|
"url": "https://api.github.com/repos/laravel/sanctum/zipball/819782c75aaf2b08da1765503893bd2b8023d3b3",
|
||||||
"reference": "54aea9d13743ae8a6cdd3c28dbef128a17adecab",
|
"reference": "819782c75aaf2b08da1765503893bd2b8023d3b3",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -3213,36 +3213,36 @@
|
|||||||
"issues": "https://github.com/laravel/sanctum/issues",
|
"issues": "https://github.com/laravel/sanctum/issues",
|
||||||
"source": "https://github.com/laravel/sanctum"
|
"source": "https://github.com/laravel/sanctum"
|
||||||
},
|
},
|
||||||
"time": "2024-09-27T14:55:41+00:00"
|
"time": "2024-11-15T14:47:23+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "laravel/serializable-closure",
|
"name": "laravel/serializable-closure",
|
||||||
"version": "v1.3.6",
|
"version": "v2.0.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/laravel/serializable-closure.git",
|
"url": "https://github.com/laravel/serializable-closure.git",
|
||||||
"reference": "f865a58ea3a0107c336b7045104c75243fa59d96"
|
"reference": "0d8d3d8086984996df86596a86dea60398093a81"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/laravel/serializable-closure/zipball/f865a58ea3a0107c336b7045104c75243fa59d96",
|
"url": "https://api.github.com/repos/laravel/serializable-closure/zipball/0d8d3d8086984996df86596a86dea60398093a81",
|
||||||
"reference": "f865a58ea3a0107c336b7045104c75243fa59d96",
|
"reference": "0d8d3d8086984996df86596a86dea60398093a81",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": "^7.3|^8.0"
|
"php": "^8.1"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"illuminate/support": "^8.0|^9.0|^10.0|^11.0",
|
"illuminate/support": "^10.0|^11.0",
|
||||||
"nesbot/carbon": "^2.61|^3.0",
|
"nesbot/carbon": "^2.67|^3.0",
|
||||||
"pestphp/pest": "^1.21.3",
|
"pestphp/pest": "^2.36",
|
||||||
"phpstan/phpstan": "^1.8.2",
|
"phpstan/phpstan": "^2.0",
|
||||||
"symfony/var-dumper": "^5.4.11|^6.2.0|^7.0.0"
|
"symfony/var-dumper": "^6.2.0|^7.0.0"
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
"dev-master": "1.x-dev"
|
"dev-master": "2.x-dev"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@@ -3274,7 +3274,7 @@
|
|||||||
"issues": "https://github.com/laravel/serializable-closure/issues",
|
"issues": "https://github.com/laravel/serializable-closure/issues",
|
||||||
"source": "https://github.com/laravel/serializable-closure"
|
"source": "https://github.com/laravel/serializable-closure"
|
||||||
},
|
},
|
||||||
"time": "2024-11-11T17:06:04+00:00"
|
"time": "2024-11-19T01:38:44+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "laravel/socialite",
|
"name": "laravel/socialite",
|
||||||
@@ -5103,31 +5103,31 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "nunomaduro/termwind",
|
"name": "nunomaduro/termwind",
|
||||||
"version": "v2.2.0",
|
"version": "v2.3.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/nunomaduro/termwind.git",
|
"url": "https://github.com/nunomaduro/termwind.git",
|
||||||
"reference": "42c84e4e8090766bbd6445d06cd6e57650626ea3"
|
"reference": "52915afe6a1044e8b9cee1bcff836fb63acf9cda"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/nunomaduro/termwind/zipball/42c84e4e8090766bbd6445d06cd6e57650626ea3",
|
"url": "https://api.github.com/repos/nunomaduro/termwind/zipball/52915afe6a1044e8b9cee1bcff836fb63acf9cda",
|
||||||
"reference": "42c84e4e8090766bbd6445d06cd6e57650626ea3",
|
"reference": "52915afe6a1044e8b9cee1bcff836fb63acf9cda",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"ext-mbstring": "*",
|
"ext-mbstring": "*",
|
||||||
"php": "^8.2",
|
"php": "^8.2",
|
||||||
"symfony/console": "^7.1.5"
|
"symfony/console": "^7.1.8"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"illuminate/console": "^11.28.0",
|
"illuminate/console": "^11.33.2",
|
||||||
"laravel/pint": "^1.18.1",
|
"laravel/pint": "^1.18.2",
|
||||||
"mockery/mockery": "^1.6.12",
|
"mockery/mockery": "^1.6.12",
|
||||||
"pestphp/pest": "^2.36.0",
|
"pestphp/pest": "^2.36.0",
|
||||||
"phpstan/phpstan": "^1.12.6",
|
"phpstan/phpstan": "^1.12.11",
|
||||||
"phpstan/phpstan-strict-rules": "^1.6.1",
|
"phpstan/phpstan-strict-rules": "^1.6.1",
|
||||||
"symfony/var-dumper": "^7.1.5",
|
"symfony/var-dumper": "^7.1.8",
|
||||||
"thecodingmachine/phpstan-strict-rules": "^1.0.0"
|
"thecodingmachine/phpstan-strict-rules": "^1.0.0"
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
@@ -5170,7 +5170,7 @@
|
|||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/nunomaduro/termwind/issues",
|
"issues": "https://github.com/nunomaduro/termwind/issues",
|
||||||
"source": "https://github.com/nunomaduro/termwind/tree/v2.2.0"
|
"source": "https://github.com/nunomaduro/termwind/tree/v2.3.0"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -5186,7 +5186,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2024-10-15T16:15:16+00:00"
|
"time": "2024-11-21T10:39:51+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "nyholm/psr7",
|
"name": "nyholm/psr7",
|
||||||
@@ -5474,151 +5474,23 @@
|
|||||||
},
|
},
|
||||||
"time": "2024-09-04T12:51:01+00:00"
|
"time": "2024-09-04T12:51:01+00:00"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "php-di/invoker",
|
|
||||||
"version": "2.3.4",
|
|
||||||
"source": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/PHP-DI/Invoker.git",
|
|
||||||
"reference": "33234b32dafa8eb69202f950a1fc92055ed76a86"
|
|
||||||
},
|
|
||||||
"dist": {
|
|
||||||
"type": "zip",
|
|
||||||
"url": "https://api.github.com/repos/PHP-DI/Invoker/zipball/33234b32dafa8eb69202f950a1fc92055ed76a86",
|
|
||||||
"reference": "33234b32dafa8eb69202f950a1fc92055ed76a86",
|
|
||||||
"shasum": ""
|
|
||||||
},
|
|
||||||
"require": {
|
|
||||||
"php": ">=7.3",
|
|
||||||
"psr/container": "^1.0|^2.0"
|
|
||||||
},
|
|
||||||
"require-dev": {
|
|
||||||
"athletic/athletic": "~0.1.8",
|
|
||||||
"mnapoli/hard-mode": "~0.3.0",
|
|
||||||
"phpunit/phpunit": "^9.0"
|
|
||||||
},
|
|
||||||
"type": "library",
|
|
||||||
"autoload": {
|
|
||||||
"psr-4": {
|
|
||||||
"Invoker\\": "src/"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"notification-url": "https://packagist.org/downloads/",
|
|
||||||
"license": [
|
|
||||||
"MIT"
|
|
||||||
],
|
|
||||||
"description": "Generic and extensible callable invoker",
|
|
||||||
"homepage": "https://github.com/PHP-DI/Invoker",
|
|
||||||
"keywords": [
|
|
||||||
"callable",
|
|
||||||
"dependency",
|
|
||||||
"dependency-injection",
|
|
||||||
"injection",
|
|
||||||
"invoke",
|
|
||||||
"invoker"
|
|
||||||
],
|
|
||||||
"support": {
|
|
||||||
"issues": "https://github.com/PHP-DI/Invoker/issues",
|
|
||||||
"source": "https://github.com/PHP-DI/Invoker/tree/2.3.4"
|
|
||||||
},
|
|
||||||
"funding": [
|
|
||||||
{
|
|
||||||
"url": "https://github.com/mnapoli",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"time": "2023-09-08T09:24:21+00:00"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "php-di/php-di",
|
|
||||||
"version": "7.0.7",
|
|
||||||
"source": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/PHP-DI/PHP-DI.git",
|
|
||||||
"reference": "e87435e3c0e8f22977adc5af0d5cdcc467e15cf1"
|
|
||||||
},
|
|
||||||
"dist": {
|
|
||||||
"type": "zip",
|
|
||||||
"url": "https://api.github.com/repos/PHP-DI/PHP-DI/zipball/e87435e3c0e8f22977adc5af0d5cdcc467e15cf1",
|
|
||||||
"reference": "e87435e3c0e8f22977adc5af0d5cdcc467e15cf1",
|
|
||||||
"shasum": ""
|
|
||||||
},
|
|
||||||
"require": {
|
|
||||||
"laravel/serializable-closure": "^1.0",
|
|
||||||
"php": ">=8.0",
|
|
||||||
"php-di/invoker": "^2.0",
|
|
||||||
"psr/container": "^1.1 || ^2.0"
|
|
||||||
},
|
|
||||||
"provide": {
|
|
||||||
"psr/container-implementation": "^1.0"
|
|
||||||
},
|
|
||||||
"require-dev": {
|
|
||||||
"friendsofphp/php-cs-fixer": "^3",
|
|
||||||
"friendsofphp/proxy-manager-lts": "^1",
|
|
||||||
"mnapoli/phpunit-easymock": "^1.3",
|
|
||||||
"phpunit/phpunit": "^9.5",
|
|
||||||
"vimeo/psalm": "^4.6"
|
|
||||||
},
|
|
||||||
"suggest": {
|
|
||||||
"friendsofphp/proxy-manager-lts": "Install it if you want to use lazy injection (version ^1)"
|
|
||||||
},
|
|
||||||
"type": "library",
|
|
||||||
"autoload": {
|
|
||||||
"files": [
|
|
||||||
"src/functions.php"
|
|
||||||
],
|
|
||||||
"psr-4": {
|
|
||||||
"DI\\": "src/"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"notification-url": "https://packagist.org/downloads/",
|
|
||||||
"license": [
|
|
||||||
"MIT"
|
|
||||||
],
|
|
||||||
"description": "The dependency injection container for humans",
|
|
||||||
"homepage": "https://php-di.org/",
|
|
||||||
"keywords": [
|
|
||||||
"PSR-11",
|
|
||||||
"container",
|
|
||||||
"container-interop",
|
|
||||||
"dependency injection",
|
|
||||||
"di",
|
|
||||||
"ioc",
|
|
||||||
"psr11"
|
|
||||||
],
|
|
||||||
"support": {
|
|
||||||
"issues": "https://github.com/PHP-DI/PHP-DI/issues",
|
|
||||||
"source": "https://github.com/PHP-DI/PHP-DI/tree/7.0.7"
|
|
||||||
},
|
|
||||||
"funding": [
|
|
||||||
{
|
|
||||||
"url": "https://github.com/mnapoli",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "https://tidelift.com/funding/github/packagist/php-di/php-di",
|
|
||||||
"type": "tidelift"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"time": "2024-07-21T15:55:45+00:00"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "phpdocumentor/reflection",
|
"name": "phpdocumentor/reflection",
|
||||||
"version": "6.0.0",
|
"version": "6.1.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/phpDocumentor/Reflection.git",
|
"url": "https://github.com/phpDocumentor/Reflection.git",
|
||||||
"reference": "61e2f1fe7683e9647b9ed8d9e53d08699385267d"
|
"reference": "bb4dea805a645553d6d989b23dad9f8041f39502"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/phpDocumentor/Reflection/zipball/61e2f1fe7683e9647b9ed8d9e53d08699385267d",
|
"url": "https://api.github.com/repos/phpDocumentor/Reflection/zipball/bb4dea805a645553d6d989b23dad9f8041f39502",
|
||||||
"reference": "61e2f1fe7683e9647b9ed8d9e53d08699385267d",
|
"reference": "bb4dea805a645553d6d989b23dad9f8041f39502",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"nikic/php-parser": "~4.18 || ^5.0",
|
"nikic/php-parser": "~4.18 || ^5.0",
|
||||||
"php": "8.1.*|8.2.*|8.3.*",
|
"php": "8.1.*|8.2.*|8.3.*|8.4.*",
|
||||||
"phpdocumentor/reflection-common": "^2.1",
|
"phpdocumentor/reflection-common": "^2.1",
|
||||||
"phpdocumentor/reflection-docblock": "^5",
|
"phpdocumentor/reflection-docblock": "^5",
|
||||||
"phpdocumentor/type-resolver": "^1.2",
|
"phpdocumentor/type-resolver": "^1.2",
|
||||||
@@ -5665,9 +5537,9 @@
|
|||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/phpDocumentor/Reflection/issues",
|
"issues": "https://github.com/phpDocumentor/Reflection/issues",
|
||||||
"source": "https://github.com/phpDocumentor/Reflection/tree/6.0.0"
|
"source": "https://github.com/phpDocumentor/Reflection/tree/6.1.0"
|
||||||
},
|
},
|
||||||
"time": "2024-05-23T19:28:12+00:00"
|
"time": "2024-11-22T15:11:54+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "phpdocumentor/reflection-common",
|
"name": "phpdocumentor/reflection-common",
|
||||||
@@ -6078,16 +5950,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "phpstan/phpstan",
|
"name": "phpstan/phpstan",
|
||||||
"version": "1.12.10",
|
"version": "1.12.11",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/phpstan/phpstan.git",
|
"url": "https://github.com/phpstan/phpstan.git",
|
||||||
"reference": "fc463b5d0fe906dcf19689be692c65c50406a071"
|
"reference": "0d1fc20a962a91be578bcfe7cf939e6e1a2ff733"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/fc463b5d0fe906dcf19689be692c65c50406a071",
|
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/0d1fc20a962a91be578bcfe7cf939e6e1a2ff733",
|
||||||
"reference": "fc463b5d0fe906dcf19689be692c65c50406a071",
|
"reference": "0d1fc20a962a91be578bcfe7cf939e6e1a2ff733",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -6132,7 +6004,60 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2024-11-11T15:37:09+00:00"
|
"time": "2024-11-17T14:08:01+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "pimple/pimple",
|
||||||
|
"version": "v3.5.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/silexphp/Pimple.git",
|
||||||
|
"reference": "a94b3a4db7fb774b3d78dad2315ddc07629e1bed"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/silexphp/Pimple/zipball/a94b3a4db7fb774b3d78dad2315ddc07629e1bed",
|
||||||
|
"reference": "a94b3a4db7fb774b3d78dad2315ddc07629e1bed",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": ">=7.2.5",
|
||||||
|
"psr/container": "^1.1 || ^2.0"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"symfony/phpunit-bridge": "^5.4@dev"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "3.4.x-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-0": {
|
||||||
|
"Pimple": "src/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Fabien Potencier",
|
||||||
|
"email": "fabien@symfony.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Pimple, a simple Dependency Injection Container",
|
||||||
|
"homepage": "https://pimple.symfony.com",
|
||||||
|
"keywords": [
|
||||||
|
"container",
|
||||||
|
"dependency injection"
|
||||||
|
],
|
||||||
|
"support": {
|
||||||
|
"source": "https://github.com/silexphp/Pimple/tree/v3.5.0"
|
||||||
|
},
|
||||||
|
"time": "2021-10-28T11:13:42+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "pion/laravel-chunk-upload",
|
"name": "pion/laravel-chunk-upload",
|
||||||
@@ -6202,23 +6127,23 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "poliander/cron",
|
"name": "poliander/cron",
|
||||||
"version": "3.1.0",
|
"version": "3.2.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/poliander/cron.git",
|
"url": "https://github.com/poliander/cron.git",
|
||||||
"reference": "9e037c06aab233787999dfba38f1a12d100510c1"
|
"reference": "213c477b3d9d6fcf8f0944298f481c1649a92b3b"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/poliander/cron/zipball/9e037c06aab233787999dfba38f1a12d100510c1",
|
"url": "https://api.github.com/repos/poliander/cron/zipball/213c477b3d9d6fcf8f0944298f481c1649a92b3b",
|
||||||
"reference": "9e037c06aab233787999dfba38f1a12d100510c1",
|
"reference": "213c477b3d9d6fcf8f0944298f481c1649a92b3b",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": "8.1.* || 8.2.* || 8.3.*"
|
"php": "8.2.* || 8.3.* || 8.4.*"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"phpunit/phpunit": "~10.0"
|
"phpunit/phpunit": "~11.0"
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@@ -6240,9 +6165,9 @@
|
|||||||
"homepage": "https://github.com/poliander/cron",
|
"homepage": "https://github.com/poliander/cron",
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/poliander/cron/issues",
|
"issues": "https://github.com/poliander/cron/issues",
|
||||||
"source": "https://github.com/poliander/cron/tree/3.1.0"
|
"source": "https://github.com/poliander/cron/tree/3.2.0"
|
||||||
},
|
},
|
||||||
"time": "2023-11-23T21:56:03+00:00"
|
"time": "2024-11-22T08:35:47+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "pragmarx/google2fa",
|
"name": "pragmarx/google2fa",
|
||||||
@@ -7732,16 +7657,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "spatie/backtrace",
|
"name": "spatie/backtrace",
|
||||||
"version": "1.6.2",
|
"version": "1.6.3",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/spatie/backtrace.git",
|
"url": "https://github.com/spatie/backtrace.git",
|
||||||
"reference": "1a9a145b044677ae3424693f7b06479fc8c137a9"
|
"reference": "7c18db2bc667ac84e5d7c18e33f16c38ff2d8838"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/spatie/backtrace/zipball/1a9a145b044677ae3424693f7b06479fc8c137a9",
|
"url": "https://api.github.com/repos/spatie/backtrace/zipball/7c18db2bc667ac84e5d7c18e33f16c38ff2d8838",
|
||||||
"reference": "1a9a145b044677ae3424693f7b06479fc8c137a9",
|
"reference": "7c18db2bc667ac84e5d7c18e33f16c38ff2d8838",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -7779,7 +7704,7 @@
|
|||||||
"spatie"
|
"spatie"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/spatie/backtrace/tree/1.6.2"
|
"source": "https://github.com/spatie/backtrace/tree/1.6.3"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -7791,20 +7716,20 @@
|
|||||||
"type": "other"
|
"type": "other"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2024-07-22T08:21:24+00:00"
|
"time": "2024-11-18T14:58:58+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "spatie/laravel-activitylog",
|
"name": "spatie/laravel-activitylog",
|
||||||
"version": "4.9.0",
|
"version": "4.9.1",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/spatie/laravel-activitylog.git",
|
"url": "https://github.com/spatie/laravel-activitylog.git",
|
||||||
"reference": "e0fc28178515a5396f48e107ed697719189bbe02"
|
"reference": "9abddaa9f2681d97943748c7fa04161cf4642e8c"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/spatie/laravel-activitylog/zipball/e0fc28178515a5396f48e107ed697719189bbe02",
|
"url": "https://api.github.com/repos/spatie/laravel-activitylog/zipball/9abddaa9f2681d97943748c7fa04161cf4642e8c",
|
||||||
"reference": "e0fc28178515a5396f48e107ed697719189bbe02",
|
"reference": "9abddaa9f2681d97943748c7fa04161cf4642e8c",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -7870,7 +7795,7 @@
|
|||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/spatie/laravel-activitylog/issues",
|
"issues": "https://github.com/spatie/laravel-activitylog/issues",
|
||||||
"source": "https://github.com/spatie/laravel-activitylog/tree/4.9.0"
|
"source": "https://github.com/spatie/laravel-activitylog/tree/4.9.1"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -7882,7 +7807,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2024-10-18T13:38:47+00:00"
|
"time": "2024-11-18T11:31:57+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "spatie/laravel-data",
|
"name": "spatie/laravel-data",
|
||||||
@@ -7970,16 +7895,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "spatie/laravel-package-tools",
|
"name": "spatie/laravel-package-tools",
|
||||||
"version": "1.16.5",
|
"version": "1.16.6",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/spatie/laravel-package-tools.git",
|
"url": "https://github.com/spatie/laravel-package-tools.git",
|
||||||
"reference": "c7413972cf22ffdff97b68499c22baa04eddb6a2"
|
"reference": "1f26942dc1e5c49eacfced34fdbc29ed234bd7b3"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/c7413972cf22ffdff97b68499c22baa04eddb6a2",
|
"url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/1f26942dc1e5c49eacfced34fdbc29ed234bd7b3",
|
||||||
"reference": "c7413972cf22ffdff97b68499c22baa04eddb6a2",
|
"reference": "1f26942dc1e5c49eacfced34fdbc29ed234bd7b3",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -8018,7 +7943,7 @@
|
|||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/spatie/laravel-package-tools/issues",
|
"issues": "https://github.com/spatie/laravel-package-tools/issues",
|
||||||
"source": "https://github.com/spatie/laravel-package-tools/tree/1.16.5"
|
"source": "https://github.com/spatie/laravel-package-tools/tree/1.16.6"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -8026,7 +7951,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2024-08-27T18:56:10+00:00"
|
"time": "2024-11-18T15:02:02+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "spatie/laravel-ray",
|
"name": "spatie/laravel-ray",
|
||||||
@@ -8470,16 +8395,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "stripe/stripe-php",
|
"name": "stripe/stripe-php",
|
||||||
"version": "v16.2.0",
|
"version": "v16.3.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/stripe/stripe-php.git",
|
"url": "https://github.com/stripe/stripe-php.git",
|
||||||
"reference": "813ae4961755af28a13bda451689f7a6ed6498cb"
|
"reference": "48af6bc64ca8157b3fdce100e856069963bac466"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/stripe/stripe-php/zipball/813ae4961755af28a13bda451689f7a6ed6498cb",
|
"url": "https://api.github.com/repos/stripe/stripe-php/zipball/48af6bc64ca8157b3fdce100e856069963bac466",
|
||||||
"reference": "813ae4961755af28a13bda451689f7a6ed6498cb",
|
"reference": "48af6bc64ca8157b3fdce100e856069963bac466",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -8523,9 +8448,9 @@
|
|||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/stripe/stripe-php/issues",
|
"issues": "https://github.com/stripe/stripe-php/issues",
|
||||||
"source": "https://github.com/stripe/stripe-php/tree/v16.2.0"
|
"source": "https://github.com/stripe/stripe-php/tree/v16.3.0"
|
||||||
},
|
},
|
||||||
"time": "2024-10-29T21:15:53+00:00"
|
"time": "2024-11-20T23:30:16+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/clock",
|
"name": "symfony/clock",
|
||||||
@@ -11313,16 +11238,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "voku/portable-ascii",
|
"name": "voku/portable-ascii",
|
||||||
"version": "2.0.1",
|
"version": "2.0.3",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/voku/portable-ascii.git",
|
"url": "https://github.com/voku/portable-ascii.git",
|
||||||
"reference": "b56450eed252f6801410d810c8e1727224ae0743"
|
"reference": "b1d923f88091c6bf09699efcd7c8a1b1bfd7351d"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/voku/portable-ascii/zipball/b56450eed252f6801410d810c8e1727224ae0743",
|
"url": "https://api.github.com/repos/voku/portable-ascii/zipball/b1d923f88091c6bf09699efcd7c8a1b1bfd7351d",
|
||||||
"reference": "b56450eed252f6801410d810c8e1727224ae0743",
|
"reference": "b1d923f88091c6bf09699efcd7c8a1b1bfd7351d",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -11347,7 +11272,7 @@
|
|||||||
"authors": [
|
"authors": [
|
||||||
{
|
{
|
||||||
"name": "Lars Moelleken",
|
"name": "Lars Moelleken",
|
||||||
"homepage": "http://www.moelleken.org/"
|
"homepage": "https://www.moelleken.org/"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "Portable ASCII library - performance optimized (ascii) string functions for php.",
|
"description": "Portable ASCII library - performance optimized (ascii) string functions for php.",
|
||||||
@@ -11359,7 +11284,7 @@
|
|||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/voku/portable-ascii/issues",
|
"issues": "https://github.com/voku/portable-ascii/issues",
|
||||||
"source": "https://github.com/voku/portable-ascii/tree/2.0.1"
|
"source": "https://github.com/voku/portable-ascii/tree/2.0.3"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -11383,7 +11308,7 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2022-03-08T17:03:00+00:00"
|
"time": "2024-11-21T01:49:47+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "webmozart/assert",
|
"name": "webmozart/assert",
|
||||||
@@ -11555,31 +11480,30 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "zbateson/mail-mime-parser",
|
"name": "zbateson/mail-mime-parser",
|
||||||
"version": "3.0.3",
|
"version": "2.4.1",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/zbateson/mail-mime-parser.git",
|
"url": "https://github.com/zbateson/mail-mime-parser.git",
|
||||||
"reference": "e0d4423fe27850c9dd301190767dbc421acc2f19"
|
"reference": "ff49e02f6489b38f7cc3d1bd3971adc0f872569c"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/zbateson/mail-mime-parser/zipball/e0d4423fe27850c9dd301190767dbc421acc2f19",
|
"url": "https://api.github.com/repos/zbateson/mail-mime-parser/zipball/ff49e02f6489b38f7cc3d1bd3971adc0f872569c",
|
||||||
"reference": "e0d4423fe27850c9dd301190767dbc421acc2f19",
|
"reference": "ff49e02f6489b38f7cc3d1bd3971adc0f872569c",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"guzzlehttp/psr7": "^2.5",
|
"guzzlehttp/psr7": "^1.7.0|^2.0",
|
||||||
"php": ">=8.0",
|
"php": ">=7.1",
|
||||||
"php-di/php-di": "^6.0|^7.0",
|
"pimple/pimple": "^3.0",
|
||||||
"psr/log": "^1|^2|^3",
|
"zbateson/mb-wrapper": "^1.0.1",
|
||||||
"zbateson/mb-wrapper": "^2.0",
|
"zbateson/stream-decorators": "^1.0.6"
|
||||||
"zbateson/stream-decorators": "^2.1"
|
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"friendsofphp/php-cs-fixer": "*",
|
"friendsofphp/php-cs-fixer": "*",
|
||||||
"monolog/monolog": "^2|^3",
|
"mikey179/vfsstream": "^1.6.0",
|
||||||
"phpstan/phpstan": "*",
|
"phpstan/phpstan": "*",
|
||||||
"phpunit/phpunit": "^9.6"
|
"phpunit/phpunit": "<10"
|
||||||
},
|
},
|
||||||
"suggest": {
|
"suggest": {
|
||||||
"ext-iconv": "For best support/performance",
|
"ext-iconv": "For best support/performance",
|
||||||
@@ -11627,24 +11551,24 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2024-08-10T18:44:09+00:00"
|
"time": "2024-04-28T00:58:54+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "zbateson/mb-wrapper",
|
"name": "zbateson/mb-wrapper",
|
||||||
"version": "2.0.0",
|
"version": "1.2.1",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/zbateson/mb-wrapper.git",
|
"url": "https://github.com/zbateson/mb-wrapper.git",
|
||||||
"reference": "9e4373a153585d12b6c621ac4a6bb143264d4619"
|
"reference": "09a8b77eb94af3823a9a6623dcc94f8d988da67f"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/zbateson/mb-wrapper/zipball/9e4373a153585d12b6c621ac4a6bb143264d4619",
|
"url": "https://api.github.com/repos/zbateson/mb-wrapper/zipball/09a8b77eb94af3823a9a6623dcc94f8d988da67f",
|
||||||
"reference": "9e4373a153585d12b6c621ac4a6bb143264d4619",
|
"reference": "09a8b77eb94af3823a9a6623dcc94f8d988da67f",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=8.0",
|
"php": ">=7.1",
|
||||||
"symfony/polyfill-iconv": "^1.9",
|
"symfony/polyfill-iconv": "^1.9",
|
||||||
"symfony/polyfill-mbstring": "^1.9"
|
"symfony/polyfill-mbstring": "^1.9"
|
||||||
},
|
},
|
||||||
@@ -11688,7 +11612,7 @@
|
|||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/zbateson/mb-wrapper/issues",
|
"issues": "https://github.com/zbateson/mb-wrapper/issues",
|
||||||
"source": "https://github.com/zbateson/mb-wrapper/tree/2.0.0"
|
"source": "https://github.com/zbateson/mb-wrapper/tree/1.2.1"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -11696,31 +11620,31 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2024-03-20T01:38:07+00:00"
|
"time": "2024-03-18T04:31:04+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "zbateson/stream-decorators",
|
"name": "zbateson/stream-decorators",
|
||||||
"version": "2.1.1",
|
"version": "1.2.1",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/zbateson/stream-decorators.git",
|
"url": "https://github.com/zbateson/stream-decorators.git",
|
||||||
"reference": "32a2a62fb0f26313395c996ebd658d33c3f9c4e5"
|
"reference": "783b034024fda8eafa19675fb2552f8654d3a3e9"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/zbateson/stream-decorators/zipball/32a2a62fb0f26313395c996ebd658d33c3f9c4e5",
|
"url": "https://api.github.com/repos/zbateson/stream-decorators/zipball/783b034024fda8eafa19675fb2552f8654d3a3e9",
|
||||||
"reference": "32a2a62fb0f26313395c996ebd658d33c3f9c4e5",
|
"reference": "783b034024fda8eafa19675fb2552f8654d3a3e9",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"guzzlehttp/psr7": "^2.5",
|
"guzzlehttp/psr7": "^1.9 | ^2.0",
|
||||||
"php": ">=8.0",
|
"php": ">=7.2",
|
||||||
"zbateson/mb-wrapper": "^2.0"
|
"zbateson/mb-wrapper": "^1.0.0"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"friendsofphp/php-cs-fixer": "*",
|
"friendsofphp/php-cs-fixer": "*",
|
||||||
"phpstan/phpstan": "*",
|
"phpstan/phpstan": "*",
|
||||||
"phpunit/phpunit": "^9.6|^10.0"
|
"phpunit/phpunit": "<10.0"
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@@ -11751,7 +11675,7 @@
|
|||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/zbateson/stream-decorators/issues",
|
"issues": "https://github.com/zbateson/stream-decorators/issues",
|
||||||
"source": "https://github.com/zbateson/stream-decorators/tree/2.1.1"
|
"source": "https://github.com/zbateson/stream-decorators/tree/1.2.1"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -11759,7 +11683,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2024-04-29T21:42:39+00:00"
|
"time": "2023-05-30T22:51:52+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "zircote/swagger-php",
|
"name": "zircote/swagger-php",
|
||||||
@@ -12023,16 +11947,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "fakerphp/faker",
|
"name": "fakerphp/faker",
|
||||||
"version": "v1.24.0",
|
"version": "v1.24.1",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/FakerPHP/Faker.git",
|
"url": "https://github.com/FakerPHP/Faker.git",
|
||||||
"reference": "a136842a532bac9ecd8a1c723852b09915d7db50"
|
"reference": "e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/FakerPHP/Faker/zipball/a136842a532bac9ecd8a1c723852b09915d7db50",
|
"url": "https://api.github.com/repos/FakerPHP/Faker/zipball/e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5",
|
||||||
"reference": "a136842a532bac9ecd8a1c723852b09915d7db50",
|
"reference": "e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -12080,9 +12004,9 @@
|
|||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/FakerPHP/Faker/issues",
|
"issues": "https://github.com/FakerPHP/Faker/issues",
|
||||||
"source": "https://github.com/FakerPHP/Faker/tree/v1.24.0"
|
"source": "https://github.com/FakerPHP/Faker/tree/v1.24.1"
|
||||||
},
|
},
|
||||||
"time": "2024-11-07T15:11:20+00:00"
|
"time": "2024-11-21T13:46:39+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "fidry/cpu-core-counter",
|
"name": "fidry/cpu-core-counter",
|
||||||
@@ -12341,16 +12265,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "laravel/pint",
|
"name": "laravel/pint",
|
||||||
"version": "v1.18.1",
|
"version": "v1.18.2",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/laravel/pint.git",
|
"url": "https://github.com/laravel/pint.git",
|
||||||
"reference": "35c00c05ec43e6b46d295efc0f4386ceb30d50d9"
|
"reference": "f55daaf7eb6c2f49ddf6702fb42e3091c64d8a64"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/laravel/pint/zipball/35c00c05ec43e6b46d295efc0f4386ceb30d50d9",
|
"url": "https://api.github.com/repos/laravel/pint/zipball/f55daaf7eb6c2f49ddf6702fb42e3091c64d8a64",
|
||||||
"reference": "35c00c05ec43e6b46d295efc0f4386ceb30d50d9",
|
"reference": "f55daaf7eb6c2f49ddf6702fb42e3091c64d8a64",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -12403,7 +12327,7 @@
|
|||||||
"issues": "https://github.com/laravel/pint/issues",
|
"issues": "https://github.com/laravel/pint/issues",
|
||||||
"source": "https://github.com/laravel/pint"
|
"source": "https://github.com/laravel/pint"
|
||||||
},
|
},
|
||||||
"time": "2024-09-24T17:22:50+00:00"
|
"time": "2024-11-20T09:33:46+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "laravel/telescope",
|
"name": "laravel/telescope",
|
||||||
@@ -13226,16 +13150,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "php-webdriver/webdriver",
|
"name": "php-webdriver/webdriver",
|
||||||
"version": "1.15.1",
|
"version": "1.15.2",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/php-webdriver/php-webdriver.git",
|
"url": "https://github.com/php-webdriver/php-webdriver.git",
|
||||||
"reference": "cd52d9342c5aa738c2e75a67e47a1b6df97154e8"
|
"reference": "998e499b786805568deaf8cbf06f4044f05d91bf"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/php-webdriver/php-webdriver/zipball/cd52d9342c5aa738c2e75a67e47a1b6df97154e8",
|
"url": "https://api.github.com/repos/php-webdriver/php-webdriver/zipball/998e499b786805568deaf8cbf06f4044f05d91bf",
|
||||||
"reference": "cd52d9342c5aa738c2e75a67e47a1b6df97154e8",
|
"reference": "998e499b786805568deaf8cbf06f4044f05d91bf",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -13257,7 +13181,7 @@
|
|||||||
"php-parallel-lint/php-parallel-lint": "^1.2",
|
"php-parallel-lint/php-parallel-lint": "^1.2",
|
||||||
"phpunit/phpunit": "^9.3",
|
"phpunit/phpunit": "^9.3",
|
||||||
"squizlabs/php_codesniffer": "^3.5",
|
"squizlabs/php_codesniffer": "^3.5",
|
||||||
"symfony/var-dumper": "^5.0 || ^6.0"
|
"symfony/var-dumper": "^5.0 || ^6.0 || ^7.0"
|
||||||
},
|
},
|
||||||
"suggest": {
|
"suggest": {
|
||||||
"ext-SimpleXML": "For Firefox profile creation"
|
"ext-SimpleXML": "For Firefox profile creation"
|
||||||
@@ -13286,9 +13210,9 @@
|
|||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/php-webdriver/php-webdriver/issues",
|
"issues": "https://github.com/php-webdriver/php-webdriver/issues",
|
||||||
"source": "https://github.com/php-webdriver/php-webdriver/tree/1.15.1"
|
"source": "https://github.com/php-webdriver/php-webdriver/tree/1.15.2"
|
||||||
},
|
},
|
||||||
"time": "2023-10-20T12:21:20+00:00"
|
"time": "2024-11-21T15:12:59+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "phpunit/php-code-coverage",
|
"name": "phpunit/php-code-coverage",
|
||||||
|
@@ -22,9 +22,9 @@ class ProductionSeeder extends Seeder
|
|||||||
public function run(): void
|
public function run(): void
|
||||||
{
|
{
|
||||||
if (isCloud()) {
|
if (isCloud()) {
|
||||||
echo "[x]: Running in cloud mode.\n";
|
echo " Running in cloud mode.\n";
|
||||||
} else {
|
} else {
|
||||||
echo "[x]: Running in self-hosted mode.\n";
|
echo " Running in self-hosted mode.\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
// Fix for 4.0.0-beta.37
|
// Fix for 4.0.0-beta.37
|
||||||
|
@@ -2,15 +2,14 @@ services:
|
|||||||
coolify:
|
coolify:
|
||||||
build:
|
build:
|
||||||
context: .
|
context: .
|
||||||
dockerfile: ./docker/dev/Dockerfile
|
dockerfile: ./docker/development/Dockerfile
|
||||||
|
args:
|
||||||
|
- USER_ID=${USERID:-1000}
|
||||||
|
- GROUP_ID=${GROUPID:-1000}
|
||||||
ports:
|
ports:
|
||||||
- "${APP_PORT:-8000}:80"
|
- "${APP_PORT:-8000}:80"
|
||||||
environment:
|
environment:
|
||||||
PUID: "${USERID:-1000}"
|
AUTORUN_ENABLED: false
|
||||||
PGID: "${GROUPID:-1000}"
|
|
||||||
SSL_MODE: "off"
|
|
||||||
AUTORUN_LARAVEL_STORAGE_LINK: "false"
|
|
||||||
AUTORUN_LARAVEL_MIGRATION: "false"
|
|
||||||
PUSHER_HOST: "${PUSHER_HOST}"
|
PUSHER_HOST: "${PUSHER_HOST}"
|
||||||
PUSHER_PORT: "${PUSHER_PORT}"
|
PUSHER_PORT: "${PUSHER_PORT}"
|
||||||
PUSHER_SCHEME: "${PUSHER_SCHEME:-http}"
|
PUSHER_SCHEME: "${PUSHER_SCHEME:-http}"
|
||||||
|
@@ -1,61 +0,0 @@
|
|||||||
# Versions
|
|
||||||
# https://hub.docker.com/r/serversideup/php/tags?name=8.3-fpm-nginx-alpine
|
|
||||||
ARG SERVERSIDEUP_PHP_VERSION=8.2-fpm-nginx-v2.2.1
|
|
||||||
# https://github.com/minio/mc/releases
|
|
||||||
ARG MINIO_VERSION=RELEASE.2024-11-05T11-29-45Z
|
|
||||||
# https://github.com/cloudflare/cloudflared/releases
|
|
||||||
ARG CLOUDFLARED_VERSION=2024.11.0
|
|
||||||
# https://www.postgresql.org/support/versioning/ - Can not updated automatically so keep it at 15
|
|
||||||
ARG POSTGRES_VERSION=15
|
|
||||||
|
|
||||||
FROM minio/mc:${MINIO_VERSION} AS minio-client
|
|
||||||
|
|
||||||
FROM serversideup/php:${SERVERSIDEUP_PHP_VERSION}
|
|
||||||
|
|
||||||
ARG TARGETPLATFORM
|
|
||||||
ARG CLOUDFLARED_VERSION
|
|
||||||
ARG MINIO_VERSION
|
|
||||||
ARG POSTGRES_VERSION
|
|
||||||
|
|
||||||
# Use build arguments for caching
|
|
||||||
ARG BUILDTIME_DEPS="dirmngr ca-certificates software-properties-common gnupg gnupg2 apt-transport-https curl"
|
|
||||||
ARG RUNTIME_DEPS="postgresql-client-$POSTGRES_VERSION php8.2-pgsql openssh-client git git-lfs jq lsof"
|
|
||||||
|
|
||||||
# Install dependencies
|
|
||||||
RUN --mount=type=cache,target=/var/cache/apt \
|
|
||||||
apt-get update && \
|
|
||||||
apt-get install -y $BUILDTIME_DEPS && \
|
|
||||||
curl -fSsL https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor | tee /usr/share/keyrings/postgresql.gpg > /dev/null && \
|
|
||||||
echo deb [arch=amd64,arm64,ppc64el signed-by=/usr/share/keyrings/postgresql.gpg] http://apt.postgresql.org/pub/repos/apt/ jammy-pgdg main | tee -a /etc/apt/sources.list.d/postgresql.list && \
|
|
||||||
apt-get update && \
|
|
||||||
apt-get install -y $RUNTIME_DEPS && \
|
|
||||||
apt-get -y autoremove && apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/*
|
|
||||||
|
|
||||||
COPY --chmod=755 docker/dev/etc/s6-overlay/ /etc/s6-overlay/
|
|
||||||
|
|
||||||
COPY docker/dev/nginx.conf /etc/nginx/conf.d/custom.conf
|
|
||||||
|
|
||||||
RUN echo "alias ll='ls -al'" >>/etc/bash.bashrc && \
|
|
||||||
echo "alias a='php artisan'" >>/etc/bash.bashrc
|
|
||||||
|
|
||||||
RUN mkdir -p /usr/local/bin
|
|
||||||
|
|
||||||
RUN --mount=type=cache,target=/root/.cache \
|
|
||||||
/bin/bash -c "if [[ ${TARGETPLATFORM} == 'linux/amd64' ]]; then \
|
|
||||||
echo 'amd64' && \
|
|
||||||
curl -sSL https://github.com/cloudflare/cloudflared/releases/download/${CLOUDFLARED_VERSION}/cloudflared-linux-amd64 -o /usr/local/bin/cloudflared && chmod +x /usr/local/bin/cloudflared \
|
|
||||||
;fi"
|
|
||||||
|
|
||||||
RUN --mount=type=cache,target=/root/.cache \
|
|
||||||
/bin/bash -c "if [[ ${TARGETPLATFORM} == 'linux/arm64' ]]; then \
|
|
||||||
echo 'arm64' && \
|
|
||||||
curl -L https://github.com/cloudflare/cloudflared/releases/download/${CLOUDFLARED_VERSION}/cloudflared-linux-arm64 -o /usr/local/bin/cloudflared && chmod +x /usr/local/bin/cloudflared \
|
|
||||||
;fi"
|
|
||||||
|
|
||||||
COPY --from=minio-client /usr/bin/mc /usr/bin/mc
|
|
||||||
RUN chmod +x /usr/bin/mc
|
|
||||||
|
|
||||||
RUN { \
|
|
||||||
echo 'upload_max_filesize=256M'; \
|
|
||||||
echo 'post_max_size=256M'; \
|
|
||||||
} > /etc/php/current_version/cli/conf.d/upload-limits.ini
|
|
@@ -1,5 +0,0 @@
|
|||||||
#!/command/execlineb -P
|
|
||||||
foreground {
|
|
||||||
s6-sleep 5
|
|
||||||
su - webuser -c "php /var/www/html/artisan start:horizon"
|
|
||||||
}
|
|
@@ -1,5 +0,0 @@
|
|||||||
#!/command/execlineb -P
|
|
||||||
foreground { composer -d /var/www/html/ install }
|
|
||||||
foreground { php /var/www/html/artisan migrate --step }
|
|
||||||
foreground { php /var/www/html/artisan dev --init }
|
|
||||||
|
|
@@ -1,5 +0,0 @@
|
|||||||
#!/command/execlineb -P
|
|
||||||
foreground {
|
|
||||||
s6-sleep 5
|
|
||||||
su - webuser -c "php /var/www/html/artisan start:scheduler"
|
|
||||||
}
|
|
106
docker/development/Dockerfile
Normal file
106
docker/development/Dockerfile
Normal file
@@ -0,0 +1,106 @@
|
|||||||
|
# Versions
|
||||||
|
# https://hub.docker.com/r/serversideup/php/tags?name=8.4-fpm-nginx-alpine
|
||||||
|
ARG SERVERSIDEUP_PHP_VERSION=8.4-fpm-nginx-alpine
|
||||||
|
# https://github.com/minio/mc/releases
|
||||||
|
ARG MINIO_VERSION=RELEASE.2024-11-05T11-29-45Z
|
||||||
|
# https://github.com/cloudflare/cloudflared/releases
|
||||||
|
ARG CLOUDFLARED_VERSION=2024.11.0
|
||||||
|
# https://www.postgresql.org/support/versioning/ - Upgraded to 16 if the we have a manual upgrade guide?
|
||||||
|
ARG POSTGRES_VERSION=15
|
||||||
|
|
||||||
|
# Add user/group
|
||||||
|
ARG USER_ID=1000
|
||||||
|
ARG GROUP_ID=1000
|
||||||
|
|
||||||
|
# =================================================================
|
||||||
|
# Stage 1: Composer dependencies
|
||||||
|
# =================================================================
|
||||||
|
FROM serversideup/php:${SERVERSIDEUP_PHP_VERSION} AS base
|
||||||
|
|
||||||
|
USER root
|
||||||
|
|
||||||
|
ARG USER_ID
|
||||||
|
ARG GROUP_ID
|
||||||
|
|
||||||
|
RUN docker-php-serversideup-set-id www-data $USER_ID:$GROUP_ID && \
|
||||||
|
docker-php-serversideup-set-file-permissions --owner $USER_ID:$GROUP_ID --service nginx
|
||||||
|
|
||||||
|
WORKDIR /var/www/html
|
||||||
|
COPY --chown=www-data:www-data composer.json composer.lock ./
|
||||||
|
RUN composer install --no-dev --no-interaction --no-plugins --no-scripts --prefer-dist
|
||||||
|
|
||||||
|
USER www-data
|
||||||
|
|
||||||
|
# =================================================================
|
||||||
|
# Stage 2: Get MinIO client
|
||||||
|
# =================================================================
|
||||||
|
FROM minio/mc:${MINIO_VERSION} AS minio-client
|
||||||
|
|
||||||
|
# =================================================================
|
||||||
|
# Final Stage: Production image
|
||||||
|
# =================================================================
|
||||||
|
FROM serversideup/php:${SERVERSIDEUP_PHP_VERSION}
|
||||||
|
|
||||||
|
ARG USER_ID
|
||||||
|
ARG GROUP_ID
|
||||||
|
ARG TARGETPLATFORM
|
||||||
|
ARG POSTGRES_VERSION
|
||||||
|
ARG CLOUDFLARED_VERSION
|
||||||
|
ARG CI=true
|
||||||
|
|
||||||
|
WORKDIR /var/www/html
|
||||||
|
|
||||||
|
USER root
|
||||||
|
|
||||||
|
RUN docker-php-serversideup-set-id www-data $USER_ID:$GROUP_ID && \
|
||||||
|
docker-php-serversideup-set-file-permissions --owner $USER_ID:$GROUP_ID --service nginx
|
||||||
|
|
||||||
|
# Install PostgreSQL repository and keys
|
||||||
|
RUN apk add --no-cache gnupg && \
|
||||||
|
mkdir -p /usr/share/keyrings && \
|
||||||
|
curl -fSsL https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor > /usr/share/keyrings/postgresql.gpg
|
||||||
|
|
||||||
|
# Install system dependencies
|
||||||
|
RUN apk add --no-cache \
|
||||||
|
postgresql${POSTGRES_VERSION}-client \
|
||||||
|
openssh-client \
|
||||||
|
git \
|
||||||
|
git-lfs \
|
||||||
|
jq \
|
||||||
|
lsof \
|
||||||
|
vim
|
||||||
|
|
||||||
|
# Configure shell aliases
|
||||||
|
RUN echo "alias ll='ls -al'" >> /etc/profile && \
|
||||||
|
echo "alias a='php artisan'" >> /etc/profile && \
|
||||||
|
echo "alias logs='tail -f storage/logs/laravel.log'" >> /etc/profile
|
||||||
|
|
||||||
|
# Install Cloudflared based on architecture
|
||||||
|
RUN mkdir -p /usr/local/bin && \
|
||||||
|
if [ "${TARGETPLATFORM}" = "linux/amd64" ]; then \
|
||||||
|
curl -sSL "https://github.com/cloudflare/cloudflared/releases/download/${CLOUDFLARED_VERSION}/cloudflared-linux-amd64" -o /usr/local/bin/cloudflared; \
|
||||||
|
elif [ "${TARGETPLATFORM}" = "linux/arm64" ]; then \
|
||||||
|
curl -sSL "https://github.com/cloudflare/cloudflared/releases/download/${CLOUDFLARED_VERSION}/cloudflared-linux-arm64" -o /usr/local/bin/cloudflared; \
|
||||||
|
fi && \
|
||||||
|
chmod +x /usr/local/bin/cloudflared
|
||||||
|
|
||||||
|
# Configure PHP
|
||||||
|
RUN echo 'upload_max_filesize=256M' > /usr/local/etc/php/conf.d/upload-limits.ini && \
|
||||||
|
echo 'post_max_size=256M' >> /usr/local/etc/php/conf.d/upload-limits.ini
|
||||||
|
ENV PHP_OPCACHE_ENABLE=0
|
||||||
|
|
||||||
|
# Configure Nginx and S6 overlay
|
||||||
|
COPY docker/development/etc/nginx/conf.d/custom.conf /etc/nginx/conf.d/custom.conf
|
||||||
|
COPY docker/development/etc/nginx/site-opts.d/http.conf /etc/nginx/site-opts.d/http.conf
|
||||||
|
COPY --chmod=755 docker/development/etc/s6-overlay/ /etc/s6-overlay/
|
||||||
|
|
||||||
|
RUN mkdir -p /etc/nginx/conf.d && \
|
||||||
|
chown -R www-data:www-data /etc/nginx && \
|
||||||
|
chmod -R 755 /etc/nginx
|
||||||
|
|
||||||
|
# Install MinIO client
|
||||||
|
COPY --from=minio-client /usr/bin/mc /usr/bin/mc
|
||||||
|
RUN chmod +x /usr/bin/mc
|
||||||
|
|
||||||
|
# Switch to non-root user
|
||||||
|
USER www-data
|
45
docker/development/etc/nginx/site-opts.d/http.conf
Normal file
45
docker/development/etc/nginx/site-opts.d/http.conf
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
listen 80 default_server;
|
||||||
|
listen [::]:80 default_server;
|
||||||
|
listen 8080 default_server;
|
||||||
|
listen [::]:8080 default_server;
|
||||||
|
|
||||||
|
root /var/www/html/public;
|
||||||
|
|
||||||
|
# Set allowed "index" files
|
||||||
|
index index.html index.htm index.php;
|
||||||
|
|
||||||
|
server_name _;
|
||||||
|
|
||||||
|
charset utf-8;
|
||||||
|
|
||||||
|
# Set max upload to 2048M
|
||||||
|
client_max_body_size 2048M;
|
||||||
|
|
||||||
|
# Healthchecks: Set /healthcheck to be the healthcheck URL
|
||||||
|
location /healthcheck {
|
||||||
|
access_log off;
|
||||||
|
|
||||||
|
# set max 5 seconds for healthcheck
|
||||||
|
fastcgi_read_timeout 5s;
|
||||||
|
|
||||||
|
include fastcgi_params;
|
||||||
|
fastcgi_param SCRIPT_NAME /healthcheck;
|
||||||
|
fastcgi_param SCRIPT_FILENAME /healthcheck;
|
||||||
|
fastcgi_pass 127.0.0.1:9000;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Have NGINX try searching for PHP files as well
|
||||||
|
location / {
|
||||||
|
try_files $uri $uri/ /index.php?$query_string;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Pass "*.php" files to PHP-FPM
|
||||||
|
location ~ \.php$ {
|
||||||
|
fastcgi_pass 127.0.0.1:9000;
|
||||||
|
fastcgi_index index.php;
|
||||||
|
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||||
|
include fastcgi_params;
|
||||||
|
fastcgi_buffers 8 8k;
|
||||||
|
fastcgi_buffer_size 8k;
|
||||||
|
fastcgi_read_timeout 99;
|
||||||
|
}
|
12
docker/development/etc/s6-overlay/s6-rc.d/horizon/run
Normal file
12
docker/development/etc/s6-overlay/s6-rc.d/horizon/run
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
#!/command/execlineb -P
|
||||||
|
|
||||||
|
# Use with-contenv to ensure environment variables are available
|
||||||
|
with-contenv
|
||||||
|
cd /var/www/html
|
||||||
|
|
||||||
|
foreground {
|
||||||
|
php
|
||||||
|
artisan
|
||||||
|
start:horizon
|
||||||
|
}
|
||||||
|
|
22
docker/development/etc/s6-overlay/s6-rc.d/init-setup/up
Normal file
22
docker/development/etc/s6-overlay/s6-rc.d/init-setup/up
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
#!/command/execlineb -P
|
||||||
|
|
||||||
|
# Use with-contenv to ensure environment variables are available
|
||||||
|
with-contenv
|
||||||
|
cd /var/www/html
|
||||||
|
foreground {
|
||||||
|
composer
|
||||||
|
install
|
||||||
|
}
|
||||||
|
foreground {
|
||||||
|
php
|
||||||
|
artisan
|
||||||
|
migrate
|
||||||
|
--step
|
||||||
|
}
|
||||||
|
foreground {
|
||||||
|
php
|
||||||
|
artisan
|
||||||
|
dev
|
||||||
|
--init
|
||||||
|
}
|
||||||
|
|
@@ -0,0 +1,13 @@
|
|||||||
|
#!/command/execlineb -P
|
||||||
|
|
||||||
|
# Use with-contenv to ensure environment variables are available
|
||||||
|
with-contenv
|
||||||
|
cd /var/www/html
|
||||||
|
|
||||||
|
foreground {
|
||||||
|
php
|
||||||
|
artisan
|
||||||
|
start:scheduler
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@@ -1,82 +0,0 @@
|
|||||||
# Versions
|
|
||||||
# https://hub.docker.com/r/serversideup/php/tags?name=8.3-fpm-nginx-alpine
|
|
||||||
ARG SERVERSIDEUP_PHP_VERSION=8.2-fpm-nginx-v2.2.1
|
|
||||||
# https://github.com/minio/mc/releases
|
|
||||||
ARG MINIO_VERSION=RELEASE.2024-11-05T11-29-45Z
|
|
||||||
# https://github.com/cloudflare/cloudflared/releases
|
|
||||||
ARG CLOUDFLARED_VERSION=2024.11.0
|
|
||||||
# https://www.postgresql.org/support/versioning/ - Can not updated automatically so keep it at 15
|
|
||||||
ARG POSTGRES_VERSION=15
|
|
||||||
|
|
||||||
|
|
||||||
FROM serversideup/php:${SERVERSIDEUP_PHP_VERSION} AS base
|
|
||||||
WORKDIR /var/www/html
|
|
||||||
|
|
||||||
COPY composer.json composer.lock ./
|
|
||||||
RUN composer install --no-dev --no-interaction --no-plugins --no-scripts --prefer-dist
|
|
||||||
|
|
||||||
FROM node:20 AS static-assets
|
|
||||||
WORKDIR /app
|
|
||||||
COPY . .
|
|
||||||
COPY --from=base --chown=9999:9999 /var/www/html .
|
|
||||||
RUN npm install
|
|
||||||
RUN npm run build
|
|
||||||
|
|
||||||
FROM minio/mc:${MINIO_VERSION} AS minio-client
|
|
||||||
|
|
||||||
FROM serversideup/php:${SERVERSIDEUP_PHP_VERSION}
|
|
||||||
|
|
||||||
ARG TARGETPLATFORM
|
|
||||||
ARG CLOUDFLARED_VERSION
|
|
||||||
ARG POSTGRES_VERSION
|
|
||||||
ARG CI=true
|
|
||||||
|
|
||||||
WORKDIR /var/www/html
|
|
||||||
|
|
||||||
RUN apt-get update
|
|
||||||
# Postgres version requirements
|
|
||||||
RUN apt install dirmngr ca-certificates software-properties-common gnupg gnupg2 apt-transport-https curl -y
|
|
||||||
RUN curl -fSsL https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor | tee /usr/share/keyrings/postgresql.gpg > /dev/null
|
|
||||||
|
|
||||||
RUN echo deb [arch=amd64,arm64,ppc64el signed-by=/usr/share/keyrings/postgresql.gpg] http://apt.postgresql.org/pub/repos/apt/ jammy-pgdg main | tee -a /etc/apt/sources.list.d/postgresql.list
|
|
||||||
|
|
||||||
RUN apt-get update
|
|
||||||
RUN apt-get install postgresql-client-${POSTGRES_VERSION} -y
|
|
||||||
|
|
||||||
# Coolify requirements
|
|
||||||
RUN apt-get install -y php8.2-pgsql openssh-client git git-lfs jq lsof vim
|
|
||||||
RUN apt-get -y autoremove && apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/*
|
|
||||||
|
|
||||||
COPY docker/prod/nginx.conf /etc/nginx/conf.d/custom.conf
|
|
||||||
|
|
||||||
COPY --from=base --chown=9999:9999 /var/www/html .
|
|
||||||
|
|
||||||
COPY --chown=9999:9999 . .
|
|
||||||
RUN composer dump-autoload
|
|
||||||
|
|
||||||
COPY --from=static-assets --chown=9999:9999 /app/public/build ./public/build
|
|
||||||
COPY --chmod=755 docker/prod/etc/s6-overlay/ /etc/s6-overlay/
|
|
||||||
|
|
||||||
RUN echo "alias ll='ls -al'" >>/etc/bash.bashrc
|
|
||||||
RUN echo "alias a='php artisan'" >>/etc/bash.bashrc
|
|
||||||
RUN echo "alias logs='tail -f storage/logs/laravel.log'" >>/etc/bash.bashrc
|
|
||||||
|
|
||||||
RUN mkdir -p /usr/local/bin
|
|
||||||
|
|
||||||
RUN /bin/bash -c "if [[ ${TARGETPLATFORM} == 'linux/amd64' ]]; then \
|
|
||||||
echo 'amd64' && \
|
|
||||||
curl -sSL https://github.com/cloudflare/cloudflared/releases/download/${CLOUDFLARED_VERSION}/cloudflared-linux-amd64 -o /usr/local/bin/cloudflared && chmod +x /usr/local/bin/cloudflared \
|
|
||||||
;fi"
|
|
||||||
|
|
||||||
RUN /bin/bash -c "if [[ ${TARGETPLATFORM} == 'linux/arm64' ]]; then \
|
|
||||||
echo 'arm64' && \
|
|
||||||
curl -L https://github.com/cloudflare/cloudflared/releases/download/${CLOUDFLARED_VERSION}/cloudflared-linux-arm64 -o /usr/local/bin/cloudflared && chmod +x /usr/local/bin/cloudflared \
|
|
||||||
;fi"
|
|
||||||
|
|
||||||
RUN { \
|
|
||||||
echo 'upload_max_filesize=256M'; \
|
|
||||||
echo 'post_max_size=256M'; \
|
|
||||||
} > /etc/php/current_version/cli/conf.d/upload-limits.ini
|
|
||||||
|
|
||||||
COPY --from=minio-client /usr/bin/mc /usr/bin/mc
|
|
||||||
RUN chmod +x /usr/bin/mc
|
|
@@ -1,2 +0,0 @@
|
|||||||
#!/command/execlineb -P
|
|
||||||
php /var/www/html/artisan migrate --force --isolated
|
|
@@ -1,5 +0,0 @@
|
|||||||
#!/command/execlineb -P
|
|
||||||
foreground {
|
|
||||||
s6-sleep 5
|
|
||||||
su - webuser -c "php /var/www/html/artisan start:horizon"
|
|
||||||
}
|
|
@@ -1,3 +0,0 @@
|
|||||||
#!/command/execlineb -P
|
|
||||||
s6-setuidgid webuser
|
|
||||||
php /var/www/html/artisan app:init
|
|
@@ -1,2 +0,0 @@
|
|||||||
#!/command/execlineb -P
|
|
||||||
php /var/www/html/artisan db:seed --class ProductionSeeder --force
|
|
@@ -1,5 +0,0 @@
|
|||||||
#!/command/execlineb -P
|
|
||||||
foreground {
|
|
||||||
s6-sleep 5
|
|
||||||
su - webuser -c "php /var/www/html/artisan start:scheduler"
|
|
||||||
}
|
|
136
docker/production/Dockerfile
Normal file
136
docker/production/Dockerfile
Normal file
@@ -0,0 +1,136 @@
|
|||||||
|
# Versions
|
||||||
|
# https://hub.docker.com/r/serversideup/php/tags?name=8.4-fpm-nginx-alpine
|
||||||
|
ARG SERVERSIDEUP_PHP_VERSION=8.4-fpm-nginx-alpine
|
||||||
|
# https://github.com/minio/mc/releases
|
||||||
|
ARG MINIO_VERSION=RELEASE.2024-11-05T11-29-45Z
|
||||||
|
# https://github.com/cloudflare/cloudflared/releases
|
||||||
|
ARG CLOUDFLARED_VERSION=2024.11.0
|
||||||
|
# https://www.postgresql.org/support/versioning/ - Upgraded to 16 if the we have a manual upgrade guide?
|
||||||
|
ARG POSTGRES_VERSION=15
|
||||||
|
|
||||||
|
# Add user/group
|
||||||
|
ARG USER_ID=9999
|
||||||
|
ARG GROUP_ID=9999
|
||||||
|
|
||||||
|
# =================================================================
|
||||||
|
# Stage 1: Composer dependencies
|
||||||
|
# =================================================================
|
||||||
|
FROM serversideup/php:${SERVERSIDEUP_PHP_VERSION} AS base
|
||||||
|
|
||||||
|
USER root
|
||||||
|
|
||||||
|
ARG USER_ID
|
||||||
|
ARG GROUP_ID
|
||||||
|
|
||||||
|
RUN docker-php-serversideup-set-id www-data $USER_ID:$GROUP_ID && \
|
||||||
|
docker-php-serversideup-set-file-permissions --owner $USER_ID:$GROUP_ID --service nginx
|
||||||
|
|
||||||
|
WORKDIR /var/www/html
|
||||||
|
COPY --chown=www-data:www-data composer.json composer.lock ./
|
||||||
|
RUN composer install --no-dev --no-interaction --no-plugins --no-scripts --prefer-dist
|
||||||
|
|
||||||
|
USER www-data
|
||||||
|
|
||||||
|
# =================================================================
|
||||||
|
# Stage 2: Frontend assets compilation
|
||||||
|
# =================================================================
|
||||||
|
FROM node:20-alpine AS static-assets
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
COPY package*.json vite.config.js tailwind.config.js postcss.config.cjs ./
|
||||||
|
RUN npm ci
|
||||||
|
COPY . .
|
||||||
|
RUN npm run build
|
||||||
|
|
||||||
|
# =================================================================
|
||||||
|
# Stage 3: Get MinIO client
|
||||||
|
# =================================================================
|
||||||
|
FROM minio/mc:${MINIO_VERSION} AS minio-client
|
||||||
|
|
||||||
|
# =================================================================
|
||||||
|
# Final Stage: Production image
|
||||||
|
# =================================================================
|
||||||
|
FROM serversideup/php:${SERVERSIDEUP_PHP_VERSION}
|
||||||
|
|
||||||
|
ARG USER_ID
|
||||||
|
ARG GROUP_ID
|
||||||
|
ARG TARGETPLATFORM
|
||||||
|
ARG POSTGRES_VERSION
|
||||||
|
ARG CLOUDFLARED_VERSION
|
||||||
|
ARG CI=true
|
||||||
|
|
||||||
|
WORKDIR /var/www/html
|
||||||
|
|
||||||
|
USER root
|
||||||
|
|
||||||
|
RUN docker-php-serversideup-set-id www-data $USER_ID:$GROUP_ID && \
|
||||||
|
docker-php-serversideup-set-file-permissions --owner $USER_ID:$GROUP_ID --service nginx
|
||||||
|
|
||||||
|
# Install PostgreSQL repository and keys
|
||||||
|
RUN apk add --no-cache gnupg && \
|
||||||
|
mkdir -p /usr/share/keyrings && \
|
||||||
|
curl -fSsL https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor > /usr/share/keyrings/postgresql.gpg
|
||||||
|
|
||||||
|
# Install system dependencies
|
||||||
|
RUN apk add --no-cache \
|
||||||
|
postgresql${POSTGRES_VERSION}-client \
|
||||||
|
openssh-client \
|
||||||
|
git \
|
||||||
|
git-lfs \
|
||||||
|
jq \
|
||||||
|
lsof \
|
||||||
|
vim
|
||||||
|
|
||||||
|
# Configure shell aliases
|
||||||
|
RUN echo "alias ll='ls -al'" >> /etc/profile && \
|
||||||
|
echo "alias a='php artisan'" >> /etc/profile && \
|
||||||
|
echo "alias logs='tail -f storage/logs/laravel.log'" >> /etc/profile
|
||||||
|
|
||||||
|
# Install Cloudflared based on architecture
|
||||||
|
RUN mkdir -p /usr/local/bin && \
|
||||||
|
if [ "${TARGETPLATFORM}" = "linux/amd64" ]; then \
|
||||||
|
curl -sSL "https://github.com/cloudflare/cloudflared/releases/download/${CLOUDFLARED_VERSION}/cloudflared-linux-amd64" -o /usr/local/bin/cloudflared; \
|
||||||
|
elif [ "${TARGETPLATFORM}" = "linux/arm64" ]; then \
|
||||||
|
curl -sSL "https://github.com/cloudflare/cloudflared/releases/download/${CLOUDFLARED_VERSION}/cloudflared-linux-arm64" -o /usr/local/bin/cloudflared; \
|
||||||
|
fi && \
|
||||||
|
chmod +x /usr/local/bin/cloudflared
|
||||||
|
|
||||||
|
# Configure PHP
|
||||||
|
COPY docker/production/etc/php/conf.d/zzz-custom-php.ini /usr/local/etc/php/conf.d/zzz-custom-php.ini
|
||||||
|
ENV PHP_OPCACHE_ENABLE=1
|
||||||
|
|
||||||
|
# Copy application files from previous stages
|
||||||
|
COPY --from=base --chown=www-data:www-data /var/www/html/vendor ./vendor
|
||||||
|
COPY --from=static-assets --chown=www-data:www-data /app/public/build ./public/build
|
||||||
|
|
||||||
|
# Copy application source code
|
||||||
|
COPY --chown=www-data:www-data composer.json composer.lock ./
|
||||||
|
COPY --chown=www-data:www-data app ./app
|
||||||
|
COPY --chown=www-data:www-data bootstrap ./bootstrap
|
||||||
|
COPY --chown=www-data:www-data config ./config
|
||||||
|
COPY --chown=www-data:www-data database ./database
|
||||||
|
COPY --chown=www-data:www-data lang ./lang
|
||||||
|
COPY --chown=www-data:www-data public ./public
|
||||||
|
COPY --chown=www-data:www-data routes ./routes
|
||||||
|
COPY --chown=www-data:www-data storage ./storage
|
||||||
|
COPY --chown=www-data:www-data templates ./templates
|
||||||
|
COPY --chown=www-data:www-data resources/views ./resources/views
|
||||||
|
COPY --chown=www-data:www-data artisan artisan
|
||||||
|
|
||||||
|
RUN composer dump-autoload
|
||||||
|
|
||||||
|
# Configure Nginx and S6 overlay
|
||||||
|
COPY docker/production/etc/nginx/conf.d/custom.conf /etc/nginx/conf.d/custom.conf
|
||||||
|
COPY docker/production/etc/nginx/site-opts.d/http.conf /etc/nginx/site-opts.d/http.conf
|
||||||
|
COPY --chmod=755 docker/production/etc/s6-overlay/ /etc/s6-overlay/
|
||||||
|
|
||||||
|
RUN mkdir -p /etc/nginx/conf.d && \
|
||||||
|
chown -R www-data:www-data /etc/nginx && \
|
||||||
|
chmod -R 755 /etc/nginx
|
||||||
|
|
||||||
|
# Install MinIO client
|
||||||
|
COPY --from=minio-client /usr/bin/mc /usr/bin/mc
|
||||||
|
RUN chmod +x /usr/bin/mc
|
||||||
|
|
||||||
|
# Switch to non-root user
|
||||||
|
USER www-data
|
45
docker/production/etc/nginx/site-opts.d/http.conf
Normal file
45
docker/production/etc/nginx/site-opts.d/http.conf
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
listen 80 default_server;
|
||||||
|
listen [::]:80 default_server;
|
||||||
|
listen 8080 default_server;
|
||||||
|
listen [::]:8080 default_server;
|
||||||
|
|
||||||
|
root /var/www/html/public;
|
||||||
|
|
||||||
|
# Set allowed "index" files
|
||||||
|
index index.html index.htm index.php;
|
||||||
|
|
||||||
|
server_name _;
|
||||||
|
|
||||||
|
charset utf-8;
|
||||||
|
|
||||||
|
# Set max upload to 2048M
|
||||||
|
client_max_body_size 2048M;
|
||||||
|
|
||||||
|
# Healthchecks: Set /healthcheck to be the healthcheck URL
|
||||||
|
location /healthcheck {
|
||||||
|
access_log off;
|
||||||
|
|
||||||
|
# set max 5 seconds for healthcheck
|
||||||
|
fastcgi_read_timeout 5s;
|
||||||
|
|
||||||
|
include fastcgi_params;
|
||||||
|
fastcgi_param SCRIPT_NAME /healthcheck;
|
||||||
|
fastcgi_param SCRIPT_FILENAME /healthcheck;
|
||||||
|
fastcgi_pass 127.0.0.1:9000;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Have NGINX try searching for PHP files as well
|
||||||
|
location / {
|
||||||
|
try_files $uri $uri/ /index.php?$query_string;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Pass "*.php" files to PHP-FPM
|
||||||
|
location ~ \.php$ {
|
||||||
|
fastcgi_pass 127.0.0.1:9000;
|
||||||
|
fastcgi_index index.php;
|
||||||
|
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||||
|
include fastcgi_params;
|
||||||
|
fastcgi_buffers 8 8k;
|
||||||
|
fastcgi_buffer_size 8k;
|
||||||
|
fastcgi_read_timeout 99;
|
||||||
|
}
|
9
docker/production/etc/php/conf.d/zzz-custom-php.ini
Normal file
9
docker/production/etc/php/conf.d/zzz-custom-php.ini
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
error_reporting = E_ERROR
|
||||||
|
error_log = /var/www/html/storage/logs/php-error.log
|
||||||
|
log_errors = Off
|
||||||
|
log_errors_max_len = 8192
|
||||||
|
ignore_repeated_errors = On
|
||||||
|
ignore_repeated_source = On
|
||||||
|
|
||||||
|
upload_max_filesize = 256M
|
||||||
|
post_max_size = 256M
|
13
docker/production/etc/s6-overlay/s6-rc.d/db-migration/up
Normal file
13
docker/production/etc/s6-overlay/s6-rc.d/db-migration/up
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
#!/command/execlineb -P
|
||||||
|
|
||||||
|
# Use with-contenv to ensure environment variables are available
|
||||||
|
with-contenv
|
||||||
|
cd /var/www/html
|
||||||
|
foreground {
|
||||||
|
php
|
||||||
|
artisan
|
||||||
|
migrate
|
||||||
|
--force
|
||||||
|
--isolated
|
||||||
|
}
|
||||||
|
|
11
docker/production/etc/s6-overlay/s6-rc.d/horizon/run
Normal file
11
docker/production/etc/s6-overlay/s6-rc.d/horizon/run
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
#!/command/execlineb -P
|
||||||
|
|
||||||
|
# Use with-contenv to ensure environment variables are available
|
||||||
|
with-contenv
|
||||||
|
cd /var/www/html
|
||||||
|
foreground {
|
||||||
|
php
|
||||||
|
artisan
|
||||||
|
start:horizon
|
||||||
|
}
|
||||||
|
|
12
docker/production/etc/s6-overlay/s6-rc.d/init-script/up
Normal file
12
docker/production/etc/s6-overlay/s6-rc.d/init-script/up
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
#!/command/execlineb -P
|
||||||
|
|
||||||
|
# Use with-contenv to ensure environment variables are available
|
||||||
|
with-contenv
|
||||||
|
cd /var/www/html
|
||||||
|
foreground {
|
||||||
|
php
|
||||||
|
artisan
|
||||||
|
app:init
|
||||||
|
}
|
||||||
|
|
||||||
|
|
15
docker/production/etc/s6-overlay/s6-rc.d/init-seeder/up
Normal file
15
docker/production/etc/s6-overlay/s6-rc.d/init-seeder/up
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
#!/command/execlineb -P
|
||||||
|
|
||||||
|
# Use with-contenv to ensure environment variables are available
|
||||||
|
with-contenv
|
||||||
|
cd /var/www/html
|
||||||
|
foreground {
|
||||||
|
php
|
||||||
|
artisan
|
||||||
|
db:seed
|
||||||
|
--class
|
||||||
|
ProductionSeeder
|
||||||
|
--force
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@@ -0,0 +1,10 @@
|
|||||||
|
#!/command/execlineb -P
|
||||||
|
|
||||||
|
# Use with-contenv to ensure environment variables are available
|
||||||
|
with-contenv
|
||||||
|
cd /var/www/html
|
||||||
|
foreground {
|
||||||
|
php
|
||||||
|
artisan
|
||||||
|
start:scheduler
|
||||||
|
}
|
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user