coolify/database/seeders/PopulateSshKeysDirectorySeeder.php

38 lines
1.1 KiB
PHP
Raw Normal View History

2024-09-16 17:34:46 +00:00
<?php
namespace Database\Seeders;
use App\Models\PrivateKey;
2024-09-16 17:34:46 +00:00
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\Process;
2024-09-16 17:34:46 +00:00
use Illuminate\Support\Facades\Storage;
class PopulateSshKeysDirectorySeeder extends Seeder
{
public function run()
{
2024-09-23 18:31:50 +00:00
try {
Storage::disk('ssh-keys')->deleteDirectory('');
Storage::disk('ssh-keys')->makeDirectory('');
Storage::disk('ssh-mux')->deleteDirectory('');
Storage::disk('ssh-mux')->makeDirectory('');
2024-09-16 17:34:46 +00:00
2024-09-23 18:31:50 +00:00
PrivateKey::chunk(100, function ($keys) {
foreach ($keys as $key) {
$key->storeInFileSystem();
}
});
2024-09-23 18:31:50 +00:00
if (isDev()) {
Process::run('chown -R 9999:9999 '.storage_path('app/ssh/keys'));
Process::run('chown -R 9999:9999 '.storage_path('app/ssh/mux'));
2024-09-23 18:31:50 +00:00
} else {
Process::run('chown -R 9999:root '.storage_path('app/ssh/keys'));
Process::run('chown -R 9999:root '.storage_path('app/ssh/mux'));
2024-09-23 18:31:50 +00:00
}
} catch (\Throwable $e) {
echo "Error: {$e->getMessage()}\n";
}
2024-09-16 17:34:46 +00:00
}
}