Merge branch 'next' into feat/deployment-token
This commit is contained in:
@@ -51,6 +51,8 @@ class StartClickhouse
|
|||||||
],
|
],
|
||||||
'labels' => [
|
'labels' => [
|
||||||
'coolify.managed' => 'true',
|
'coolify.managed' => 'true',
|
||||||
|
'coolify.type' => 'database',
|
||||||
|
'coolify.databaseId' => $this->database->id,
|
||||||
],
|
],
|
||||||
'healthcheck' => [
|
'healthcheck' => [
|
||||||
'test' => "clickhouse-client --password {$this->database->clickhouse_admin_password} --query 'SELECT 1'",
|
'test' => "clickhouse-client --password {$this->database->clickhouse_admin_password} --query 'SELECT 1'",
|
||||||
|
|||||||
@@ -48,6 +48,8 @@ class StartDragonfly
|
|||||||
],
|
],
|
||||||
'labels' => [
|
'labels' => [
|
||||||
'coolify.managed' => 'true',
|
'coolify.managed' => 'true',
|
||||||
|
'coolify.type' => 'database',
|
||||||
|
'coolify.databaseId' => $this->database->id,
|
||||||
],
|
],
|
||||||
'healthcheck' => [
|
'healthcheck' => [
|
||||||
'test' => "redis-cli -a {$this->database->dragonfly_password} ping",
|
'test' => "redis-cli -a {$this->database->dragonfly_password} ping",
|
||||||
|
|||||||
@@ -50,6 +50,8 @@ class StartKeydb
|
|||||||
],
|
],
|
||||||
'labels' => [
|
'labels' => [
|
||||||
'coolify.managed' => 'true',
|
'coolify.managed' => 'true',
|
||||||
|
'coolify.type' => 'database',
|
||||||
|
'coolify.databaseId' => $this->database->id,
|
||||||
],
|
],
|
||||||
'healthcheck' => [
|
'healthcheck' => [
|
||||||
'test' => "keydb-cli --pass {$this->database->keydb_password} ping",
|
'test' => "keydb-cli --pass {$this->database->keydb_password} ping",
|
||||||
|
|||||||
@@ -45,6 +45,8 @@ class StartMariadb
|
|||||||
],
|
],
|
||||||
'labels' => [
|
'labels' => [
|
||||||
'coolify.managed' => 'true',
|
'coolify.managed' => 'true',
|
||||||
|
'coolify.type' => 'database',
|
||||||
|
'coolify.databaseId' => $this->database->id,
|
||||||
],
|
],
|
||||||
'healthcheck' => [
|
'healthcheck' => [
|
||||||
'test' => ['CMD', 'healthcheck.sh', '--connect', '--innodb_initialized'],
|
'test' => ['CMD', 'healthcheck.sh', '--connect', '--innodb_initialized'],
|
||||||
|
|||||||
@@ -49,6 +49,8 @@ class StartMongodb
|
|||||||
],
|
],
|
||||||
'labels' => [
|
'labels' => [
|
||||||
'coolify.managed' => 'true',
|
'coolify.managed' => 'true',
|
||||||
|
'coolify.type' => 'database',
|
||||||
|
'coolify.databaseId' => $this->database->id,
|
||||||
],
|
],
|
||||||
'healthcheck' => [
|
'healthcheck' => [
|
||||||
'test' => [
|
'test' => [
|
||||||
|
|||||||
@@ -45,6 +45,8 @@ class StartMysql
|
|||||||
],
|
],
|
||||||
'labels' => [
|
'labels' => [
|
||||||
'coolify.managed' => 'true',
|
'coolify.managed' => 'true',
|
||||||
|
'coolify.type' => 'database',
|
||||||
|
'coolify.databaseId' => $this->database->id,
|
||||||
],
|
],
|
||||||
'healthcheck' => [
|
'healthcheck' => [
|
||||||
'test' => ['CMD', 'mysqladmin', 'ping', '-h', 'localhost', '-u', 'root', "-p{$this->database->mysql_root_password}"],
|
'test' => ['CMD', 'mysqladmin', 'ping', '-h', 'localhost', '-u', 'root', "-p{$this->database->mysql_root_password}"],
|
||||||
|
|||||||
@@ -49,6 +49,8 @@ class StartPostgresql
|
|||||||
],
|
],
|
||||||
'labels' => [
|
'labels' => [
|
||||||
'coolify.managed' => 'true',
|
'coolify.managed' => 'true',
|
||||||
|
'coolify.type' => 'database',
|
||||||
|
'coolify.databaseId' => $this->database->id,
|
||||||
],
|
],
|
||||||
'healthcheck' => [
|
'healthcheck' => [
|
||||||
'test' => [
|
'test' => [
|
||||||
|
|||||||
@@ -50,6 +50,8 @@ class StartRedis
|
|||||||
],
|
],
|
||||||
'labels' => [
|
'labels' => [
|
||||||
'coolify.managed' => 'true',
|
'coolify.managed' => 'true',
|
||||||
|
'coolify.type' => 'database',
|
||||||
|
'coolify.databaseId' => $this->database->id,
|
||||||
],
|
],
|
||||||
'healthcheck' => [
|
'healthcheck' => [
|
||||||
'test' => [
|
'test' => [
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ use Illuminate\Support\Facades\DB;
|
|||||||
|
|
||||||
class CleanupDatabase extends Command
|
class CleanupDatabase extends Command
|
||||||
{
|
{
|
||||||
protected $signature = 'cleanup:database {--yes}';
|
protected $signature = 'cleanup:database {--yes} {--keep-days=}';
|
||||||
|
|
||||||
protected $description = 'Cleanup database';
|
protected $description = 'Cleanup database';
|
||||||
|
|
||||||
@@ -20,9 +20,9 @@ class CleanupDatabase extends Command
|
|||||||
}
|
}
|
||||||
if (isCloud()) {
|
if (isCloud()) {
|
||||||
// Later on we can increase this to 180 days or dynamically set
|
// Later on we can increase this to 180 days or dynamically set
|
||||||
$keep_days = 60;
|
$keep_days = $this->option('keep-days') ?? 60;
|
||||||
} else {
|
} else {
|
||||||
$keep_days = 60;
|
$keep_days = $this->option('keep-days') ?? 60;
|
||||||
}
|
}
|
||||||
echo "Keep days: $keep_days\n";
|
echo "Keep days: $keep_days\n";
|
||||||
// Cleanup failed jobs table
|
// Cleanup failed jobs table
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ use App\Jobs\ScheduledTaskJob;
|
|||||||
use App\Jobs\ServerCheckJob;
|
use App\Jobs\ServerCheckJob;
|
||||||
use App\Jobs\ServerCleanupMux;
|
use App\Jobs\ServerCleanupMux;
|
||||||
use App\Jobs\UpdateCoolifyJob;
|
use App\Jobs\UpdateCoolifyJob;
|
||||||
|
use App\Models\InstanceSettings;
|
||||||
use App\Models\ScheduledDatabaseBackup;
|
use App\Models\ScheduledDatabaseBackup;
|
||||||
use App\Models\ScheduledTask;
|
use App\Models\ScheduledTask;
|
||||||
use App\Models\Server;
|
use App\Models\Server;
|
||||||
@@ -26,10 +27,13 @@ class Kernel extends ConsoleKernel
|
|||||||
{
|
{
|
||||||
private $allServers;
|
private $allServers;
|
||||||
|
|
||||||
|
private InstanceSettings $settings;
|
||||||
|
|
||||||
protected function schedule(Schedule $schedule): void
|
protected function schedule(Schedule $schedule): void
|
||||||
{
|
{
|
||||||
$this->allServers = Server::all();
|
$this->allServers = Server::where('ip', '!=', '1.2.3.4')->get();
|
||||||
$settings = instanceSettings();
|
|
||||||
|
$this->settings = instanceSettings();
|
||||||
|
|
||||||
$schedule->job(new CleanupStaleMultiplexedConnections)->hourly();
|
$schedule->job(new CleanupStaleMultiplexedConnections)->hourly();
|
||||||
|
|
||||||
@@ -43,14 +47,12 @@ class Kernel extends ConsoleKernel
|
|||||||
$this->checkScheduledTasks($schedule);
|
$this->checkScheduledTasks($schedule);
|
||||||
$schedule->command('uploads:clear')->everyTwoMinutes();
|
$schedule->command('uploads:clear')->everyTwoMinutes();
|
||||||
|
|
||||||
$schedule->command('telescope:prune')->daily();
|
|
||||||
|
|
||||||
$schedule->job(new CheckHelperImageJob)->everyFiveMinutes()->onOneServer();
|
$schedule->job(new CheckHelperImageJob)->everyFiveMinutes()->onOneServer();
|
||||||
} else {
|
} else {
|
||||||
// Instance Jobs
|
// Instance Jobs
|
||||||
$schedule->command('horizon:snapshot')->everyFiveMinutes();
|
$schedule->command('horizon:snapshot')->everyFiveMinutes();
|
||||||
$schedule->command('cleanup:unreachable-servers')->daily()->onOneServer();
|
$schedule->command('cleanup:unreachable-servers')->daily()->onOneServer();
|
||||||
$schedule->job(new PullTemplatesFromCDN)->cron($settings->update_check_frequency)->timezone($settings->instance_timezone)->onOneServer();
|
$schedule->job(new PullTemplatesFromCDN)->cron($this->settings->update_check_frequency)->timezone($this->settings->instance_timezone)->onOneServer();
|
||||||
$schedule->job(new CleanupInstanceStuffsJob)->everyTwoMinutes()->onOneServer();
|
$schedule->job(new CleanupInstanceStuffsJob)->everyTwoMinutes()->onOneServer();
|
||||||
$this->scheduleUpdates($schedule);
|
$this->scheduleUpdates($schedule);
|
||||||
|
|
||||||
@@ -67,36 +69,33 @@ class Kernel extends ConsoleKernel
|
|||||||
|
|
||||||
private function pullImages($schedule): void
|
private function pullImages($schedule): void
|
||||||
{
|
{
|
||||||
$settings = instanceSettings();
|
$servers = $this->allServers->whereRelation('settings', 'is_usable', true)->whereRelation('settings', 'is_reachable', true);
|
||||||
$servers = $this->allServers->where('settings.is_usable', true)->where('settings.is_reachable', true)->where('ip', '!=', '1.2.3.4');
|
|
||||||
foreach ($servers as $server) {
|
foreach ($servers as $server) {
|
||||||
if ($server->isSentinelEnabled()) {
|
if ($server->isSentinelEnabled()) {
|
||||||
$schedule->job(function () use ($server) {
|
$schedule->job(function () use ($server) {
|
||||||
CheckAndStartSentinelJob::dispatch($server);
|
CheckAndStartSentinelJob::dispatch($server);
|
||||||
})->cron($settings->update_check_frequency)->timezone($settings->instance_timezone)->onOneServer();
|
})->cron($this->settings->update_check_frequency)->timezone($this->settings->instance_timezone)->onOneServer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$schedule->job(new CheckHelperImageJob)
|
$schedule->job(new CheckHelperImageJob)
|
||||||
->cron($settings->update_check_frequency)
|
->cron($this->settings->update_check_frequency)
|
||||||
->timezone($settings->instance_timezone)
|
->timezone($this->settings->instance_timezone)
|
||||||
->onOneServer();
|
->onOneServer();
|
||||||
}
|
}
|
||||||
|
|
||||||
private function scheduleUpdates($schedule): void
|
private function scheduleUpdates($schedule): void
|
||||||
{
|
{
|
||||||
$settings = instanceSettings();
|
$updateCheckFrequency = $this->settings->update_check_frequency;
|
||||||
|
|
||||||
$updateCheckFrequency = $settings->update_check_frequency;
|
|
||||||
$schedule->job(new CheckForUpdatesJob)
|
$schedule->job(new CheckForUpdatesJob)
|
||||||
->cron($updateCheckFrequency)
|
->cron($updateCheckFrequency)
|
||||||
->timezone($settings->instance_timezone)
|
->timezone($this->settings->instance_timezone)
|
||||||
->onOneServer();
|
->onOneServer();
|
||||||
|
|
||||||
if ($settings->is_auto_update_enabled) {
|
if ($this->settings->is_auto_update_enabled) {
|
||||||
$autoUpdateFrequency = $settings->auto_update_frequency;
|
$autoUpdateFrequency = $this->settings->auto_update_frequency;
|
||||||
$schedule->job(new UpdateCoolifyJob)
|
$schedule->job(new UpdateCoolifyJob)
|
||||||
->cron($autoUpdateFrequency)
|
->cron($autoUpdateFrequency)
|
||||||
->timezone($settings->instance_timezone)
|
->timezone($this->settings->instance_timezone)
|
||||||
->onOneServer();
|
->onOneServer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -104,11 +103,11 @@ class Kernel extends ConsoleKernel
|
|||||||
private function checkResources($schedule): void
|
private function checkResources($schedule): void
|
||||||
{
|
{
|
||||||
if (isCloud()) {
|
if (isCloud()) {
|
||||||
$servers = $this->allServers->whereNotNull('team.subscription')->where('team.subscription.stripe_trial_already_ended', false)->where('ip', '!=', '1.2.3.4');
|
$servers = $this->allServers->whereNotNull('team.subscription')->where('team.subscription.stripe_trial_already_ended', false);
|
||||||
$own = Team::find(0)->servers;
|
$own = Team::find(0)->servers;
|
||||||
$servers = $servers->merge($own);
|
$servers = $servers->merge($own);
|
||||||
} else {
|
} else {
|
||||||
$servers = $this->allServers->where('ip', '!=', '1.2.3.4');
|
$servers = $this->allServers;
|
||||||
}
|
}
|
||||||
foreach ($servers as $server) {
|
foreach ($servers as $server) {
|
||||||
$lastSentinelUpdate = $server->sentinel_updated_at;
|
$lastSentinelUpdate = $server->sentinel_updated_at;
|
||||||
|
|||||||
@@ -25,19 +25,6 @@ class ServerCheckJob implements ShouldBeEncrypted, ShouldQueue
|
|||||||
|
|
||||||
public $containers;
|
public $containers;
|
||||||
|
|
||||||
public $applications;
|
|
||||||
|
|
||||||
public $databases;
|
|
||||||
|
|
||||||
public $services;
|
|
||||||
|
|
||||||
public $previews;
|
|
||||||
|
|
||||||
public function backoff(): int
|
|
||||||
{
|
|
||||||
return isDev() ? 1 : 3;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function __construct(public Server $server) {}
|
public function __construct(public Server $server) {}
|
||||||
|
|
||||||
public function handle()
|
public function handle()
|
||||||
@@ -47,11 +34,6 @@ class ServerCheckJob implements ShouldBeEncrypted, ShouldQueue
|
|||||||
return 'Server is not reachable or not ready.';
|
return 'Server is not reachable or not ready.';
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->applications = $this->server->applications();
|
|
||||||
$this->databases = $this->server->databases();
|
|
||||||
$this->services = $this->server->services()->get();
|
|
||||||
$this->previews = $this->server->previews();
|
|
||||||
|
|
||||||
if (! $this->server->isSwarmWorker() && ! $this->server->isBuildServer()) {
|
if (! $this->server->isSwarmWorker() && ! $this->server->isBuildServer()) {
|
||||||
['containers' => $this->containers, 'containerReplicates' => $containerReplicates] = $this->server->getContainers();
|
['containers' => $this->containers, 'containerReplicates' => $containerReplicates] = $this->server->getContainers();
|
||||||
if (is_null($this->containers)) {
|
if (is_null($this->containers)) {
|
||||||
|
|||||||
@@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
namespace App\Livewire\Server;
|
namespace App\Livewire\Server;
|
||||||
|
|
||||||
|
use App\Actions\Server\StartSentinel;
|
||||||
|
use App\Actions\Server\StopSentinel;
|
||||||
use App\Models\Server;
|
use App\Models\Server;
|
||||||
use Livewire\Attributes\Rule;
|
use Livewire\Attributes\Rule;
|
||||||
use Livewire\Component;
|
use Livewire\Component;
|
||||||
@@ -177,6 +179,37 @@ class Show extends Component
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function restartSentinel()
|
||||||
|
{
|
||||||
|
$this->server->restartSentinel();
|
||||||
|
$this->dispatch('success', 'Sentinel restarted.');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function updatedIsSentinelDebugEnabled($value)
|
||||||
|
{
|
||||||
|
$this->submit();
|
||||||
|
$this->restartSentinel();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function updatedIsMetricsEnabled($value)
|
||||||
|
{
|
||||||
|
$this->submit();
|
||||||
|
$this->restartSentinel();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function updatedIsSentinelEnabled($value)
|
||||||
|
{
|
||||||
|
if ($value === true) {
|
||||||
|
StartSentinel::run($this->server, true);
|
||||||
|
} else {
|
||||||
|
$this->isMetricsEnabled = false;
|
||||||
|
$this->isSentinelDebugEnabled = false;
|
||||||
|
StopSentinel::dispatch($this->server);
|
||||||
|
}
|
||||||
|
$this->submit();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public function regenerateSentinelToken()
|
public function regenerateSentinelToken()
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
@@ -196,7 +229,7 @@ class Show extends Component
|
|||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
$this->syncData(true);
|
$this->syncData(true);
|
||||||
$this->dispatch('success', 'Server updated');
|
$this->dispatch('success', 'Server updated.');
|
||||||
} catch (\Throwable $e) {
|
} catch (\Throwable $e) {
|
||||||
return handleError($e, $this);
|
return handleError($e, $this);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ namespace App\Models;
|
|||||||
use App\Actions\Server\InstallDocker;
|
use App\Actions\Server\InstallDocker;
|
||||||
use App\Actions\Server\StartSentinel;
|
use App\Actions\Server\StartSentinel;
|
||||||
use App\Enums\ProxyTypes;
|
use App\Enums\ProxyTypes;
|
||||||
use App\Helpers\SshMultiplexingHelper;
|
|
||||||
use App\Jobs\CheckAndStartSentinelJob;
|
use App\Jobs\CheckAndStartSentinelJob;
|
||||||
use App\Notifications\Server\Reachable;
|
use App\Notifications\Server\Reachable;
|
||||||
use App\Notifications\Server\Unreachable;
|
use App\Notifications\Server\Unreachable;
|
||||||
@@ -880,8 +879,6 @@ $schema://$host {
|
|||||||
$standalone_docker = $this->hasMany(StandaloneDocker::class)->get();
|
$standalone_docker = $this->hasMany(StandaloneDocker::class)->get();
|
||||||
$swarm_docker = $this->hasMany(SwarmDocker::class)->get();
|
$swarm_docker = $this->hasMany(SwarmDocker::class)->get();
|
||||||
|
|
||||||
// $additional_dockers = $this->belongsToMany(StandaloneDocker::class, 'additional_destinations')->withPivot('server_id')->get();
|
|
||||||
// return $standalone_docker->concat($swarm_docker)->concat($additional_dockers);
|
|
||||||
return $standalone_docker->concat($swarm_docker);
|
return $standalone_docker->concat($swarm_docker);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1061,8 +1058,6 @@ $schema://$host {
|
|||||||
{
|
{
|
||||||
config()->set('constants.ssh.mux_enabled', ! $isManualCheck);
|
config()->set('constants.ssh.mux_enabled', ! $isManualCheck);
|
||||||
|
|
||||||
SshMultiplexingHelper::removeMuxFile($this);
|
|
||||||
|
|
||||||
if ($this->skipServer()) {
|
if ($this->skipServer()) {
|
||||||
return ['uptime' => false, 'error' => 'Server skipped.'];
|
return ['uptime' => false, 'error' => 'Server skipped.'];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,7 +10,12 @@ use Laravel\Sanctum\Sanctum;
|
|||||||
|
|
||||||
class AppServiceProvider extends ServiceProvider
|
class AppServiceProvider extends ServiceProvider
|
||||||
{
|
{
|
||||||
public function register(): void {}
|
public function register(): void
|
||||||
|
{
|
||||||
|
if ($this->app->environment('local')) {
|
||||||
|
$this->app->register(\Laravel\Telescope\TelescopeServiceProvider::class);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public function boot(): void
|
public function boot(): void
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -22,7 +22,6 @@
|
|||||||
"laravel/prompts": "^0.1.6",
|
"laravel/prompts": "^0.1.6",
|
||||||
"laravel/sanctum": "^4.0",
|
"laravel/sanctum": "^4.0",
|
||||||
"laravel/socialite": "^5.14.0",
|
"laravel/socialite": "^5.14.0",
|
||||||
"laravel/telescope": "^5.2",
|
|
||||||
"laravel/tinker": "^2.8.1",
|
"laravel/tinker": "^2.8.1",
|
||||||
"laravel/ui": "^4.2",
|
"laravel/ui": "^4.2",
|
||||||
"lcobucci/jwt": "^5.0.0",
|
"lcobucci/jwt": "^5.0.0",
|
||||||
@@ -56,6 +55,7 @@
|
|||||||
"fakerphp/faker": "^1.21.0",
|
"fakerphp/faker": "^1.21.0",
|
||||||
"laravel/dusk": "^8.0",
|
"laravel/dusk": "^8.0",
|
||||||
"laravel/pint": "^1.16",
|
"laravel/pint": "^1.16",
|
||||||
|
"laravel/telescope": "^5.2",
|
||||||
"mockery/mockery": "^1.5.1",
|
"mockery/mockery": "^1.5.1",
|
||||||
"nunomaduro/collision": "^8.1",
|
"nunomaduro/collision": "^8.1",
|
||||||
"pestphp/pest": "^2.16",
|
"pestphp/pest": "^2.16",
|
||||||
@@ -119,4 +119,4 @@
|
|||||||
"@php artisan key:generate --ansi"
|
"@php artisan key:generate --ansi"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
140
composer.lock
generated
140
composer.lock
generated
@@ -4,7 +4,7 @@
|
|||||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||||
"This file is @generated automatically"
|
"This file is @generated automatically"
|
||||||
],
|
],
|
||||||
"content-hash": "74c6029744c5c1101c704098a280bba1",
|
"content-hash": "3f2342fe6b1ba920c8875f8a8fe41962",
|
||||||
"packages": [
|
"packages": [
|
||||||
{
|
{
|
||||||
"name": "amphp/amp",
|
"name": "amphp/amp",
|
||||||
@@ -3476,75 +3476,6 @@
|
|||||||
},
|
},
|
||||||
"time": "2024-09-03T09:46:57+00:00"
|
"time": "2024-09-03T09:46:57+00:00"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "laravel/telescope",
|
|
||||||
"version": "v5.2.2",
|
|
||||||
"source": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/laravel/telescope.git",
|
|
||||||
"reference": "daaf95dee9fab2dd80f59b5f6611c6c0eff44878"
|
|
||||||
},
|
|
||||||
"dist": {
|
|
||||||
"type": "zip",
|
|
||||||
"url": "https://api.github.com/repos/laravel/telescope/zipball/daaf95dee9fab2dd80f59b5f6611c6c0eff44878",
|
|
||||||
"reference": "daaf95dee9fab2dd80f59b5f6611c6c0eff44878",
|
|
||||||
"shasum": ""
|
|
||||||
},
|
|
||||||
"require": {
|
|
||||||
"ext-json": "*",
|
|
||||||
"laravel/framework": "^8.37|^9.0|^10.0|^11.0",
|
|
||||||
"php": "^8.0",
|
|
||||||
"symfony/console": "^5.3|^6.0|^7.0",
|
|
||||||
"symfony/var-dumper": "^5.0|^6.0|^7.0"
|
|
||||||
},
|
|
||||||
"require-dev": {
|
|
||||||
"ext-gd": "*",
|
|
||||||
"guzzlehttp/guzzle": "^6.0|^7.0",
|
|
||||||
"laravel/octane": "^1.4|^2.0|dev-develop",
|
|
||||||
"orchestra/testbench": "^6.40|^7.37|^8.17|^9.0",
|
|
||||||
"phpstan/phpstan": "^1.10",
|
|
||||||
"phpunit/phpunit": "^9.0|^10.5"
|
|
||||||
},
|
|
||||||
"type": "library",
|
|
||||||
"extra": {
|
|
||||||
"laravel": {
|
|
||||||
"providers": [
|
|
||||||
"Laravel\\Telescope\\TelescopeServiceProvider"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"autoload": {
|
|
||||||
"psr-4": {
|
|
||||||
"Laravel\\Telescope\\": "src/",
|
|
||||||
"Laravel\\Telescope\\Database\\Factories\\": "database/factories/"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"notification-url": "https://packagist.org/downloads/",
|
|
||||||
"license": [
|
|
||||||
"MIT"
|
|
||||||
],
|
|
||||||
"authors": [
|
|
||||||
{
|
|
||||||
"name": "Taylor Otwell",
|
|
||||||
"email": "taylor@laravel.com"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Mohamed Said",
|
|
||||||
"email": "mohamed@laravel.com"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"description": "An elegant debug assistant for the Laravel framework.",
|
|
||||||
"keywords": [
|
|
||||||
"debugging",
|
|
||||||
"laravel",
|
|
||||||
"monitoring"
|
|
||||||
],
|
|
||||||
"support": {
|
|
||||||
"issues": "https://github.com/laravel/telescope/issues",
|
|
||||||
"source": "https://github.com/laravel/telescope/tree/v5.2.2"
|
|
||||||
},
|
|
||||||
"time": "2024-08-26T12:40:52+00:00"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "laravel/tinker",
|
"name": "laravel/tinker",
|
||||||
"version": "v2.10.0",
|
"version": "v2.10.0",
|
||||||
@@ -12467,6 +12398,75 @@
|
|||||||
},
|
},
|
||||||
"time": "2024-09-24T17:22:50+00:00"
|
"time": "2024-09-24T17:22:50+00:00"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "laravel/telescope",
|
||||||
|
"version": "v5.2.4",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/laravel/telescope.git",
|
||||||
|
"reference": "749369e996611d803e7c1b57929b482dd676008d"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/laravel/telescope/zipball/749369e996611d803e7c1b57929b482dd676008d",
|
||||||
|
"reference": "749369e996611d803e7c1b57929b482dd676008d",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"ext-json": "*",
|
||||||
|
"laravel/framework": "^8.37|^9.0|^10.0|^11.0",
|
||||||
|
"php": "^8.0",
|
||||||
|
"symfony/console": "^5.3|^6.0|^7.0",
|
||||||
|
"symfony/var-dumper": "^5.0|^6.0|^7.0"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"ext-gd": "*",
|
||||||
|
"guzzlehttp/guzzle": "^6.0|^7.0",
|
||||||
|
"laravel/octane": "^1.4|^2.0|dev-develop",
|
||||||
|
"orchestra/testbench": "^6.40|^7.37|^8.17|^9.0",
|
||||||
|
"phpstan/phpstan": "^1.10",
|
||||||
|
"phpunit/phpunit": "^9.0|^10.5"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"laravel": {
|
||||||
|
"providers": [
|
||||||
|
"Laravel\\Telescope\\TelescopeServiceProvider"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Laravel\\Telescope\\": "src/",
|
||||||
|
"Laravel\\Telescope\\Database\\Factories\\": "database/factories/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Taylor Otwell",
|
||||||
|
"email": "taylor@laravel.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Mohamed Said",
|
||||||
|
"email": "mohamed@laravel.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "An elegant debug assistant for the Laravel framework.",
|
||||||
|
"keywords": [
|
||||||
|
"debugging",
|
||||||
|
"laravel",
|
||||||
|
"monitoring"
|
||||||
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/laravel/telescope/issues",
|
||||||
|
"source": "https://github.com/laravel/telescope/tree/v5.2.4"
|
||||||
|
},
|
||||||
|
"time": "2024-10-29T15:35:13+00:00"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "maximebf/debugbar",
|
"name": "maximebf/debugbar",
|
||||||
"version": "v1.23.2",
|
"version": "v1.23.2",
|
||||||
|
|||||||
@@ -199,8 +199,6 @@ return [
|
|||||||
App\Providers\EventServiceProvider::class,
|
App\Providers\EventServiceProvider::class,
|
||||||
App\Providers\HorizonServiceProvider::class,
|
App\Providers\HorizonServiceProvider::class,
|
||||||
App\Providers\RouteServiceProvider::class,
|
App\Providers\RouteServiceProvider::class,
|
||||||
App\Providers\TelescopeServiceProvider::class,
|
|
||||||
|
|
||||||
],
|
],
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -115,7 +115,6 @@ return [
|
|||||||
'livewire*',
|
'livewire*',
|
||||||
'nova-api*',
|
'nova-api*',
|
||||||
'pulse*',
|
'pulse*',
|
||||||
'broadcasting/auth',
|
|
||||||
],
|
],
|
||||||
|
|
||||||
'ignore_commands' => [
|
'ignore_commands' => [
|
||||||
@@ -161,20 +160,20 @@ return [
|
|||||||
Watchers\ExceptionWatcher::class => env('TELESCOPE_EXCEPTION_WATCHER', true),
|
Watchers\ExceptionWatcher::class => env('TELESCOPE_EXCEPTION_WATCHER', true),
|
||||||
|
|
||||||
Watchers\GateWatcher::class => [
|
Watchers\GateWatcher::class => [
|
||||||
'enabled' => env('TELESCOPE_GATE_WATCHER', false),
|
'enabled' => env('TELESCOPE_GATE_WATCHER', true),
|
||||||
'ignore_abilities' => [],
|
'ignore_abilities' => [],
|
||||||
'ignore_packages' => true,
|
'ignore_packages' => true,
|
||||||
'ignore_paths' => [],
|
'ignore_paths' => [],
|
||||||
],
|
],
|
||||||
|
|
||||||
Watchers\JobWatcher::class => env('TELESCOPE_JOB_WATCHER', false),
|
Watchers\JobWatcher::class => env('TELESCOPE_JOB_WATCHER', true),
|
||||||
|
|
||||||
Watchers\LogWatcher::class => [
|
Watchers\LogWatcher::class => [
|
||||||
'enabled' => env('TELESCOPE_LOG_WATCHER', true),
|
'enabled' => env('TELESCOPE_LOG_WATCHER', true),
|
||||||
'level' => 'debug',
|
'level' => 'error',
|
||||||
],
|
],
|
||||||
|
|
||||||
Watchers\MailWatcher::class => env('TELESCOPE_MAIL_WATCHER', false),
|
Watchers\MailWatcher::class => env('TELESCOPE_MAIL_WATCHER', true),
|
||||||
|
|
||||||
Watchers\ModelWatcher::class => [
|
Watchers\ModelWatcher::class => [
|
||||||
'enabled' => env('TELESCOPE_MODEL_WATCHER', true),
|
'enabled' => env('TELESCOPE_MODEL_WATCHER', true),
|
||||||
@@ -182,7 +181,7 @@ return [
|
|||||||
'hydrations' => true,
|
'hydrations' => true,
|
||||||
],
|
],
|
||||||
|
|
||||||
Watchers\NotificationWatcher::class => env('TELESCOPE_NOTIFICATION_WATCHER', false),
|
Watchers\NotificationWatcher::class => env('TELESCOPE_NOTIFICATION_WATCHER', true),
|
||||||
|
|
||||||
Watchers\QueryWatcher::class => [
|
Watchers\QueryWatcher::class => [
|
||||||
'enabled' => env('TELESCOPE_QUERY_WATCHER', true),
|
'enabled' => env('TELESCOPE_QUERY_WATCHER', true),
|
||||||
@@ -200,7 +199,7 @@ return [
|
|||||||
'ignore_status_codes' => [],
|
'ignore_status_codes' => [],
|
||||||
],
|
],
|
||||||
|
|
||||||
Watchers\ScheduleWatcher::class => env('TELESCOPE_SCHEDULE_WATCHER', false),
|
Watchers\ScheduleWatcher::class => env('TELESCOPE_SCHEDULE_WATCHER', true),
|
||||||
Watchers\ViewWatcher::class => env('TELESCOPE_VIEW_WATCHER', true),
|
Watchers\ViewWatcher::class => env('TELESCOPE_VIEW_WATCHER', true),
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
|||||||
283
public/svgs/jenkins.svg
Normal file
283
public/svgs/jenkins.svg
Normal file
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 29 KiB |
8
public/svgs/jitsi.svg
Normal file
8
public/svgs/jitsi.svg
Normal file
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 12 KiB |
2
public/vendor/telescope/app.js
vendored
2
public/vendor/telescope/app.js
vendored
File diff suppressed because one or more lines are too long
2
public/vendor/telescope/mix-manifest.json
vendored
2
public/vendor/telescope/mix-manifest.json
vendored
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"/app.js": "/app.js?id=48ba33a2532e4b6ec718bc0f03b3f1e4",
|
"/app.js": "/app.js?id=99f84d421ae083196e0a45c3c310168b",
|
||||||
"/app-dark.css": "/app-dark.css?id=1ea407db56c5163ae29311f1f38eb7b9",
|
"/app-dark.css": "/app-dark.css?id=1ea407db56c5163ae29311f1f38eb7b9",
|
||||||
"/app.css": "/app.css?id=de4c978567bfd90b38d186937dee5ccf"
|
"/app.css": "/app.css?id=de4c978567bfd90b38d186937dee5ccf"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -70,7 +70,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="flex items-end gap-2">
|
<div class="flex items-end gap-2">
|
||||||
<x-forms.select label="Direction" id="application.redirect" required
|
<x-forms.select label="Direction" id="application.redirect" required
|
||||||
helper="You must need to add www and non-www as an A DNS record.">
|
helper="You need to add both the www and non-www A DNS records pointing to your server.">
|
||||||
<option value="both">Allow www & non-www.</option>
|
<option value="both">Allow www & non-www.</option>
|
||||||
<option value="www">Redirect to www.</option>
|
<option value="www">Redirect to www.</option>
|
||||||
<option value="non-www">Redirect to non-www.</option>
|
<option value="non-www">Redirect to non-www.</option>
|
||||||
|
|||||||
@@ -205,7 +205,6 @@
|
|||||||
<x-forms.checkbox id="isSentinelDebugEnabled" label="Enable Sentinel Debug" disabled
|
<x-forms.checkbox id="isSentinelDebugEnabled" label="Enable Sentinel Debug" disabled
|
||||||
instantSave />
|
instantSave />
|
||||||
<x-forms.checkbox instantSave disabled id="isMetricsEnabled" label="Enable Metrics" />
|
<x-forms.checkbox instantSave disabled id="isMetricsEnabled" label="Enable Metrics" />
|
||||||
label="Enable Metrics" />
|
|
||||||
@endif
|
@endif
|
||||||
</div>
|
</div>
|
||||||
@if ($server->isSentinelEnabled())
|
@if ($server->isSentinelEnabled())
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ x-logging: &x-logging
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
appwrite:
|
appwrite:
|
||||||
image: appwrite/appwrite:1.5
|
image: appwrite/appwrite:1.6
|
||||||
container_name: appwrite
|
container_name: appwrite
|
||||||
<<: *x-logging
|
<<: *x-logging
|
||||||
volumes:
|
volumes:
|
||||||
@@ -120,7 +120,7 @@ services:
|
|||||||
- _APP_ASSISTANT_OPENAI_API_KEY=${_APP_ASSISTANT_OPENAI_API_KEY}
|
- _APP_ASSISTANT_OPENAI_API_KEY=${_APP_ASSISTANT_OPENAI_API_KEY}
|
||||||
|
|
||||||
appwrite-realtime:
|
appwrite-realtime:
|
||||||
image: appwrite/appwrite:1.5
|
image: appwrite/appwrite:1.6
|
||||||
entrypoint: realtime
|
entrypoint: realtime
|
||||||
<<: *x-logging
|
<<: *x-logging
|
||||||
depends_on:
|
depends_on:
|
||||||
@@ -146,7 +146,7 @@ services:
|
|||||||
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG}
|
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG}
|
||||||
|
|
||||||
appwrite-worker-audits:
|
appwrite-worker-audits:
|
||||||
image: appwrite/appwrite:1.5
|
image: appwrite/appwrite:1.6
|
||||||
entrypoint: worker-audits
|
entrypoint: worker-audits
|
||||||
<<: *x-logging
|
<<: *x-logging
|
||||||
container_name: appwrite-worker-audits
|
container_name: appwrite-worker-audits
|
||||||
@@ -170,7 +170,7 @@ services:
|
|||||||
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG}
|
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG}
|
||||||
|
|
||||||
appwrite-worker-webhooks:
|
appwrite-worker-webhooks:
|
||||||
image: appwrite/appwrite:1.5
|
image: appwrite/appwrite:1.6
|
||||||
entrypoint: worker-webhooks
|
entrypoint: worker-webhooks
|
||||||
<<: *x-logging
|
<<: *x-logging
|
||||||
container_name: appwrite-worker-webhooks
|
container_name: appwrite-worker-webhooks
|
||||||
@@ -190,7 +190,7 @@ services:
|
|||||||
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG}
|
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG}
|
||||||
|
|
||||||
appwrite-worker-deletes:
|
appwrite-worker-deletes:
|
||||||
image: appwrite/appwrite:1.5
|
image: appwrite/appwrite:1.6
|
||||||
entrypoint: worker-deletes
|
entrypoint: worker-deletes
|
||||||
<<: *x-logging
|
<<: *x-logging
|
||||||
container_name: appwrite-worker-deletes
|
container_name: appwrite-worker-deletes
|
||||||
@@ -243,7 +243,7 @@ services:
|
|||||||
- _APP_EXECUTOR_HOST=${_APP_EXECUTOR_HOST:-http://appwrite-executor/v1}
|
- _APP_EXECUTOR_HOST=${_APP_EXECUTOR_HOST:-http://appwrite-executor/v1}
|
||||||
|
|
||||||
appwrite-worker-databases:
|
appwrite-worker-databases:
|
||||||
image: appwrite/appwrite:1.5
|
image: appwrite/appwrite:1.6
|
||||||
entrypoint: worker-databases
|
entrypoint: worker-databases
|
||||||
<<: *x-logging
|
<<: *x-logging
|
||||||
container_name: appwrite-worker-databases
|
container_name: appwrite-worker-databases
|
||||||
@@ -267,7 +267,7 @@ services:
|
|||||||
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG}
|
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG}
|
||||||
|
|
||||||
appwrite-worker-builds:
|
appwrite-worker-builds:
|
||||||
image: appwrite/appwrite:1.5
|
image: appwrite/appwrite:1.6
|
||||||
entrypoint: worker-builds
|
entrypoint: worker-builds
|
||||||
<<: *x-logging
|
<<: *x-logging
|
||||||
container_name: appwrite-worker-builds
|
container_name: appwrite-worker-builds
|
||||||
@@ -326,7 +326,7 @@ services:
|
|||||||
- _APP_STORAGE_WASABI_BUCKET=${_APP_STORAGE_WASABI_BUCKET}
|
- _APP_STORAGE_WASABI_BUCKET=${_APP_STORAGE_WASABI_BUCKET}
|
||||||
|
|
||||||
appwrite-worker-certificates:
|
appwrite-worker-certificates:
|
||||||
image: appwrite/appwrite:1.5
|
image: appwrite/appwrite:1.6
|
||||||
entrypoint: worker-certificates
|
entrypoint: worker-certificates
|
||||||
<<: *x-logging
|
<<: *x-logging
|
||||||
container_name: appwrite-worker-certificates
|
container_name: appwrite-worker-certificates
|
||||||
@@ -357,7 +357,7 @@ services:
|
|||||||
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG}
|
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG}
|
||||||
|
|
||||||
appwrite-worker-functions:
|
appwrite-worker-functions:
|
||||||
image: appwrite/appwrite:1.5
|
image: appwrite/appwrite:1.6
|
||||||
entrypoint: worker-functions
|
entrypoint: worker-functions
|
||||||
<<: *x-logging
|
<<: *x-logging
|
||||||
container_name: appwrite-worker-functions
|
container_name: appwrite-worker-functions
|
||||||
@@ -392,7 +392,7 @@ services:
|
|||||||
- _APP_LOGGING_PROVIDER=${_APP_LOGGING_PROVIDER}
|
- _APP_LOGGING_PROVIDER=${_APP_LOGGING_PROVIDER}
|
||||||
|
|
||||||
appwrite-worker-mails:
|
appwrite-worker-mails:
|
||||||
image: appwrite/appwrite:1.5
|
image: appwrite/appwrite:1.6
|
||||||
entrypoint: worker-mails
|
entrypoint: worker-mails
|
||||||
<<: *x-logging
|
<<: *x-logging
|
||||||
container_name: appwrite-worker-mails
|
container_name: appwrite-worker-mails
|
||||||
@@ -417,7 +417,7 @@ services:
|
|||||||
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG}
|
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG}
|
||||||
|
|
||||||
appwrite-worker-messaging:
|
appwrite-worker-messaging:
|
||||||
image: appwrite/appwrite:1.5
|
image: appwrite/appwrite:1.6
|
||||||
entrypoint: worker-messaging
|
entrypoint: worker-messaging
|
||||||
<<: *x-logging
|
<<: *x-logging
|
||||||
container_name: appwrite-worker-messaging
|
container_name: appwrite-worker-messaging
|
||||||
@@ -442,7 +442,7 @@ services:
|
|||||||
- _APP_SMS_PROVIDER=${_APP_SMS_PROVIDER}
|
- _APP_SMS_PROVIDER=${_APP_SMS_PROVIDER}
|
||||||
|
|
||||||
appwrite-worker-migrations:
|
appwrite-worker-migrations:
|
||||||
image: appwrite/appwrite:1.5
|
image: appwrite/appwrite:1.6
|
||||||
entrypoint: worker-migrations
|
entrypoint: worker-migrations
|
||||||
<<: *x-logging
|
<<: *x-logging
|
||||||
container_name: appwrite-worker-migrations
|
container_name: appwrite-worker-migrations
|
||||||
@@ -470,7 +470,7 @@ services:
|
|||||||
- _APP_MIGRATIONS_FIREBASE_CLIENT_SECRET=${_APP_MIGRATIONS_FIREBASE_CLIENT_SECRET}
|
- _APP_MIGRATIONS_FIREBASE_CLIENT_SECRET=${_APP_MIGRATIONS_FIREBASE_CLIENT_SECRET}
|
||||||
|
|
||||||
appwrite-maintenance:
|
appwrite-maintenance:
|
||||||
image: appwrite/appwrite:1.5
|
image: appwrite/appwrite:1.6
|
||||||
entrypoint: maintenance
|
entrypoint: maintenance
|
||||||
<<: *x-logging
|
<<: *x-logging
|
||||||
container_name: appwrite-maintenance
|
container_name: appwrite-maintenance
|
||||||
@@ -501,7 +501,7 @@ services:
|
|||||||
- _APP_MAINTENANCE_RETENTION_SCHEDULES=${_APP_MAINTENANCE_RETENTION_SCHEDULES:-86400}
|
- _APP_MAINTENANCE_RETENTION_SCHEDULES=${_APP_MAINTENANCE_RETENTION_SCHEDULES:-86400}
|
||||||
|
|
||||||
appwrite-worker-usage:
|
appwrite-worker-usage:
|
||||||
image: appwrite/appwrite:1.5
|
image: appwrite/appwrite:1.6
|
||||||
entrypoint: worker-usage
|
entrypoint: worker-usage
|
||||||
container_name: appwrite-worker-usage
|
container_name: appwrite-worker-usage
|
||||||
<<: *x-logging
|
<<: *x-logging
|
||||||
@@ -528,7 +528,7 @@ services:
|
|||||||
- _APP_USAGE_AGGREGATION_INTERVAL=${_APP_USAGE_AGGREGATION_INTERVAL:-30}
|
- _APP_USAGE_AGGREGATION_INTERVAL=${_APP_USAGE_AGGREGATION_INTERVAL:-30}
|
||||||
|
|
||||||
appwrite-worker-usage-dump:
|
appwrite-worker-usage-dump:
|
||||||
image: appwrite/appwrite:1.5
|
image: appwrite/appwrite:1.6
|
||||||
entrypoint: worker-usage-dump
|
entrypoint: worker-usage-dump
|
||||||
<<: *x-logging
|
<<: *x-logging
|
||||||
container_name: appwrite-worker-usage-dump
|
container_name: appwrite-worker-usage-dump
|
||||||
@@ -554,7 +554,7 @@ services:
|
|||||||
- _APP_USAGE_AGGREGATION_INTERVAL=${_APP_USAGE_AGGREGATION_INTERVAL:-30}
|
- _APP_USAGE_AGGREGATION_INTERVAL=${_APP_USAGE_AGGREGATION_INTERVAL:-30}
|
||||||
|
|
||||||
appwrite-scheduler-functions:
|
appwrite-scheduler-functions:
|
||||||
image: appwrite/appwrite:1.5
|
image: appwrite/appwrite:1.6
|
||||||
entrypoint: schedule-functions
|
entrypoint: schedule-functions
|
||||||
container_name: appwrite-scheduler-functions
|
container_name: appwrite-scheduler-functions
|
||||||
<<: *x-logging
|
<<: *x-logging
|
||||||
@@ -577,7 +577,7 @@ services:
|
|||||||
- _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB
|
- _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB
|
||||||
|
|
||||||
appwrite-scheduler-messages:
|
appwrite-scheduler-messages:
|
||||||
image: appwrite/appwrite:1.5
|
image: appwrite/appwrite:1.6
|
||||||
entrypoint: schedule-messages
|
entrypoint: schedule-messages
|
||||||
container_name: appwrite-scheduler-messages
|
container_name: appwrite-scheduler-messages
|
||||||
<<: *x-logging
|
<<: *x-logging
|
||||||
|
|||||||
20
templates/compose/jenkins.yaml
Normal file
20
templates/compose/jenkins.yaml
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
# documentation: https://www.jenkins.io/doc/
|
||||||
|
# slogan: Jenkins is an open source automation server, Jenkins provides hundreds of plugins to support building, deploying and automating any project.
|
||||||
|
# tags: jenkins, automation, open-source
|
||||||
|
# logo: svgs/jenkins.svg
|
||||||
|
# port: 8080
|
||||||
|
|
||||||
|
services:
|
||||||
|
jenkins:
|
||||||
|
image: jenkins/jenkins:latest
|
||||||
|
environment:
|
||||||
|
- SERVICE_FQDN_JENKINS_8080
|
||||||
|
volumes:
|
||||||
|
- jenkins-home:/var/jenkins_home
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "curl", "-f", "http://localhost:8080/login"]
|
||||||
|
interval: 30s
|
||||||
|
timeout: 10s
|
||||||
|
retries: 3
|
||||||
|
start_period: 40s
|
||||||
125
templates/compose/jitsi.yaml
Normal file
125
templates/compose/jitsi.yaml
Normal file
@@ -0,0 +1,125 @@
|
|||||||
|
# documentation: https://jitsi.github.io/handbook/docs/intro
|
||||||
|
# slogan: World's easiest way to add meetings to your apps
|
||||||
|
# logo: svgs/jitsi.svg
|
||||||
|
# tags: video, conferencing, meetings, communication, open-source
|
||||||
|
|
||||||
|
services:
|
||||||
|
jitsi-web:
|
||||||
|
image: "jitsi/web:${JITSI_IMAGE_VERSION:-unstable}"
|
||||||
|
container_name: jitsi-web
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- "8001:80"
|
||||||
|
- "8443:443"
|
||||||
|
volumes:
|
||||||
|
- ~/.jitsi-meet-cfg/web:/config:Z
|
||||||
|
- ~/.jitsi-meet-cfg/web/crontabs:/var/spool/cron/crontabs:Z
|
||||||
|
- ~/.jitsi-meet-cfg/transcripts:/usr/share/jitsi-meet/transcripts:Z
|
||||||
|
environment:
|
||||||
|
- SERVICE_FQDN_JITSI
|
||||||
|
- PUBLIC_URL=$SERVICE_FQDN_JITSI
|
||||||
|
- JITSI_IMAGE_VERSION=unstable
|
||||||
|
- JIBRI_RECORDER_PASSWORD=$SERVICE_PASSWORD_JITSI
|
||||||
|
- JIBRI_XMPP_PASSWORD=$SERVICE_PASSWORD_JITSI
|
||||||
|
- JICOFO_AUTH_PASSWORD=$SERVICE_PASSWORD_JITSI
|
||||||
|
- JIGASI_XMPP_PASSWORD=$SERVICE_PASSWORD_JITSI
|
||||||
|
- JVB_AUTH_PASSWORD=$SERVICE_PASSWORD_JITSI
|
||||||
|
- TZ=UTC
|
||||||
|
networks:
|
||||||
|
meet.jitsi:
|
||||||
|
aliases:
|
||||||
|
- meet.jitsi
|
||||||
|
depends_on:
|
||||||
|
- jvb
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "curl", "-f", "http://localhost"]
|
||||||
|
interval: 2s
|
||||||
|
timeout: 10s
|
||||||
|
retries: 15
|
||||||
|
|
||||||
|
prosody:
|
||||||
|
image: "jitsi/prosody:${JITSI_IMAGE_VERSION:-unstable}"
|
||||||
|
expose:
|
||||||
|
- '5222'
|
||||||
|
- '5347'
|
||||||
|
- '5280'
|
||||||
|
container_name: jitsi-xmpp
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- ~/.jitsi-meet-cfg/prosody/config:/config:Z
|
||||||
|
- ~/.jitsi-meet-cfg/prosody/prosody-plugins-custom:/prosody-plugins-custom:Z
|
||||||
|
environment:
|
||||||
|
- JICOFO_AUTH_PASSWORD
|
||||||
|
- JVB_AUTH_PASSWORD
|
||||||
|
- PUBLIC_URL=$SERVICE_FQDN_JITSI
|
||||||
|
- TZ
|
||||||
|
networks:
|
||||||
|
meet.jitsi:
|
||||||
|
aliases:
|
||||||
|
- xmpp.meet.jitsi
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "curl", "-f", "http://localhost:5280/http-bind"]
|
||||||
|
interval: 2s
|
||||||
|
timeout: 10s
|
||||||
|
retries: 15
|
||||||
|
|
||||||
|
jicofo:
|
||||||
|
image: "jitsi/jicofo:${JITSI_IMAGE_VERSION:-unstable}"
|
||||||
|
container_name: jitsi-jicofo
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- ~/.jitsi-meet-cfg/jicofo:/config:Z
|
||||||
|
environment:
|
||||||
|
- XMPP_SERVER=prosody
|
||||||
|
- JICOFO_AUTH_PASSWORD
|
||||||
|
- TZ
|
||||||
|
- JICOFO_ENABLE_HEALTH_CHECKS=1
|
||||||
|
depends_on:
|
||||||
|
- prosody
|
||||||
|
networks:
|
||||||
|
meet.jitsi:
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "curl", "-f", "http://localhost:8888/about/health"]
|
||||||
|
interval: 2s
|
||||||
|
timeout: 10s
|
||||||
|
retries: 15
|
||||||
|
|
||||||
|
jvb:
|
||||||
|
image: "jitsi/jvb:${JITSI_IMAGE_VERSION:-unstable}"
|
||||||
|
container_name: jitsi-jvb
|
||||||
|
restart: unless-stopped
|
||||||
|
expose:
|
||||||
|
- '10000:10000/udp'
|
||||||
|
- '8080:8080'
|
||||||
|
- '10000'
|
||||||
|
volumes:
|
||||||
|
- ~/.jitsi-meet-cfg/jvb:/config:Z
|
||||||
|
environment:
|
||||||
|
- JVB_ADVERTISE_IPS
|
||||||
|
- JVB_AUTH_PASSWORD
|
||||||
|
- PUBLIC_URL=$SERVICE_FQDN_JITSI
|
||||||
|
- TZ
|
||||||
|
- XMPP_SERVER=prosody
|
||||||
|
depends_on:
|
||||||
|
- prosody
|
||||||
|
networks:
|
||||||
|
meet.jitsi:
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.udp.routers.my-udp-router.entrypoints=video"
|
||||||
|
- "traefik.udp.routers.my-udp-router.service=my-udp-service"
|
||||||
|
- "traefik.udp.services.my-udp-service.loadbalancer.server.port=10000"
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "curl", "-f", "http://localhost:8080/about/health"]
|
||||||
|
interval: 2s
|
||||||
|
timeout: 10s
|
||||||
|
retries: 15
|
||||||
|
|
||||||
|
networks:
|
||||||
|
meet.jitsi:
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
jitsi-web:
|
||||||
|
jitsi-xmpp:
|
||||||
|
jitsi-jicofo:
|
||||||
|
jitsi-jvb:
|
||||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user