Complete heroku setup

This commit is contained in:
Bubka 2022-04-14 11:35:45 +02:00
parent bf495f9019
commit 37892e912e
5 changed files with 59 additions and 24 deletions

View File

@ -1 +1,2 @@
web: vendor/bin/heroku-php-nginx public/
web: vendor/bin/heroku-php-nginx -C nginx.conf public/
release: php artisan migrate --force && php artisan cache:clear && php artisan config:cache

View File

@ -15,21 +15,28 @@
"repository": "https://github.com/Bubka/2FAuth",
"success_url": "/register",
"scripts": {
"postdeploy": "php -r \"file_exists('.env') || copy('.env.heroku', '.env')\";php artisan migrate:refresh;php artisan passport:install;php artisan storage:link"
"postdeploy": [
"php artisan passport:install",
"php artisan storage:link"
]
},
"env": {
"APP_KEY": {
"description": "The encryption key for your database and sessions.",
"value": "base64:OfTFROuxY2NHE321rcwz0N4UW/SSXWEjzxOGiQD7nCY="
}
"APP_KEY": {
"generator": "secret"
},
"APP_NAME": "2FAuth",
"APP_ENV": "review",
"APP_DEBUG": "false",
"LOG_CHANNEL": "errorlog",
"DB_CONNECTION": "pgsql",
"CACHE_DRIVER": "redis",
"QUEUE_CONNECTION": "redis",
"SESSION_DRIVER": "redis",
"TRUSTED_PROXIES": "*"
},
"addons": [
{
"plan": "heroku-postgresql",
"options": {
"version": "13"
}
}
"heroku-postgresql",
"heroku-redis"
],
"buildpacks": [
{

View File

@ -52,7 +52,7 @@ return [
|
*/
'url' => env('APP_URL', 'http://localhost'),
'url' => env('APP_URL', env('HEROKU_APP_NAME') ? 'https://' . env('HEROKU_APP_NAME') . '.herokuapp.com' : 'http://localhost'),
'asset_url' => env('ASSET_URL', null),
@ -119,7 +119,7 @@ return [
|
*/
'key' => env('APP_KEY'),
'key' => strpos(env('APP_KEY'), 'base64:') !== false ? env('APP_KEY') : substr(env('APP_KEY'), 0, 32),
'cipher' => 'AES-256-CBC',

View File

@ -2,6 +2,23 @@
use Illuminate\Support\Str;
$databaseUrl = getenv('DATABASE_URL');
$host = '';
$username = '';
$password = '';
$database = '';
$port = '';
if (false !== $databaseUrl) {
$options = parse_url($databaseUrl);
$host = $options['host'] ?? '127.0.0.1';
$username = $options['user'] ?? 'forge';
$password = $options['pass'] ?? '';
$database = substr($options['path'] ?? '/forge', 1);
$port = $options['port'];
}
return [
/*
@ -53,11 +70,11 @@ return [
'mysql' => [
'driver' => 'mysql',
'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'),
'password' => env('DB_PASSWORD', ''),
'host' => env('DB_HOST', $host),
'port' => env('DB_PORT', $port ?? '3306'),
'database' => env('DB_DATABASE', $database),
'username' => env('DB_USERNAME', $username),
'password' => env('DB_PASSWORD', $password),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
@ -73,11 +90,11 @@ return [
'pgsql' => [
'driver' => 'pgsql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '5432'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'host' => env('DB_HOST', $host),
'port' => env('DB_PORT', $port ?? '5432'),
'database' => env('DB_DATABASE', $database),
'username' => env('DB_USERNAME', $username),
'password' => env('DB_PASSWORD', $password),
'charset' => 'utf8',
'prefix' => '',
'prefix_indexes' => true,

10
nginx.conf Normal file
View File

@ -0,0 +1,10 @@
if ($http_x_forwarded_proto != 'https') {
rewrite ^ https://$host$request_uri? permanent;
}
location / {
try_files $uri @rewriteapp;
}
location @rewriteapp {
rewrite ^(.*)$ /index.php$1 last;
}