mirror of
https://github.com/pelican-dev/panel.git
synced 2025-05-20 19:14:45 +02:00

* simplify setup command * add installer page * add route for installer * adjust gitignore * set colors globally * add "unsaved data changes" alert * add helper method to check if panel is installed * make nicer * redis username isn't required * bring back db settings command * store current date in "installed" file * only redirect if install was successfull * remove fpm requirement * change "installed" marker to env variable * improve requirements step * add commands to change cache, queue or session drivers respectively * removed `grouped` for better mobile view
51 lines
1.5 KiB
PHP
51 lines
1.5 KiB
PHP
<?php
|
|
|
|
namespace App\Console\Commands\Environment;
|
|
|
|
use Illuminate\Console\Command;
|
|
use App\Traits\Commands\EnvironmentWriterTrait;
|
|
use Illuminate\Support\Facades\Artisan;
|
|
|
|
class AppSettingsCommand extends Command
|
|
{
|
|
use EnvironmentWriterTrait;
|
|
|
|
protected $description = 'Configure basic environment settings for the Panel.';
|
|
|
|
protected $signature = 'p:environment:setup
|
|
{--url= : The URL that this Panel is running on.}';
|
|
|
|
protected array $variables = [];
|
|
|
|
public function handle(): void
|
|
{
|
|
$path = base_path('.env');
|
|
if (!file_exists($path)) {
|
|
$this->comment('Copying example .env file');
|
|
copy($path . '.example', $path);
|
|
}
|
|
|
|
if (!config('app.key')) {
|
|
$this->comment('Generating app key');
|
|
Artisan::call('key:generate');
|
|
}
|
|
|
|
$this->variables['APP_TIMEZONE'] = 'UTC';
|
|
|
|
$this->variables['APP_URL'] = $this->option('url') ?? $this->ask(
|
|
'Application URL',
|
|
config('app.url', 'https://example.com')
|
|
);
|
|
|
|
// Make sure session cookies are set as "secure" when using HTTPS
|
|
if (str_starts_with($this->variables['APP_URL'], 'https://')) {
|
|
$this->variables['SESSION_SECURE_COOKIE'] = 'true';
|
|
}
|
|
|
|
$this->comment('Writing variables to .env file');
|
|
$this->writeToEnvironment($this->variables);
|
|
|
|
$this->info("Setup complete. Vist {$this->variables['APP_URL']}/installer to complete the installation");
|
|
}
|
|
}
|