feat: Root user envs and seeding
This commit is contained in:
		@@ -2,6 +2,10 @@ APP_ID=
 | 
				
			|||||||
APP_NAME=Coolify
 | 
					APP_NAME=Coolify
 | 
				
			||||||
APP_KEY=
 | 
					APP_KEY=
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ROOT_USER_NAME=
 | 
				
			||||||
 | 
					ROOT_USER_EMAIL=
 | 
				
			||||||
 | 
					ROOT_USER_PASSWORD=
 | 
				
			||||||
 | 
					
 | 
				
			||||||
DB_USERNAME=coolify
 | 
					DB_USERNAME=coolify
 | 
				
			||||||
DB_PASSWORD=
 | 
					DB_PASSWORD=
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -39,6 +39,9 @@ class ProductionSeeder extends Seeder
 | 
				
			|||||||
                ]);
 | 
					                ]);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					        // Seed root user first
 | 
				
			||||||
 | 
					        $this->call(RootUserSeeder::class);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (InstanceSettings::find(0) == null) {
 | 
					        if (InstanceSettings::find(0) == null) {
 | 
				
			||||||
            InstanceSettings::create([
 | 
					            InstanceSettings::create([
 | 
				
			||||||
                'id' => 0,
 | 
					                'id' => 0,
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										28
									
								
								database/seeders/RootUserSeeder.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								database/seeders/RootUserSeeder.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,28 @@
 | 
				
			|||||||
 | 
					<?php
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace Database\Seeders;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					use App\Models\User;
 | 
				
			||||||
 | 
					use Illuminate\Database\Seeder;
 | 
				
			||||||
 | 
					use Illuminate\Support\Facades\Hash;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class RootUserSeeder extends Seeder
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    public function run(): void
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        // Only seed if we have the required environment variables
 | 
				
			||||||
 | 
					        if (env('ROOT_USER_EMAIL') && env('ROOT_USER_PASSWORD')) {
 | 
				
			||||||
 | 
					            User::updateOrCreate(
 | 
				
			||||||
 | 
					                ['id' => 0],
 | 
				
			||||||
 | 
					                [
 | 
				
			||||||
 | 
					                    'name' => env('ROOT_USER_NAME', 'Root User'),
 | 
				
			||||||
 | 
					                    'email' => env('ROOT_USER_EMAIL'),
 | 
				
			||||||
 | 
					                    'password' => Hash::make(env('ROOT_USER_PASSWORD')),
 | 
				
			||||||
 | 
					                ]
 | 
				
			||||||
 | 
					            );
 | 
				
			||||||
 | 
					            echo "  Root user created/updated successfully.\n";
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
 | 
					            echo "  Warning: ROOT_USER_EMAIL and ROOT_USER_PASSWORD environment variables are required for root user creation.\n";
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Reference in New Issue
	
	Block a user