From 44d8364a52dcf024d864dd118181c3f198dd31d4 Mon Sep 17 00:00:00 2001 From: Saeed Vaziry <61919774+saeedvaziry@users.noreply.github.com> Date: Sat, 24 Feb 2024 14:56:13 +0100 Subject: [PATCH] fixing docker (#113) * fixing docker * fix code style * fix DB password env * remove .env.docker --- .env.docker | 38 ---------------------- app/Console/Commands/CreateUserCommand.php | 12 +++++-- app/Providers/AppServiceProvider.php | 5 +++ config/database.php | 4 +-- config/session.php | 2 +- docker/standalone/start.sh | 18 +++------- 6 files changed, 23 insertions(+), 56 deletions(-) delete mode 100755 .env.docker diff --git a/.env.docker b/.env.docker deleted file mode 100755 index 0315a6e..0000000 --- a/.env.docker +++ /dev/null @@ -1,38 +0,0 @@ -APP_NAME=Vito -APP_ENV=production -APP_KEY= -APP_DEBUG=false -APP_URL=http://localhost - -LOG_CHANNEL=stack -LOG_LEVEL=debug - -DB_CONNECTION=mysql -DB_HOST=127.0.0.1 -DB_PORT=3306 -DB_DATABASE=vito -DB_USERNAME=root -DB_PASSWORD=password - -BROADCAST_DRIVER=null -CACHE_DRIVER=file -FILESYSTEM_DRIVER=local -QUEUE_CONNECTION=default -SESSION_DRIVER=database -SESSION_LIFETIME=120 - -REDIS_HOST=127.0.0.1 -REDIS_PASSWORD=null -REDIS_PORT=6379 - -MAIL_MAILER=smtp -MAIL_HOST= -MAIL_PORT= -MAIL_USERNAME=null -MAIL_PASSWORD=null -MAIL_ENCRYPTION=null -MAIL_FROM_ADDRESS=null -MAIL_FROM_NAME="${APP_NAME}" - -SSH_PUBLIC_KEY_NAME=ssh-public.key -SSH_PRIVATE_KEY_NAME=ssh-private.pem diff --git a/app/Console/Commands/CreateUserCommand.php b/app/Console/Commands/CreateUserCommand.php index db85401..187431b 100644 --- a/app/Console/Commands/CreateUserCommand.php +++ b/app/Console/Commands/CreateUserCommand.php @@ -13,12 +13,20 @@ class CreateUserCommand extends Command public function handle(): void { - User::create([ + $user = User::query()->where('email', $this->argument('email'))->first(); + + if ($user) { + $this->warn('User already exists. Skipping...'); + + return; + } + + User::query()->create([ 'name' => $this->argument('name'), 'email' => $this->argument('email'), 'password' => bcrypt($this->argument('password')), ]); - $this->info('User created with password'); + $this->info('User created!'); } } diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index 41c7bb1..75855f8 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -7,6 +7,7 @@ use App\Support\SocialiteProviders\DropboxProvider; use Illuminate\Contracts\Container\BindingResolutionException; use Illuminate\Http\Resources\Json\ResourceCollection; +use Illuminate\Support\Facades\URL; use Illuminate\Support\ServiceProvider; class AppServiceProvider extends ServiceProvider @@ -35,6 +36,10 @@ public function boot(): void }); $this->extendSocialite(); + + if (str(config('app.url'))->startsWith('https://')) { + URL::forceScheme('https'); + } } /** diff --git a/config/database.php b/config/database.php index 137ad18..833bcc8 100644 --- a/config/database.php +++ b/config/database.php @@ -48,8 +48,8 @@ 'url' => env('DATABASE_URL'), 'host' => env('DB_HOST', '127.0.0.1'), 'port' => env('DB_PORT', '3306'), - 'database' => env('DB_DATABASE', 'forge'), - 'username' => env('DB_USERNAME', 'forge'), + 'database' => env('DB_DATABASE', 'vito'), + 'username' => env('DB_USERNAME', 'root'), 'password' => env('DB_PASSWORD', ''), 'unix_socket' => env('DB_SOCKET', ''), 'charset' => 'utf8mb4', diff --git a/config/session.php b/config/session.php index 8fed97c..cbcaf0b 100644 --- a/config/session.php +++ b/config/session.php @@ -18,7 +18,7 @@ | */ - 'driver' => env('SESSION_DRIVER', 'file'), + 'driver' => env('SESSION_DRIVER', 'database'), /* |-------------------------------------------------------------------------- diff --git a/docker/standalone/start.sh b/docker/standalone/start.sh index 8495ced..9c9ee93 100644 --- a/docker/standalone/start.sh +++ b/docker/standalone/start.sh @@ -1,7 +1,7 @@ #!/bin/bash INIT_FLAG="/var/www/html/storage/.INIT_ENV" -MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD:-"password"} +DB_PASSWORD=${DB_PASSWORD:-"password"} NAME=${NAME:-"vito"} EMAIL=${EMAIL:-"vito@example.com"} PASSWORD=${PASSWORD:-"password"} @@ -20,19 +20,9 @@ if [ ! -f "$INIT_FLAG" ]; then mysql -u root -p`echo password` -e "CREATE DATABASE IF NOT EXISTS vito CHARACTER SET utf8 COLLATE utf8_general_ci;" # Change Password - mysql -u root -p`echo password` -e "ALTER USER 'root'@'localhost' IDENTIFIED BY '$MYSQL_ROOT_PASSWORD'; FLUSH PRIVILEGES;" - - cp /var/www/html/.env.docker /var/www/html/.env - - # Modify /var/www/html/.env and set DB_PASSWORD=password to DB_PASSWORD=MYSQL_ROOT_PASSWORD - sed -i "s/DB_PASSWORD=password/DB_PASSWORD=$MYSQL_ROOT_PASSWORD/g" /var/www/html/.env - - php /var/www/html/artisan key:generate - - php /var/www/html/artisan migrate --force - - php /var/www/html/artisan user:create "$NAME" "$EMAIL" "$PASSWORD" + mysql -u root -p`echo password` -e "ALTER USER 'root'@'localhost' IDENTIFIED BY '$DB_PASSWORD'; FLUSH PRIVILEGES;" + # Generate SSH keys openssl genpkey -algorithm RSA -out /var/www/html/storage/ssh-private.pem chmod 600 /var/www/html/storage/ssh-private.pem ssh-keygen -y -f /var/www/html/storage/ssh-private.pem > /var/www/html/storage/ssh-public.key @@ -56,6 +46,8 @@ php /var/www/html/artisan view:clear php /var/www/html/artisan view:cache php /var/www/html/artisan icons:cache +php /var/www/html/artisan user:create "$NAME" "$EMAIL" "$PASSWORD" + echo "Vito is running! 🚀" /usr/bin/supervisord