mirror of
https://github.com/cupcakearmy/coolify.git
synced 2024-10-22 08:04:19 +02:00
fixed database seeder, remove dependency on form.php
This commit is contained in:
parent
74bf4629d6
commit
a981b49502
@ -4,9 +4,9 @@
|
||||
|
||||
use App\Models\Server;
|
||||
use Illuminate\Database\Seeder;
|
||||
use App\Livewire\Server\Form;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
|
||||
class ServerTimezoneSeeder extends Seeder
|
||||
{
|
||||
public function run(): void
|
||||
@ -17,22 +17,42 @@ public function run(): void
|
||||
$query->whereNull('server_timezone')->orWhere('server_timezone', '');
|
||||
})->each(function ($server) use ($defaultTimezone) {
|
||||
DB::transaction(function () use ($server, $defaultTimezone) {
|
||||
$server->settings->server_timezone = $defaultTimezone;
|
||||
$server->settings->save();
|
||||
|
||||
$formComponent = new Form();
|
||||
$formComponent->server = $server;
|
||||
$formComponent->updateServerTimezone($defaultTimezone);
|
||||
|
||||
// Refresh the server settings to ensure we have the latest data
|
||||
$server->settings->refresh();
|
||||
|
||||
// Double-check and set the timezone if it's still not set
|
||||
if (!$server->settings->server_timezone) {
|
||||
$server->settings->server_timezone = $defaultTimezone;
|
||||
$server->settings->save();
|
||||
}
|
||||
$this->updateServerTimezone($server, $defaultTimezone);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
private function updateServerTimezone($server, $desired_timezone)
|
||||
{
|
||||
$commands = [
|
||||
"if command -v timedatectl > /dev/null 2>&1 && pidof systemd > /dev/null; then",
|
||||
" timedatectl set-timezone " . escapeshellarg($desired_timezone),
|
||||
"elif [ -f /etc/timezone ]; then",
|
||||
" echo " . escapeshellarg($desired_timezone) . " > /etc/timezone",
|
||||
" rm -f /etc/localtime",
|
||||
" ln -sf /usr/share/zoneinfo/" . escapeshellarg($desired_timezone) . " /etc/localtime",
|
||||
"elif [ -f /etc/localtime ]; then",
|
||||
" rm -f /etc/localtime",
|
||||
" ln -sf /usr/share/zoneinfo/" . escapeshellarg($desired_timezone) . " /etc/localtime",
|
||||
"fi",
|
||||
"if command -v dpkg-reconfigure > /dev/null 2>&1; then",
|
||||
" dpkg-reconfigure -f noninteractive tzdata",
|
||||
"elif command -v tzdata-update > /dev/null 2>&1; then",
|
||||
" tzdata-update",
|
||||
"elif [ -f /etc/sysconfig/clock ]; then",
|
||||
" sed -i 's/^ZONE=.*/ZONE=\"" . $desired_timezone . "\"/' /etc/sysconfig/clock",
|
||||
" source /etc/sysconfig/clock",
|
||||
"fi",
|
||||
"if command -v systemctl > /dev/null 2>&1 && pidof systemd > /dev/null; then",
|
||||
" systemctl try-restart systemd-timesyncd.service || true",
|
||||
"elif command -v service > /dev/null 2>&1; then",
|
||||
" service ntpd restart || service ntp restart || true",
|
||||
"fi"
|
||||
];
|
||||
|
||||
instant_remote_process($commands, $server);
|
||||
|
||||
$server->settings->server_timezone = $desired_timezone;
|
||||
$server->settings->save();
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user