fixing docker (#113)

* fixing docker

* fix code style

* fix DB password env

* remove .env.docker
This commit is contained in:
Saeed Vaziry 2024-02-24 14:56:13 +01:00 committed by GitHub
parent d321fd5a1e
commit 44d8364a52
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 23 additions and 56 deletions

View File

@ -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

View File

@ -13,12 +13,20 @@ class CreateUserCommand extends Command
public function handle(): void 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'), 'name' => $this->argument('name'),
'email' => $this->argument('email'), 'email' => $this->argument('email'),
'password' => bcrypt($this->argument('password')), 'password' => bcrypt($this->argument('password')),
]); ]);
$this->info('User created with password'); $this->info('User created!');
} }
} }

View File

@ -7,6 +7,7 @@
use App\Support\SocialiteProviders\DropboxProvider; use App\Support\SocialiteProviders\DropboxProvider;
use Illuminate\Contracts\Container\BindingResolutionException; use Illuminate\Contracts\Container\BindingResolutionException;
use Illuminate\Http\Resources\Json\ResourceCollection; use Illuminate\Http\Resources\Json\ResourceCollection;
use Illuminate\Support\Facades\URL;
use Illuminate\Support\ServiceProvider; use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider class AppServiceProvider extends ServiceProvider
@ -35,6 +36,10 @@ public function boot(): void
}); });
$this->extendSocialite(); $this->extendSocialite();
if (str(config('app.url'))->startsWith('https://')) {
URL::forceScheme('https');
}
} }
/** /**

View File

@ -48,8 +48,8 @@
'url' => env('DATABASE_URL'), 'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', '127.0.0.1'), 'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'), 'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'), 'database' => env('DB_DATABASE', 'vito'),
'username' => env('DB_USERNAME', 'forge'), 'username' => env('DB_USERNAME', 'root'),
'password' => env('DB_PASSWORD', ''), 'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''), 'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4', 'charset' => 'utf8mb4',

View File

@ -18,7 +18,7 @@
| |
*/ */
'driver' => env('SESSION_DRIVER', 'file'), 'driver' => env('SESSION_DRIVER', 'database'),
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------

View File

@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
INIT_FLAG="/var/www/html/storage/.INIT_ENV" INIT_FLAG="/var/www/html/storage/.INIT_ENV"
MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD:-"password"} DB_PASSWORD=${DB_PASSWORD:-"password"}
NAME=${NAME:-"vito"} NAME=${NAME:-"vito"}
EMAIL=${EMAIL:-"vito@example.com"} EMAIL=${EMAIL:-"vito@example.com"}
PASSWORD=${PASSWORD:-"password"} 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;" mysql -u root -p`echo password` -e "CREATE DATABASE IF NOT EXISTS vito CHARACTER SET utf8 COLLATE utf8_general_ci;"
# Change Password # Change Password
mysql -u root -p`echo password` -e "ALTER USER 'root'@'localhost' IDENTIFIED BY '$MYSQL_ROOT_PASSWORD'; FLUSH PRIVILEGES;" mysql -u root -p`echo password` -e "ALTER USER 'root'@'localhost' IDENTIFIED BY '$DB_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"
# Generate SSH keys
openssl genpkey -algorithm RSA -out /var/www/html/storage/ssh-private.pem openssl genpkey -algorithm RSA -out /var/www/html/storage/ssh-private.pem
chmod 600 /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 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 view:cache
php /var/www/html/artisan icons:cache php /var/www/html/artisan icons:cache
php /var/www/html/artisan user:create "$NAME" "$EMAIL" "$PASSWORD"
echo "Vito is running! 🚀" echo "Vito is running! 🚀"
/usr/bin/supervisord /usr/bin/supervisord