diff --git a/database/migrations/2023_03_20_112814_create_instance_settings_table.php b/database/migrations/2023_03_20_112814_create_instance_settings_table.php index 2432d0244..8d30c2b2c 100644 --- a/database/migrations/2023_03_20_112814_create_instance_settings_table.php +++ b/database/migrations/2023_03_20_112814_create_instance_settings_table.php @@ -13,6 +13,7 @@ return new class extends Migration { Schema::create('instance_settings', function (Blueprint $table) { $table->id(); + $table->string('public_ip_address')->nullable(); $table->string('fqdn')->nullable(); $table->string('wildcard_domain')->nullable(); $table->string('default_redirect_404')->nullable(); diff --git a/database/seeders/ProductionSeeder.php b/database/seeders/ProductionSeeder.php index 3c66a7dc1..50aa2fefa 100644 --- a/database/seeders/ProductionSeeder.php +++ b/database/seeders/ProductionSeeder.php @@ -13,6 +13,7 @@ use App\Models\Server; use App\Models\StandaloneDocker; use App\Models\Team; use Illuminate\Database\Seeder; +use Illuminate\Support\Facades\Process; use Illuminate\Support\Facades\Storage; class ProductionSeeder extends Seeder @@ -105,5 +106,16 @@ class ProductionSeeder extends Seeder 'server_id' => 0, ]); } + try { + $ip = Process::run('curl -4s https://ifconfig.io')->output; + $ip = trim($ip); + $ip = filter_var($ip, FILTER_VALIDATE_IP); + $settings = InstanceSettings::get(); + if ($settings->public_ip_address !== $ip) { + $settings->update(['public_ip_address' => $ip]); + } + } catch (\Exception $e) { + echo "Error: {$e->getMessage()}\n"; + } } } diff --git a/resources/views/dashboard.blade.php b/resources/views/dashboard.blade.php index ed95d48e7..9ada88883 100644 --- a/resources/views/dashboard.blade.php +++ b/resources/views/dashboard.blade.php @@ -17,6 +17,5 @@
{{ $resources }}
Applications, databases, etc...
-