From 3d386e529e12694b87c56aa1694adc374826e6f7 Mon Sep 17 00:00:00 2001 From: Buster Neece Date: Sun, 15 Jan 2023 16:30:22 -0600 Subject: [PATCH] Re-merge setup:initialize and regular setup. --- config/cli.php | 1 - src/Console/Command/InitializeCommand.php | 77 ----------------------- src/Console/Command/SetupCommand.php | 55 ++++++++++++++-- util/docker/web/scripts/run_php_fpm | 2 +- 4 files changed, 50 insertions(+), 85 deletions(-) delete mode 100644 src/Console/Command/InitializeCommand.php diff --git a/config/cli.php b/config/cli.php index c81b01aa3..dc9b8f20e 100644 --- a/config/cli.php +++ b/config/cli.php @@ -22,7 +22,6 @@ return function (App\Event\BuildConsoleCommands $event) { 'azuracast:account:reset-password' => Command\Users\ResetPasswordCommand::class, 'azuracast:account:set-administrator' => Command\Users\SetAdministratorCommand::class, 'azuracast:cache:clear' => Command\ClearCacheCommand::class, - 'azuracast:setup:initialize' => Command\InitializeCommand::class, 'azuracast:config:migrate' => Command\MigrateConfigCommand::class, 'azuracast:setup:migrate' => Command\MigrateDbCommand::class, 'azuracast:setup:fixtures' => Command\SetupFixturesCommand::class, diff --git a/src/Console/Command/InitializeCommand.php b/src/Console/Command/InitializeCommand.php deleted file mode 100644 index 7760fb58d..000000000 --- a/src/Console/Command/InitializeCommand.php +++ /dev/null @@ -1,77 +0,0 @@ -title(__('Initialize AzuraCast')); - $io->writeln(__('Initializing essential settings...')); - - $io->listing( - [ - sprintf( - __('Environment: %s'), - $this->environment->getAppEnvironmentEnum()->getName() - ), - sprintf( - __('Installation Method: %s'), - $this->environment->isDocker() ? 'Docker' : 'Ansible' - ), - ] - ); - - $io->newLine(); - $io->section(__('Running Database Migrations')); - - $this->runCommand( - $output, - 'azuracast:setup:migrate' - ); - - $io->newLine(); - $io->section(__('Generating Database Proxy Classes')); - - $this->runCommand($output, 'orm:generate-proxies'); - - $io->newLine(); - $io->section(__('Reload System Data')); - - $this->runCommand($output, 'cache:clear'); - - // Ensure default storage locations exist. - $this->storageLocationRepo->createDefaultStorageLocations(); - - $io->newLine(); - $io->success( - [ - __('AzuraCast is now initialized.'), - ] - ); - - return 0; - } -} diff --git a/src/Console/Command/SetupCommand.php b/src/Console/Command/SetupCommand.php index 7503b6c8b..f044d0370 100644 --- a/src/Console/Command/SetupCommand.php +++ b/src/Console/Command/SetupCommand.php @@ -23,6 +23,7 @@ final class SetupCommand extends CommandAbstract private readonly Environment $environment, private readonly Entity\Repository\SettingsRepository $settingsRepo, private readonly AzuraCastCentral $acCentral, + private readonly Entity\Repository\StorageLocationRepository $storageLocationRepo ) { parent::__construct(); } @@ -31,7 +32,8 @@ final class SetupCommand extends CommandAbstract { $this->addOption('update', null, InputOption::VALUE_NONE) ->addOption('load-fixtures', null, InputOption::VALUE_NONE) - ->addOption('release', null, InputOption::VALUE_NONE); + ->addOption('release', null, InputOption::VALUE_NONE) + ->addOption('init', null, InputOption::VALUE_NONE); } protected function execute(InputInterface $input, OutputInterface $output): int @@ -40,20 +42,57 @@ final class SetupCommand extends CommandAbstract $update = (bool)$input->getOption('update'); $loadFixtures = (bool)$input->getOption('load-fixtures'); + $isInit = (bool)$input->getOption('init'); - $io->title(__('AzuraCast Setup')); - $io->writeln(__('Welcome to AzuraCast. Please wait while some key dependencies of AzuraCast are set up...')); + if ($isInit) { + $update = true; + $loadFixtures = false; + } - $this->runCommand($output, 'azuracast:setup:initialize'); + if (!$update && !$this->environment->isProduction()) { + $loadFixtures = true; + } - if ($loadFixtures || (!$this->environment->isProduction() && !$update)) { + // Header display + if ($isInit) { + $io->title(__('AzuraCast Initializing...')); + } else { + $io->title(__('AzuraCast Setup')); + $io->writeln( + __('Welcome to AzuraCast. Please wait while some key dependencies of AzuraCast are set up...') + ); $io->newLine(); + } + + $io->section(__('Running Database Migrations')); + + $this->runCommand( + $output, + 'azuracast:setup:migrate' + ); + + $io->newLine(); + $io->section(__('Generating Database Proxy Classes')); + + $this->runCommand($output, 'orm:generate-proxies'); + + $io->newLine(); + $io->section(__('Reload System Data')); + + $this->runCommand($output, 'cache:clear'); + + // Ensure default storage locations exist. + $this->storageLocationRepo->createDefaultStorageLocations(); + + $io->newLine(); + + if ($loadFixtures) { $io->section(__('Installing Data Fixtures')); $this->runCommand($output, 'azuracast:setup:fixtures'); + $io->newLine(); } - $io->newLine(); $io->section(__('Refreshing All Stations')); $this->runCommand($output, 'azuracast:station-queues:clear'); @@ -69,6 +108,10 @@ final class SetupCommand extends CommandAbstract $restartArgs ); + if ($isInit) { + return 0; + } + // Update system setting logging when updates were last run. $settings = $this->settingsRepo->readSettings(); $settings->updateUpdateLastRun(); diff --git a/util/docker/web/scripts/run_php_fpm b/util/docker/web/scripts/run_php_fpm index 50d65cd90..9e213fdf9 100644 --- a/util/docker/web/scripts/run_php_fpm +++ b/util/docker/web/scripts/run_php_fpm @@ -11,7 +11,7 @@ dockerize -template "/etc/php/${PHP_VERSION}/fpm/05-azuracast.ini.tmpl:/etc/php/ gosu azuracast php /var/azuracast/www/bin/uptime_wait || exit 1 # Initialize before running FPM -gosu azuracast azuracast_cli azuracast:setup:initialize || exit 1 +gosu azuracast azuracast_cli azuracast:setup --init || exit 1 # Run initial Acme check gosu azuracast azuracast_cli azuracast:acme:get-certificate || true