mirror of
https://github.com/vitodeploy/vito.git
synced 2025-07-02 22:46:16 +00:00
init
This commit is contained in:
216
config/app.php
Normal file
216
config/app.php
Normal file
@ -0,0 +1,216 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Support\Facades\Facade;
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Application Name
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This value is the name of your application. This value is used when the
|
||||
| framework needs to place the application's name in a notification or
|
||||
| any other location as required by the application or its packages.
|
||||
|
|
||||
*/
|
||||
|
||||
'name' => env('APP_NAME', 'Laravel'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Application Environment
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This value determines the "environment" your application is currently
|
||||
| running in. This may determine how you prefer to configure various
|
||||
| services the application utilizes. Set this in your ".env" file.
|
||||
|
|
||||
*/
|
||||
|
||||
'env' => env('APP_ENV', 'production'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Application Debug Mode
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| When your application is in debug mode, detailed error messages with
|
||||
| stack traces will be shown on every error that occurs within your
|
||||
| application. If disabled, a simple generic error page is shown.
|
||||
|
|
||||
*/
|
||||
|
||||
'debug' => (bool) env('APP_DEBUG', false),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Application URL
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This URL is used by the console to properly generate URLs when using
|
||||
| the Artisan command line tool. You should set this to the root of
|
||||
| your application so that it is used when running Artisan tasks.
|
||||
|
|
||||
*/
|
||||
|
||||
'url' => env('APP_URL', 'http://localhost'),
|
||||
|
||||
'asset_url' => env('ASSET_URL'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Application Timezone
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may specify the default timezone for your application, which
|
||||
| will be used by the PHP date and date-time functions. We have gone
|
||||
| ahead and set this to a sensible default for you out of the box.
|
||||
|
|
||||
*/
|
||||
|
||||
'timezone' => 'UTC',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Application Locale Configuration
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The application locale determines the default locale that will be used
|
||||
| by the translation service provider. You are free to set this value
|
||||
| to any of the locales which will be supported by the application.
|
||||
|
|
||||
*/
|
||||
|
||||
'locale' => 'en',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Application Fallback Locale
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The fallback locale determines the locale to use when the current one
|
||||
| is not available. You may change the value to correspond to any of
|
||||
| the language folders that are provided through your application.
|
||||
|
|
||||
*/
|
||||
|
||||
'fallback_locale' => 'en',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Faker Locale
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This locale will be used by the Faker PHP library when generating fake
|
||||
| data for your database seeds. For example, this will be used to get
|
||||
| localized telephone numbers, street address information and more.
|
||||
|
|
||||
*/
|
||||
|
||||
'faker_locale' => 'en_US',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Encryption Key
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This key is used by the Illuminate encrypter service and should be set
|
||||
| to a random, 32 character string, otherwise these encrypted strings
|
||||
| will not be safe. Please do this before deploying an application!
|
||||
|
|
||||
*/
|
||||
|
||||
'key' => env('APP_KEY'),
|
||||
|
||||
'cipher' => 'AES-256-CBC',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Maintenance Mode Driver
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| These configuration options determine the driver used to determine and
|
||||
| manage Laravel's "maintenance mode" status. The "cache" driver will
|
||||
| allow maintenance mode to be controlled across multiple machines.
|
||||
|
|
||||
| Supported drivers: "file", "cache"
|
||||
|
|
||||
*/
|
||||
|
||||
'maintenance' => [
|
||||
'driver' => 'file',
|
||||
// 'store' => 'redis',
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Autoloaded Service Providers
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The service providers listed here will be automatically loaded on the
|
||||
| request to your application. Feel free to add your own services to
|
||||
| this array to grant expanded functionality to your applications.
|
||||
|
|
||||
*/
|
||||
|
||||
'providers' => [
|
||||
|
||||
/*
|
||||
* Laravel Framework Service Providers...
|
||||
*/
|
||||
Illuminate\Auth\AuthServiceProvider::class,
|
||||
Illuminate\Broadcasting\BroadcastServiceProvider::class,
|
||||
Illuminate\Bus\BusServiceProvider::class,
|
||||
Illuminate\Cache\CacheServiceProvider::class,
|
||||
Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class,
|
||||
Illuminate\Cookie\CookieServiceProvider::class,
|
||||
Illuminate\Database\DatabaseServiceProvider::class,
|
||||
Illuminate\Encryption\EncryptionServiceProvider::class,
|
||||
Illuminate\Filesystem\FilesystemServiceProvider::class,
|
||||
Illuminate\Foundation\Providers\FoundationServiceProvider::class,
|
||||
Illuminate\Hashing\HashServiceProvider::class,
|
||||
Illuminate\Mail\MailServiceProvider::class,
|
||||
Illuminate\Notifications\NotificationServiceProvider::class,
|
||||
Illuminate\Pagination\PaginationServiceProvider::class,
|
||||
Illuminate\Pipeline\PipelineServiceProvider::class,
|
||||
Illuminate\Queue\QueueServiceProvider::class,
|
||||
Illuminate\Redis\RedisServiceProvider::class,
|
||||
Illuminate\Auth\Passwords\PasswordResetServiceProvider::class,
|
||||
Illuminate\Session\SessionServiceProvider::class,
|
||||
Illuminate\Translation\TranslationServiceProvider::class,
|
||||
Illuminate\Validation\ValidationServiceProvider::class,
|
||||
Illuminate\View\ViewServiceProvider::class,
|
||||
|
||||
/*
|
||||
* Package Service Providers...
|
||||
*/
|
||||
|
||||
/*
|
||||
* Application Service Providers...
|
||||
*/
|
||||
App\Providers\AppServiceProvider::class,
|
||||
App\Providers\AuthServiceProvider::class,
|
||||
App\Providers\BroadcastServiceProvider::class,
|
||||
App\Providers\EventServiceProvider::class,
|
||||
App\Providers\RouteServiceProvider::class,
|
||||
App\Providers\TelescopeServiceProvider::class,
|
||||
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Class Aliases
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This array of class aliases will be registered when this application
|
||||
| is started. However, feel free to register as many as you wish as
|
||||
| the aliases are "lazy" loaded so they don't hinder performance.
|
||||
|
|
||||
*/
|
||||
|
||||
'aliases' => Facade::defaultAliases()->merge([
|
||||
// 'ExampleClass' => App\Example\ExampleClass::class,
|
||||
])->toArray(),
|
||||
|
||||
];
|
115
config/auth.php
Normal file
115
config/auth.php
Normal file
@ -0,0 +1,115 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Authentication Defaults
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This option controls the default authentication "guard" and password
|
||||
| reset options for your application. You may change these defaults
|
||||
| as required, but they're a perfect start for most applications.
|
||||
|
|
||||
*/
|
||||
|
||||
'defaults' => [
|
||||
'guard' => 'web',
|
||||
'passwords' => 'users',
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Authentication Guards
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Next, you may define every authentication guard for your application.
|
||||
| Of course, a great default configuration has been defined for you
|
||||
| here which uses session storage and the Eloquent user provider.
|
||||
|
|
||||
| All authentication drivers have a user provider. This defines how the
|
||||
| users are actually retrieved out of your database or other storage
|
||||
| mechanisms used by this application to persist your user's data.
|
||||
|
|
||||
| Supported: "session"
|
||||
|
|
||||
*/
|
||||
|
||||
'guards' => [
|
||||
'web' => [
|
||||
'driver' => 'session',
|
||||
'provider' => 'users',
|
||||
],
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| User Providers
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| All authentication drivers have a user provider. This defines how the
|
||||
| users are actually retrieved out of your database or other storage
|
||||
| mechanisms used by this application to persist your user's data.
|
||||
|
|
||||
| If you have multiple user tables or models you may configure multiple
|
||||
| sources which represent each model / table. These sources may then
|
||||
| be assigned to any extra authentication guards you have defined.
|
||||
|
|
||||
| Supported: "database", "eloquent"
|
||||
|
|
||||
*/
|
||||
|
||||
'providers' => [
|
||||
'users' => [
|
||||
'driver' => 'eloquent',
|
||||
'model' => App\Models\User::class,
|
||||
],
|
||||
|
||||
// 'users' => [
|
||||
// 'driver' => 'database',
|
||||
// 'table' => 'users',
|
||||
// ],
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Resetting Passwords
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| You may specify multiple password reset configurations if you have more
|
||||
| than one user table or model in the application and you want to have
|
||||
| separate password reset settings based on the specific user types.
|
||||
|
|
||||
| The expiry time is the number of minutes that each reset token will be
|
||||
| considered valid. This security feature keeps tokens short-lived so
|
||||
| they have less time to be guessed. You may change this as needed.
|
||||
|
|
||||
| The throttle setting is the number of seconds a user must wait before
|
||||
| generating more password reset tokens. This prevents the user from
|
||||
| quickly generating a very large amount of password reset tokens.
|
||||
|
|
||||
*/
|
||||
|
||||
'passwords' => [
|
||||
'users' => [
|
||||
'provider' => 'users',
|
||||
'table' => 'password_reset_tokens',
|
||||
'expire' => 60,
|
||||
'throttle' => 60,
|
||||
],
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Password Confirmation Timeout
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may define the amount of seconds before a password confirmation
|
||||
| times out and the user is prompted to re-enter their password via the
|
||||
| confirmation screen. By default, the timeout lasts for three hours.
|
||||
|
|
||||
*/
|
||||
|
||||
'password_timeout' => 10800,
|
||||
|
||||
];
|
57
config/blade-heroicons.php
Normal file
57
config/blade-heroicons.php
Normal file
@ -0,0 +1,57 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|-----------------------------------------------------------------
|
||||
| Default Prefix
|
||||
|-----------------------------------------------------------------
|
||||
|
|
||||
| This config option allows you to define a default prefix for
|
||||
| your icons. The dash separator will be applied automatically
|
||||
| to every icon name. It's required and needs to be unique.
|
||||
|
|
||||
*/
|
||||
|
||||
'prefix' => 'heroicon',
|
||||
|
||||
/*
|
||||
|-----------------------------------------------------------------
|
||||
| Fallback Icon
|
||||
|-----------------------------------------------------------------
|
||||
|
|
||||
| This config option allows you to define a fallback
|
||||
| icon when an icon in this set cannot be found.
|
||||
|
|
||||
*/
|
||||
|
||||
'fallback' => '',
|
||||
|
||||
/*
|
||||
|-----------------------------------------------------------------
|
||||
| Default Set Classes
|
||||
|-----------------------------------------------------------------
|
||||
|
|
||||
| This config option allows you to define some classes which
|
||||
| will be applied by default to all icons within this set.
|
||||
|
|
||||
*/
|
||||
|
||||
'class' => '',
|
||||
|
||||
/*
|
||||
|-----------------------------------------------------------------
|
||||
| Default Set Attributes
|
||||
|-----------------------------------------------------------------
|
||||
|
|
||||
| This config option allows you to define some attributes which
|
||||
| will be applied by default to all icons within this set.
|
||||
|
|
||||
*/
|
||||
|
||||
'attributes' => [
|
||||
// 'width' => 50,
|
||||
// 'height' => 50,
|
||||
],
|
||||
|
||||
];
|
70
config/broadcasting.php
Normal file
70
config/broadcasting.php
Normal file
@ -0,0 +1,70 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Default Broadcaster
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This option controls the default broadcaster that will be used by the
|
||||
| framework when an event needs to be broadcast. You may set this to
|
||||
| any of the connections defined in the "connections" array below.
|
||||
|
|
||||
| Supported: "pusher", "ably", "redis", "log", "null"
|
||||
|
|
||||
*/
|
||||
|
||||
'default' => env('BROADCAST_DRIVER', 'null'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Broadcast Connections
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may define all of the broadcast connections that will be used
|
||||
| to broadcast events to other systems or over websockets. Samples of
|
||||
| each available type of connection are provided inside this array.
|
||||
|
|
||||
*/
|
||||
|
||||
'connections' => [
|
||||
|
||||
'pusher' => [
|
||||
'driver' => 'pusher',
|
||||
'key' => env('PUSHER_APP_KEY'),
|
||||
'secret' => env('PUSHER_APP_SECRET'),
|
||||
'app_id' => env('PUSHER_APP_ID'),
|
||||
'options' => [
|
||||
'host' => env('PUSHER_HOST') ?: 'api-'.env('PUSHER_APP_CLUSTER', 'mt1').'.pusher.com',
|
||||
'port' => env('PUSHER_PORT', 443),
|
||||
'scheme' => env('PUSHER_SCHEME', 'https'),
|
||||
'encrypted' => true,
|
||||
'useTLS' => env('PUSHER_SCHEME', 'https') === 'https',
|
||||
],
|
||||
'client_options' => [
|
||||
// Guzzle client options: https://docs.guzzlephp.org/en/stable/request-options.html
|
||||
],
|
||||
],
|
||||
|
||||
'ably' => [
|
||||
'driver' => 'ably',
|
||||
'key' => env('ABLY_KEY'),
|
||||
],
|
||||
|
||||
'redis' => [
|
||||
'driver' => 'redis',
|
||||
'connection' => 'default',
|
||||
],
|
||||
|
||||
'log' => [
|
||||
'driver' => 'log',
|
||||
],
|
||||
|
||||
'null' => [
|
||||
'driver' => 'null',
|
||||
],
|
||||
|
||||
],
|
||||
|
||||
];
|
110
config/cache.php
Normal file
110
config/cache.php
Normal file
@ -0,0 +1,110 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Default Cache Store
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This option controls the default cache connection that gets used while
|
||||
| using this caching library. This connection is used when another is
|
||||
| not explicitly specified when executing a given caching function.
|
||||
|
|
||||
*/
|
||||
|
||||
'default' => env('CACHE_DRIVER', 'file'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Cache Stores
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may define all of the cache "stores" for your application as
|
||||
| well as their drivers. You may even define multiple stores for the
|
||||
| same cache driver to group types of items stored in your caches.
|
||||
|
|
||||
| Supported drivers: "apc", "array", "database", "file",
|
||||
| "memcached", "redis", "dynamodb", "octane", "null"
|
||||
|
|
||||
*/
|
||||
|
||||
'stores' => [
|
||||
|
||||
'apc' => [
|
||||
'driver' => 'apc',
|
||||
],
|
||||
|
||||
'array' => [
|
||||
'driver' => 'array',
|
||||
'serialize' => false,
|
||||
],
|
||||
|
||||
'database' => [
|
||||
'driver' => 'database',
|
||||
'table' => 'cache',
|
||||
'connection' => null,
|
||||
'lock_connection' => null,
|
||||
],
|
||||
|
||||
'file' => [
|
||||
'driver' => 'file',
|
||||
'path' => storage_path('framework/cache/data'),
|
||||
],
|
||||
|
||||
'memcached' => [
|
||||
'driver' => 'memcached',
|
||||
'persistent_id' => env('MEMCACHED_PERSISTENT_ID'),
|
||||
'sasl' => [
|
||||
env('MEMCACHED_USERNAME'),
|
||||
env('MEMCACHED_PASSWORD'),
|
||||
],
|
||||
'options' => [
|
||||
// Memcached::OPT_CONNECT_TIMEOUT => 2000,
|
||||
],
|
||||
'servers' => [
|
||||
[
|
||||
'host' => env('MEMCACHED_HOST', '127.0.0.1'),
|
||||
'port' => env('MEMCACHED_PORT', 11211),
|
||||
'weight' => 100,
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
'redis' => [
|
||||
'driver' => 'redis',
|
||||
'connection' => 'cache',
|
||||
'lock_connection' => 'default',
|
||||
],
|
||||
|
||||
'dynamodb' => [
|
||||
'driver' => 'dynamodb',
|
||||
'key' => env('AWS_ACCESS_KEY_ID'),
|
||||
'secret' => env('AWS_SECRET_ACCESS_KEY'),
|
||||
'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
|
||||
'table' => env('DYNAMODB_CACHE_TABLE', 'cache'),
|
||||
'endpoint' => env('DYNAMODB_ENDPOINT'),
|
||||
],
|
||||
|
||||
'octane' => [
|
||||
'driver' => 'octane',
|
||||
],
|
||||
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Cache Key Prefix
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| When utilizing the APC, database, memcached, Redis, or DynamoDB cache
|
||||
| stores there might be other applications using the same cache. For
|
||||
| that reason, you may prefix every cache key to avoid collisions.
|
||||
|
|
||||
*/
|
||||
|
||||
'prefix' => env('CACHE_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_cache_'),
|
||||
|
||||
];
|
361
config/core.php
Executable file
361
config/core.php
Executable file
@ -0,0 +1,361 @@
|
||||
<?php
|
||||
|
||||
use App\Jobs\Installation\InstallMariadb;
|
||||
use App\Jobs\Installation\InstallMysql;
|
||||
use App\Jobs\Installation\InstallNginx;
|
||||
use App\Jobs\Installation\InstallPHP;
|
||||
use App\Jobs\Installation\InstallPHPMyAdmin;
|
||||
use App\Jobs\Installation\InstallRedis;
|
||||
use App\Jobs\Installation\InstallSupervisor;
|
||||
use App\Jobs\Installation\InstallUfw;
|
||||
use App\Jobs\Installation\UninstallPHP;
|
||||
use App\Jobs\Installation\UninstallPHPMyAdmin;
|
||||
use App\NotificationChannels\Discord;
|
||||
use App\NotificationChannels\Email;
|
||||
use App\NotificationChannels\Slack;
|
||||
use App\ServerProviders\AWS;
|
||||
use App\ServerProviders\DigitalOcean;
|
||||
use App\ServerProviders\Hetzner;
|
||||
use App\ServerProviders\Linode;
|
||||
use App\ServerProviders\Vultr;
|
||||
use App\ServerTypes\Regular;
|
||||
use App\ServiceHandlers\Database\Mysql;
|
||||
use App\ServiceHandlers\Firewall\Ufw;
|
||||
use App\ServiceHandlers\PHP;
|
||||
use App\ServiceHandlers\ProcessManager\Supervisor;
|
||||
use App\ServiceHandlers\Webserver\Nginx;
|
||||
use App\SiteTypes\Laravel;
|
||||
use App\SiteTypes\PHPSite;
|
||||
use App\SiteTypes\Wordpress;
|
||||
use App\SourceControlProviders\Bitbucket;
|
||||
use App\SourceControlProviders\Custom;
|
||||
use App\SourceControlProviders\Github;
|
||||
use App\SourceControlProviders\Gitlab;
|
||||
use App\StorageProviders\Dropbox;
|
||||
|
||||
return [
|
||||
/*
|
||||
* SSH
|
||||
*/
|
||||
'ssh_user' => env('SSH_USER', 'vito'),
|
||||
'ssh_public_key' => env('SSH_PUBLIC_KEY'),
|
||||
'ssh_public_key_name' => env('SSH_PUBLIC_KEY_NAME'),
|
||||
'ssh_private_key_name' => env('SSH_PRIVATE_KEY_NAME'),
|
||||
'logs_disk' => env('SERVER_LOGS_DISK', 'server-logs-local'),
|
||||
'key_pairs_disk' => env('KEY_PAIRS_DISK', 'key-pairs-local'),
|
||||
|
||||
/*
|
||||
* General
|
||||
*/
|
||||
'operating_systems' => ['ubuntu_18', 'ubuntu_20', 'ubuntu_22'],
|
||||
'webservers' => ['nginx'],
|
||||
'php_versions' => [
|
||||
'none',
|
||||
// '5.6',
|
||||
'7.0',
|
||||
'7.1',
|
||||
'7.2',
|
||||
'7.3',
|
||||
'7.4',
|
||||
'8.0',
|
||||
'8.1',
|
||||
'8.2',
|
||||
],
|
||||
'databases' => ['none', 'mysql57', 'mysql80', 'mariadb'],
|
||||
'databases_name' => [
|
||||
'mysql57' => 'mysql',
|
||||
'mysql80' => 'mysql',
|
||||
'mariadb' => 'mariadb',
|
||||
],
|
||||
'databases_version' => [
|
||||
'mysql57' => '5.7',
|
||||
'mysql80' => '8.0',
|
||||
'mariadb' => '10.3',
|
||||
],
|
||||
|
||||
/*
|
||||
* Server
|
||||
*/
|
||||
'server_types' => ['regular'],
|
||||
'server_types_class' => [
|
||||
'regular' => Regular::class,
|
||||
],
|
||||
'server_providers' => ['custom', 'aws', 'linode', 'digitalocean', 'vultr', 'hetzner'],
|
||||
'server_providers_class' => [
|
||||
'custom' => \App\ServerProviders\Custom::class,
|
||||
'aws' => AWS::class,
|
||||
'linode' => Linode::class,
|
||||
'digitalocean' => DigitalOcean::class,
|
||||
'vultr' => Vultr::class,
|
||||
'hetzner' => Hetzner::class,
|
||||
],
|
||||
'server_providers_default_user' => [
|
||||
'custom' => [
|
||||
'ubuntu_18' => 'root',
|
||||
'ubuntu_20' => 'root',
|
||||
'ubuntu_22' => 'root',
|
||||
],
|
||||
'aws' => [
|
||||
'ubuntu_18' => 'ubuntu',
|
||||
'ubuntu_20' => 'ubuntu',
|
||||
'ubuntu_22' => 'ubuntu',
|
||||
],
|
||||
'linode' => [
|
||||
'ubuntu_18' => 'root',
|
||||
'ubuntu_20' => 'root',
|
||||
'ubuntu_22' => 'root',
|
||||
],
|
||||
'digitalocean' => [
|
||||
'ubuntu_18' => 'root',
|
||||
'ubuntu_20' => 'root',
|
||||
'ubuntu_22' => 'root',
|
||||
],
|
||||
'vultr' => [
|
||||
'ubuntu_18' => 'root',
|
||||
'ubuntu_20' => 'root',
|
||||
'ubuntu_22' => 'root',
|
||||
],
|
||||
'hetzner' => [
|
||||
'ubuntu_18' => 'root',
|
||||
'ubuntu_20' => 'root',
|
||||
'ubuntu_22' => 'root',
|
||||
],
|
||||
],
|
||||
|
||||
/*
|
||||
* Service
|
||||
*/
|
||||
'service_installers' => [
|
||||
'nginx' => InstallNginx::class,
|
||||
'mysql' => InstallMysql::class,
|
||||
'mariadb' => InstallMariadb::class,
|
||||
'php' => InstallPHP::class,
|
||||
'redis' => InstallRedis::class,
|
||||
'supervisor' => InstallSupervisor::class,
|
||||
'ufw' => InstallUfw::class,
|
||||
'phpmyadmin' => InstallPHPMyAdmin::class,
|
||||
],
|
||||
'service_uninstallers' => [
|
||||
'phpmyadmin' => UninstallPHPMyAdmin::class,
|
||||
'php' => UninstallPHP::class,
|
||||
],
|
||||
'service_handlers' => [
|
||||
'nginx' => Nginx::class,
|
||||
'mysql' => Mysql::class,
|
||||
'mariadb' => Mysql::class,
|
||||
'php' => PHP::class,
|
||||
'ufw' => Ufw::class,
|
||||
'supervisor' => Supervisor::class,
|
||||
],
|
||||
'service_units' => [
|
||||
'nginx' => [
|
||||
'ubuntu_18' => [
|
||||
'latest' => 'nginx',
|
||||
],
|
||||
'ubuntu_20' => [
|
||||
'latest' => 'nginx',
|
||||
],
|
||||
'ubuntu_22' => [
|
||||
'latest' => 'nginx',
|
||||
],
|
||||
],
|
||||
'mysql' => [
|
||||
'ubuntu_18' => [
|
||||
'5.7' => 'mysql',
|
||||
'8.0' => 'mysql',
|
||||
],
|
||||
'ubuntu_20' => [
|
||||
'5.7' => 'mysql',
|
||||
'8.0' => 'mysql',
|
||||
],
|
||||
'ubuntu_22' => [
|
||||
'5.7' => 'mysql',
|
||||
'8.0' => 'mysql',
|
||||
],
|
||||
],
|
||||
'mariadb' => [
|
||||
'ubuntu_18' => [
|
||||
'10.3' => 'mariadb',
|
||||
],
|
||||
'ubuntu_20' => [
|
||||
'10.3' => 'mariadb',
|
||||
],
|
||||
'ubuntu_22' => [
|
||||
'10.3' => 'mariadb',
|
||||
],
|
||||
],
|
||||
'php' => [
|
||||
'ubuntu_18' => [
|
||||
'5.6' => 'php5.6-fpm',
|
||||
'7.0' => 'php7.0-fpm',
|
||||
'7.1' => 'php7.1-fpm',
|
||||
'7.2' => 'php7.2-fpm',
|
||||
'7.3' => 'php7.3-fpm',
|
||||
'7.4' => 'php7.4-fpm',
|
||||
'8.0' => 'php8.0-fpm',
|
||||
'8.1' => 'php8.1-fpm',
|
||||
'8.2' => 'php8.2-fpm',
|
||||
],
|
||||
'ubuntu_20' => [
|
||||
'5.6' => 'php5.6-fpm',
|
||||
'7.0' => 'php7.0-fpm',
|
||||
'7.1' => 'php7.1-fpm',
|
||||
'7.2' => 'php7.2-fpm',
|
||||
'7.3' => 'php7.3-fpm',
|
||||
'7.4' => 'php7.4-fpm',
|
||||
'8.0' => 'php8.0-fpm',
|
||||
'8.1' => 'php8.1-fpm',
|
||||
'8.2' => 'php8.2-fpm',
|
||||
],
|
||||
'ubuntu_22' => [
|
||||
'5.6' => 'php5.6-fpm',
|
||||
'7.0' => 'php7.0-fpm',
|
||||
'7.1' => 'php7.1-fpm',
|
||||
'7.2' => 'php7.2-fpm',
|
||||
'7.3' => 'php7.3-fpm',
|
||||
'7.4' => 'php7.4-fpm',
|
||||
'8.0' => 'php8.0-fpm',
|
||||
'8.1' => 'php8.1-fpm',
|
||||
'8.2' => 'php8.2-fpm',
|
||||
],
|
||||
],
|
||||
'redis' => [
|
||||
'ubuntu_18' => [
|
||||
'latest' => 'redis',
|
||||
],
|
||||
'ubuntu_20' => [
|
||||
'latest' => 'redis',
|
||||
],
|
||||
'ubuntu_22' => [
|
||||
'latest' => 'redis',
|
||||
],
|
||||
],
|
||||
'supervisor' => [
|
||||
'ubuntu_18' => [
|
||||
'latest' => 'supervisor',
|
||||
],
|
||||
'ubuntu_20' => [
|
||||
'latest' => 'supervisor',
|
||||
],
|
||||
'ubuntu_22' => [
|
||||
'latest' => 'supervisor',
|
||||
],
|
||||
],
|
||||
'ufw' => [
|
||||
'ubuntu_18' => [
|
||||
'latest' => 'ufw',
|
||||
],
|
||||
'ubuntu_20' => [
|
||||
'latest' => 'ufw',
|
||||
],
|
||||
'ubuntu_22' => [
|
||||
'latest' => 'ufw',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
/*
|
||||
* Site
|
||||
*/
|
||||
'site_types' => [
|
||||
\App\Enums\SiteType::LARAVEL,
|
||||
\App\Enums\SiteType::PHP,
|
||||
\App\Enums\SiteType::WORDPRESS,
|
||||
],
|
||||
'site_types_class' => [
|
||||
\App\Enums\SiteType::LARAVEL => Laravel::class,
|
||||
\App\Enums\SiteType::PHP => PHPSite::class,
|
||||
\App\Enums\SiteType::WORDPRESS => Wordpress::class,
|
||||
],
|
||||
|
||||
/*
|
||||
* Source Control
|
||||
*/
|
||||
'source_control_providers' => [
|
||||
'github',
|
||||
'gitlab',
|
||||
'bitbucket',
|
||||
'custom',
|
||||
],
|
||||
'source_control_providers_class' => [
|
||||
'github' => Github::class,
|
||||
'gitlab' => Gitlab::class,
|
||||
'bitbucket' => Bitbucket::class,
|
||||
'custom' => Custom::class,
|
||||
],
|
||||
|
||||
/*
|
||||
* available php extensions
|
||||
*/
|
||||
'php_extensions' => [
|
||||
'imagick',
|
||||
// 'geoip',
|
||||
'exif',
|
||||
'gmagick',
|
||||
'ssh2',
|
||||
'gmp',
|
||||
'intl',
|
||||
],
|
||||
|
||||
/*
|
||||
* php settings
|
||||
*/
|
||||
'php_settings' => [
|
||||
'upload_max_filesize' => '2',
|
||||
'memory_limit' => '128',
|
||||
'max_execution_time' => '30',
|
||||
'post_max_size' => '2',
|
||||
],
|
||||
'php_settings_unit' => [
|
||||
'upload_max_filesize' => 'M',
|
||||
'memory_limit' => 'M',
|
||||
'max_execution_time' => 'S',
|
||||
'post_max_size' => 'M',
|
||||
],
|
||||
|
||||
/*
|
||||
* firewall
|
||||
*/
|
||||
'firewall_protocols_port' => [
|
||||
'ssh' => 22,
|
||||
'http' => 80,
|
||||
'https' => 443,
|
||||
'mysql' => 3306,
|
||||
'ftp' => 21,
|
||||
'phpmyadmin' => 54331,
|
||||
'tcp' => '',
|
||||
'udp' => '',
|
||||
],
|
||||
|
||||
/*
|
||||
* Disable these IPs for servers
|
||||
*/
|
||||
'restricted_ip_addresses' => array_merge(
|
||||
['127.0.0.1', 'localhost', '0.0.0.0'],
|
||||
explode(',', env('RESTRICTED_IP_ADDRESSES', ''))
|
||||
),
|
||||
|
||||
/*
|
||||
* Notification channels
|
||||
*/
|
||||
'notification_channels_providers' => [
|
||||
\App\Enums\NotificationChannel::SLACK,
|
||||
\App\Enums\NotificationChannel::DISCORD,
|
||||
\App\Enums\NotificationChannel::EMAIL,
|
||||
],
|
||||
'notification_channels_providers_class' => [
|
||||
\App\Enums\NotificationChannel::SLACK => Slack::class,
|
||||
\App\Enums\NotificationChannel::DISCORD => Discord::class,
|
||||
\App\Enums\NotificationChannel::EMAIL => Email::class,
|
||||
],
|
||||
|
||||
/*
|
||||
* storage providers
|
||||
*/
|
||||
'storage_providers' => [
|
||||
'dropbox',
|
||||
],
|
||||
'storage_providers_class' => [
|
||||
'dropbox' => Dropbox::class,
|
||||
],
|
||||
];
|
34
config/cors.php
Normal file
34
config/cors.php
Normal file
@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Cross-Origin Resource Sharing (CORS) Configuration
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may configure your settings for cross-origin resource sharing
|
||||
| or "CORS". This determines what cross-origin operations may execute
|
||||
| in web browsers. You are free to adjust these settings as needed.
|
||||
|
|
||||
| To learn more: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS
|
||||
|
|
||||
*/
|
||||
|
||||
'paths' => ['api/*', 'sanctum/csrf-cookie'],
|
||||
|
||||
'allowed_methods' => ['*'],
|
||||
|
||||
'allowed_origins' => ['*'],
|
||||
|
||||
'allowed_origins_patterns' => [],
|
||||
|
||||
'allowed_headers' => ['*'],
|
||||
|
||||
'exposed_headers' => [],
|
||||
|
||||
'max_age' => 0,
|
||||
|
||||
'supports_credentials' => false,
|
||||
|
||||
];
|
151
config/database.php
Normal file
151
config/database.php
Normal file
@ -0,0 +1,151 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Default Database Connection Name
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may specify which of the database connections below you wish
|
||||
| to use as your default connection for all database work. Of course
|
||||
| you may use many connections at once using the Database library.
|
||||
|
|
||||
*/
|
||||
|
||||
'default' => env('DB_CONNECTION', 'mysql'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Database Connections
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here are each of the database connections setup for your application.
|
||||
| Of course, examples of configuring each database platform that is
|
||||
| supported by Laravel is shown below to make development simple.
|
||||
|
|
||||
|
|
||||
| All database work in Laravel is done through the PHP PDO facilities
|
||||
| so make sure you have the driver for your particular database of
|
||||
| choice installed on your machine before you begin development.
|
||||
|
|
||||
*/
|
||||
|
||||
'connections' => [
|
||||
|
||||
'sqlite' => [
|
||||
'driver' => 'sqlite',
|
||||
'url' => env('DATABASE_URL'),
|
||||
'database' => env('DB_DATABASE', database_path('database.sqlite')),
|
||||
'prefix' => '',
|
||||
'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true),
|
||||
],
|
||||
|
||||
'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', ''),
|
||||
'unix_socket' => env('DB_SOCKET', ''),
|
||||
'charset' => 'utf8mb4',
|
||||
'collation' => 'utf8mb4_unicode_ci',
|
||||
'prefix' => '',
|
||||
'prefix_indexes' => true,
|
||||
'strict' => true,
|
||||
'engine' => null,
|
||||
'options' => extension_loaded('pdo_mysql') ? array_filter([
|
||||
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
|
||||
]) : [],
|
||||
],
|
||||
|
||||
'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', ''),
|
||||
'charset' => 'utf8',
|
||||
'prefix' => '',
|
||||
'prefix_indexes' => true,
|
||||
'search_path' => 'public',
|
||||
'sslmode' => 'prefer',
|
||||
],
|
||||
|
||||
'sqlsrv' => [
|
||||
'driver' => 'sqlsrv',
|
||||
'url' => env('DATABASE_URL'),
|
||||
'host' => env('DB_HOST', 'localhost'),
|
||||
'port' => env('DB_PORT', '1433'),
|
||||
'database' => env('DB_DATABASE', 'forge'),
|
||||
'username' => env('DB_USERNAME', 'forge'),
|
||||
'password' => env('DB_PASSWORD', ''),
|
||||
'charset' => 'utf8',
|
||||
'prefix' => '',
|
||||
'prefix_indexes' => true,
|
||||
// 'encrypt' => env('DB_ENCRYPT', 'yes'),
|
||||
// 'trust_server_certificate' => env('DB_TRUST_SERVER_CERTIFICATE', 'false'),
|
||||
],
|
||||
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Migration Repository Table
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This table keeps track of all the migrations that have already run for
|
||||
| your application. Using this information, we can determine which of
|
||||
| the migrations on disk haven't actually been run in the database.
|
||||
|
|
||||
*/
|
||||
|
||||
'migrations' => 'migrations',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Redis Databases
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Redis is an open source, fast, and advanced key-value store that also
|
||||
| provides a richer body of commands than a typical key-value system
|
||||
| such as APC or Memcached. Laravel makes it easy to dig right in.
|
||||
|
|
||||
*/
|
||||
|
||||
'redis' => [
|
||||
|
||||
'client' => env('REDIS_CLIENT', 'phpredis'),
|
||||
|
||||
'options' => [
|
||||
'cluster' => env('REDIS_CLUSTER', 'redis'),
|
||||
'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_database_'),
|
||||
],
|
||||
|
||||
'default' => [
|
||||
'url' => env('REDIS_URL'),
|
||||
'host' => env('REDIS_HOST', '127.0.0.1'),
|
||||
'username' => env('REDIS_USERNAME'),
|
||||
'password' => env('REDIS_PASSWORD'),
|
||||
'port' => env('REDIS_PORT', '6379'),
|
||||
'database' => env('REDIS_DB', '0'),
|
||||
],
|
||||
|
||||
'cache' => [
|
||||
'url' => env('REDIS_URL'),
|
||||
'host' => env('REDIS_HOST', '127.0.0.1'),
|
||||
'username' => env('REDIS_USERNAME'),
|
||||
'password' => env('REDIS_PASSWORD'),
|
||||
'port' => env('REDIS_PORT', '6379'),
|
||||
'database' => env('REDIS_CACHE_DB', '1'),
|
||||
],
|
||||
|
||||
],
|
||||
|
||||
];
|
85
config/filesystems.php
Normal file
85
config/filesystems.php
Normal file
@ -0,0 +1,85 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Default Filesystem Disk
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may specify the default filesystem disk that should be used
|
||||
| by the framework. The "local" disk, as well as a variety of cloud
|
||||
| based disks are available to your application. Just store away!
|
||||
|
|
||||
*/
|
||||
|
||||
'default' => env('FILESYSTEM_DISK', 'local'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Filesystem Disks
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may configure as many filesystem "disks" as you wish, and you
|
||||
| may even configure multiple disks of the same driver. Defaults have
|
||||
| been set up for each driver as an example of the required values.
|
||||
|
|
||||
| Supported Drivers: "local", "ftp", "sftp", "s3"
|
||||
|
|
||||
*/
|
||||
|
||||
'disks' => [
|
||||
|
||||
'local' => [
|
||||
'driver' => 'local',
|
||||
'root' => storage_path('app'),
|
||||
'throw' => false,
|
||||
],
|
||||
|
||||
'public' => [
|
||||
'driver' => 'local',
|
||||
'root' => storage_path('app/public'),
|
||||
'url' => env('APP_URL').'/storage',
|
||||
'visibility' => 'public',
|
||||
'throw' => false,
|
||||
],
|
||||
|
||||
's3' => [
|
||||
'driver' => 's3',
|
||||
'key' => env('AWS_ACCESS_KEY_ID'),
|
||||
'secret' => env('AWS_SECRET_ACCESS_KEY'),
|
||||
'region' => env('AWS_DEFAULT_REGION'),
|
||||
'bucket' => env('AWS_BUCKET'),
|
||||
'url' => env('AWS_URL'),
|
||||
'endpoint' => env('AWS_ENDPOINT'),
|
||||
'use_path_style_endpoint' => env('AWS_USE_PATH_STYLE_ENDPOINT', false),
|
||||
'throw' => false,
|
||||
],
|
||||
|
||||
'key-pairs-local' => [
|
||||
'driver' => 'local',
|
||||
'root' => storage_path('app/key-pairs'),
|
||||
],
|
||||
|
||||
'server-logs-local' => [
|
||||
'driver' => 'local',
|
||||
'root' => storage_path('app/server-logs'),
|
||||
],
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Symbolic Links
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may configure the symbolic links that will be created when the
|
||||
| `storage:link` Artisan command is executed. The array keys should be
|
||||
| the locations of the links and the values should be their targets.
|
||||
|
|
||||
*/
|
||||
|
||||
'links' => [
|
||||
public_path('storage') => storage_path('app/public'),
|
||||
],
|
||||
|
||||
];
|
52
config/hashing.php
Normal file
52
config/hashing.php
Normal file
@ -0,0 +1,52 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Default Hash Driver
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This option controls the default hash driver that will be used to hash
|
||||
| passwords for your application. By default, the bcrypt algorithm is
|
||||
| used; however, you remain free to modify this option if you wish.
|
||||
|
|
||||
| Supported: "bcrypt", "argon", "argon2id"
|
||||
|
|
||||
*/
|
||||
|
||||
'driver' => 'bcrypt',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Bcrypt Options
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may specify the configuration options that should be used when
|
||||
| passwords are hashed using the Bcrypt algorithm. This will allow you
|
||||
| to control the amount of time it takes to hash the given password.
|
||||
|
|
||||
*/
|
||||
|
||||
'bcrypt' => [
|
||||
'rounds' => env('BCRYPT_ROUNDS', 10),
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Argon Options
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may specify the configuration options that should be used when
|
||||
| passwords are hashed using the Argon algorithm. These will allow you
|
||||
| to control the amount of time it takes to hash the given password.
|
||||
|
|
||||
*/
|
||||
|
||||
'argon' => [
|
||||
'memory' => 65536,
|
||||
'threads' => 1,
|
||||
'time' => 4,
|
||||
],
|
||||
|
||||
];
|
131
config/logging.php
Normal file
131
config/logging.php
Normal file
@ -0,0 +1,131 @@
|
||||
<?php
|
||||
|
||||
use Monolog\Handler\NullHandler;
|
||||
use Monolog\Handler\StreamHandler;
|
||||
use Monolog\Handler\SyslogUdpHandler;
|
||||
use Monolog\Processor\PsrLogMessageProcessor;
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Default Log Channel
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This option defines the default log channel that gets used when writing
|
||||
| messages to the logs. The name specified in this option should match
|
||||
| one of the channels defined in the "channels" configuration array.
|
||||
|
|
||||
*/
|
||||
|
||||
'default' => env('LOG_CHANNEL', 'stack'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Deprecations Log Channel
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This option controls the log channel that should be used to log warnings
|
||||
| regarding deprecated PHP and library features. This allows you to get
|
||||
| your application ready for upcoming major versions of dependencies.
|
||||
|
|
||||
*/
|
||||
|
||||
'deprecations' => [
|
||||
'channel' => env('LOG_DEPRECATIONS_CHANNEL', 'null'),
|
||||
'trace' => false,
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Log Channels
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may configure the log channels for your application. Out of
|
||||
| the box, Laravel uses the Monolog PHP logging library. This gives
|
||||
| you a variety of powerful log handlers / formatters to utilize.
|
||||
|
|
||||
| Available Drivers: "single", "daily", "slack", "syslog",
|
||||
| "errorlog", "monolog",
|
||||
| "custom", "stack"
|
||||
|
|
||||
*/
|
||||
|
||||
'channels' => [
|
||||
'stack' => [
|
||||
'driver' => 'stack',
|
||||
'channels' => ['single'],
|
||||
'ignore_exceptions' => false,
|
||||
],
|
||||
|
||||
'single' => [
|
||||
'driver' => 'single',
|
||||
'path' => storage_path('logs/laravel.log'),
|
||||
'level' => env('LOG_LEVEL', 'debug'),
|
||||
'replace_placeholders' => true,
|
||||
],
|
||||
|
||||
'daily' => [
|
||||
'driver' => 'daily',
|
||||
'path' => storage_path('logs/laravel.log'),
|
||||
'level' => env('LOG_LEVEL', 'debug'),
|
||||
'days' => 14,
|
||||
'replace_placeholders' => true,
|
||||
],
|
||||
|
||||
'slack' => [
|
||||
'driver' => 'slack',
|
||||
'url' => env('LOG_SLACK_WEBHOOK_URL'),
|
||||
'username' => 'Laravel Log',
|
||||
'emoji' => ':boom:',
|
||||
'level' => env('LOG_LEVEL', 'critical'),
|
||||
'replace_placeholders' => true,
|
||||
],
|
||||
|
||||
'papertrail' => [
|
||||
'driver' => 'monolog',
|
||||
'level' => env('LOG_LEVEL', 'debug'),
|
||||
'handler' => env('LOG_PAPERTRAIL_HANDLER', SyslogUdpHandler::class),
|
||||
'handler_with' => [
|
||||
'host' => env('PAPERTRAIL_URL'),
|
||||
'port' => env('PAPERTRAIL_PORT'),
|
||||
'connectionString' => 'tls://'.env('PAPERTRAIL_URL').':'.env('PAPERTRAIL_PORT'),
|
||||
],
|
||||
'processors' => [PsrLogMessageProcessor::class],
|
||||
],
|
||||
|
||||
'stderr' => [
|
||||
'driver' => 'monolog',
|
||||
'level' => env('LOG_LEVEL', 'debug'),
|
||||
'handler' => StreamHandler::class,
|
||||
'formatter' => env('LOG_STDERR_FORMATTER'),
|
||||
'with' => [
|
||||
'stream' => 'php://stderr',
|
||||
],
|
||||
'processors' => [PsrLogMessageProcessor::class],
|
||||
],
|
||||
|
||||
'syslog' => [
|
||||
'driver' => 'syslog',
|
||||
'level' => env('LOG_LEVEL', 'debug'),
|
||||
'facility' => LOG_USER,
|
||||
'replace_placeholders' => true,
|
||||
],
|
||||
|
||||
'errorlog' => [
|
||||
'driver' => 'errorlog',
|
||||
'level' => env('LOG_LEVEL', 'debug'),
|
||||
'replace_placeholders' => true,
|
||||
],
|
||||
|
||||
'null' => [
|
||||
'driver' => 'monolog',
|
||||
'handler' => NullHandler::class,
|
||||
],
|
||||
|
||||
'emergency' => [
|
||||
'path' => storage_path('logs/laravel.log'),
|
||||
],
|
||||
],
|
||||
|
||||
];
|
124
config/mail.php
Normal file
124
config/mail.php
Normal file
@ -0,0 +1,124 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Default Mailer
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This option controls the default mailer that is used to send any email
|
||||
| messages sent by your application. Alternative mailers may be setup
|
||||
| and used as needed; however, this mailer will be used by default.
|
||||
|
|
||||
*/
|
||||
|
||||
'default' => env('MAIL_MAILER', 'smtp'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Mailer Configurations
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may configure all of the mailers used by your application plus
|
||||
| their respective settings. Several examples have been configured for
|
||||
| you and you are free to add your own as your application requires.
|
||||
|
|
||||
| Laravel supports a variety of mail "transport" drivers to be used while
|
||||
| sending an e-mail. You will specify which one you are using for your
|
||||
| mailers below. You are free to add additional mailers as required.
|
||||
|
|
||||
| Supported: "smtp", "sendmail", "mailgun", "ses", "ses-v2",
|
||||
| "postmark", "log", "array", "failover"
|
||||
|
|
||||
*/
|
||||
|
||||
'mailers' => [
|
||||
'smtp' => [
|
||||
'transport' => 'smtp',
|
||||
'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
|
||||
'port' => env('MAIL_PORT', 587),
|
||||
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
|
||||
'username' => env('MAIL_USERNAME'),
|
||||
'password' => env('MAIL_PASSWORD'),
|
||||
'timeout' => null,
|
||||
'local_domain' => env('MAIL_EHLO_DOMAIN'),
|
||||
],
|
||||
|
||||
'ses' => [
|
||||
'transport' => 'ses',
|
||||
],
|
||||
|
||||
'mailgun' => [
|
||||
'transport' => 'mailgun',
|
||||
// 'client' => [
|
||||
// 'timeout' => 5,
|
||||
// ],
|
||||
],
|
||||
|
||||
'postmark' => [
|
||||
'transport' => 'postmark',
|
||||
// 'client' => [
|
||||
// 'timeout' => 5,
|
||||
// ],
|
||||
],
|
||||
|
||||
'sendmail' => [
|
||||
'transport' => 'sendmail',
|
||||
'path' => env('MAIL_SENDMAIL_PATH', '/usr/sbin/sendmail -bs -i'),
|
||||
],
|
||||
|
||||
'log' => [
|
||||
'transport' => 'log',
|
||||
'channel' => env('MAIL_LOG_CHANNEL'),
|
||||
],
|
||||
|
||||
'array' => [
|
||||
'transport' => 'array',
|
||||
],
|
||||
|
||||
'failover' => [
|
||||
'transport' => 'failover',
|
||||
'mailers' => [
|
||||
'smtp',
|
||||
'log',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Global "From" Address
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| You may wish for all e-mails sent by your application to be sent from
|
||||
| the same address. Here, you may specify a name and address that is
|
||||
| used globally for all e-mails that are sent by your application.
|
||||
|
|
||||
*/
|
||||
|
||||
'from' => [
|
||||
'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'),
|
||||
'name' => env('MAIL_FROM_NAME', 'Example'),
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Markdown Mail Settings
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| If you are using Markdown based email rendering, you may configure your
|
||||
| theme and component paths here, allowing you to customize the design
|
||||
| of the emails. Or, you may simply stick with the Laravel defaults!
|
||||
|
|
||||
*/
|
||||
|
||||
'markdown' => [
|
||||
'theme' => 'default',
|
||||
|
||||
'paths' => [
|
||||
resource_path('views/vendor/mail'),
|
||||
],
|
||||
],
|
||||
|
||||
];
|
89
config/queue.php
Executable file
89
config/queue.php
Executable file
@ -0,0 +1,89 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Default Queue Connection Name
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Laravel's queue API supports an assortment of back-ends via a single
|
||||
| API, giving you convenient access to each back-end using the same
|
||||
| syntax for every one. Here you may define a default connection.
|
||||
|
|
||||
*/
|
||||
|
||||
'default' => env('QUEUE_CONNECTION', 'sync'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Queue Connections
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may configure the connection information for each server that
|
||||
| is used by your application. A default configuration has been added
|
||||
| for each back-end shipped with Laravel. You are free to add more.
|
||||
|
|
||||
| Drivers: "sync", "database", "beanstalkd", "sqs", "redis", "null"
|
||||
|
|
||||
*/
|
||||
|
||||
'connections' => [
|
||||
|
||||
'sync' => [
|
||||
'driver' => 'sync',
|
||||
],
|
||||
|
||||
'redis' => [
|
||||
'driver' => 'redis',
|
||||
'connection' => 'default',
|
||||
'queue' => env('REDIS_QUEUE', 'default'),
|
||||
'retry_after' => 600,
|
||||
'block_for' => null,
|
||||
'after_commit' => false,
|
||||
],
|
||||
|
||||
'default' => [
|
||||
'driver' => 'database',
|
||||
'table' => 'jobs',
|
||||
'queue' => 'default',
|
||||
'timeout' => 90,
|
||||
'retry_after' => 600,
|
||||
],
|
||||
|
||||
'ssh' => [
|
||||
'driver' => 'database',
|
||||
'table' => 'jobs',
|
||||
'queue' => 'ssh',
|
||||
'timeout' => 240,
|
||||
'retry_after' => 600,
|
||||
],
|
||||
|
||||
'ssh-long' => [
|
||||
'driver' => 'database',
|
||||
'table' => 'jobs',
|
||||
'queue' => 'ssh-long',
|
||||
'timeout' => 600,
|
||||
'retry_after' => 600,
|
||||
],
|
||||
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Failed Queue Jobs
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| These options configure the behavior of failed queue job logging so you
|
||||
| can control which database and table are used to store the jobs that
|
||||
| have failed. You may change them to any database / table you wish.
|
||||
|
|
||||
*/
|
||||
|
||||
'failed' => [
|
||||
'driver' => env('QUEUE_FAILED_DRIVER', 'database-uuids'),
|
||||
'database' => env('DB_CONNECTION', 'mysql'),
|
||||
'table' => 'failed_jobs',
|
||||
],
|
||||
|
||||
];
|
67
config/sanctum.php
Normal file
67
config/sanctum.php
Normal file
@ -0,0 +1,67 @@
|
||||
<?php
|
||||
|
||||
use Laravel\Sanctum\Sanctum;
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Stateful Domains
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Requests from the following domains / hosts will receive stateful API
|
||||
| authentication cookies. Typically, these should include your local
|
||||
| and production domains which access your API via a frontend SPA.
|
||||
|
|
||||
*/
|
||||
|
||||
'stateful' => explode(',', env('SANCTUM_STATEFUL_DOMAINS', sprintf(
|
||||
'%s%s',
|
||||
'localhost,localhost:3000,127.0.0.1,127.0.0.1:8000,::1',
|
||||
Sanctum::currentApplicationUrlWithPort()
|
||||
))),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Sanctum Guards
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This array contains the authentication guards that will be checked when
|
||||
| Sanctum is trying to authenticate a request. If none of these guards
|
||||
| are able to authenticate the request, Sanctum will use the bearer
|
||||
| token that's present on an incoming request for authentication.
|
||||
|
|
||||
*/
|
||||
|
||||
'guard' => ['web'],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Expiration Minutes
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This value controls the number of minutes until an issued token will be
|
||||
| considered expired. If this value is null, personal access tokens do
|
||||
| not expire. This won't tweak the lifetime of first-party sessions.
|
||||
|
|
||||
*/
|
||||
|
||||
'expiration' => null,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Sanctum Middleware
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| When authenticating your first-party SPA with Sanctum you may need to
|
||||
| customize some of the middleware Sanctum uses while processing the
|
||||
| request. You may change the middleware listed below as required.
|
||||
|
|
||||
*/
|
||||
|
||||
'middleware' => [
|
||||
'verify_csrf_token' => App\Http\Middleware\VerifyCsrfToken::class,
|
||||
'encrypt_cookies' => App\Http\Middleware\EncryptCookies::class,
|
||||
],
|
||||
|
||||
];
|
821
config/serverproviders.php
Normal file
821
config/serverproviders.php
Normal file
@ -0,0 +1,821 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'aws' => [
|
||||
'plans' => [
|
||||
[
|
||||
'title' => '[t2 nano] 512MB RAM - CPU 1 core(s)',
|
||||
'value' => 't2.nano',
|
||||
],
|
||||
[
|
||||
'title' => '[t2 micro] 1024MB RAM - CPU 1 core(s)',
|
||||
'value' => 't2.micro',
|
||||
],
|
||||
[
|
||||
'title' => '[t2 small] 2048MB RAM - CPU 1 core(s)',
|
||||
'value' => 't2.small',
|
||||
],
|
||||
[
|
||||
'title' => '[t2 medium] 4096MB RAM - CPU 2 core(s)',
|
||||
'value' => 't2.medium',
|
||||
],
|
||||
[
|
||||
'title' => '[t2 large] 8192MB RAM - CPU 2 core(s)',
|
||||
'value' => 't2.large',
|
||||
],
|
||||
[
|
||||
'title' => '[t2 xlarge] 16384MB RAM - CPU 4 core(s)',
|
||||
'value' => 't2.xlarge',
|
||||
],
|
||||
[
|
||||
'title' => '[t2 2xlarge] 32768MB RAM - CPU 8 core(s)',
|
||||
'value' => 't2.2xlarge',
|
||||
],
|
||||
[
|
||||
'title' => '[t3a nano] 512MB RAM - CPU 2 core(s)',
|
||||
'value' => 't3a.nano',
|
||||
],
|
||||
[
|
||||
'title' => '[t3a micro] 1024MB RAM - CPU 2 core(s)',
|
||||
'value' => 't3a.micro',
|
||||
],
|
||||
[
|
||||
'title' => '[t3a small] 2048MB RAM - CPU 2 core(s)',
|
||||
'value' => 't3a.small',
|
||||
],
|
||||
[
|
||||
'title' => '[t3a medium] 4096MB RAM - CPU 2 core(s)',
|
||||
'value' => 't3a.medium',
|
||||
],
|
||||
[
|
||||
'title' => '[t3a large] 8192MB RAM - CPU 2 core(s)',
|
||||
'value' => 't3a.large',
|
||||
],
|
||||
[
|
||||
'title' => '[t3a xlarge] 16384MB RAM - CPU 4 core(s)',
|
||||
'value' => 't3a.xlarge',
|
||||
],
|
||||
],
|
||||
'regions' => [
|
||||
[
|
||||
'title' => 'US East (N. Virginia) (us-east-1)',
|
||||
'value' => 'us-east-1',
|
||||
],
|
||||
[
|
||||
'title' => 'US East (Ohio) (us-east-2)',
|
||||
'value' => 'us-east-2',
|
||||
],
|
||||
[
|
||||
'title' => 'US West (N. California) (us-west-1)',
|
||||
'value' => 'us-west-1',
|
||||
],
|
||||
[
|
||||
'title' => 'US West (Oregon) (us-west-2)',
|
||||
'value' => 'us-west-2',
|
||||
],
|
||||
[
|
||||
'title' => 'Asia Pacific (Hong Kong) (ap-east-1)',
|
||||
'value' => 'ap-east-1',
|
||||
],
|
||||
[
|
||||
'title' => 'Asia Pacific (Mumbai) (ap-south-1)',
|
||||
'value' => 'ap-south-1',
|
||||
],
|
||||
[
|
||||
'title' => 'Asia Pacific (Singapore) (ap-southeast-1',
|
||||
'value' => 'ap-southeast-1',
|
||||
],
|
||||
[
|
||||
'title' => 'Asia Pacific (Seoul) (ap-northeast-2)',
|
||||
'value' => 'ap-northeast-2',
|
||||
],
|
||||
[
|
||||
'title' => 'Asia Pacific (Tokyo) (ap-northeast-1)',
|
||||
'value' => 'ap-northeast-1',
|
||||
],
|
||||
[
|
||||
'title' => 'Asia Pacific (Sydney) (ap-southeast-2)',
|
||||
'value' => 'ap-southeast-2',
|
||||
],
|
||||
[
|
||||
'title' => 'Canada (Central) (ca-central-1)',
|
||||
'value' => 'ca-central-1',
|
||||
],
|
||||
[
|
||||
'title' => 'Europe (Frankfurt) (eu-central-1)',
|
||||
'value' => 'eu-central-1',
|
||||
],
|
||||
[
|
||||
'title' => 'Europe (Ireland) (eu-west-1)',
|
||||
'value' => 'eu-west-1',
|
||||
],
|
||||
[
|
||||
'title' => 'Europe (London) (eu-west-2)',
|
||||
'value' => 'eu-west-2',
|
||||
],
|
||||
[
|
||||
'title' => 'Europe (Paris) (eu-west-3)',
|
||||
'value' => 'eu-west-3',
|
||||
],
|
||||
[
|
||||
'title' => 'Europe (Milan) (eu-south-1)',
|
||||
'value' => 'eu-south-1',
|
||||
],
|
||||
[
|
||||
'title' => 'Europe (Stockholm) (eu-north-1)',
|
||||
'value' => 'eu-north-1',
|
||||
],
|
||||
[
|
||||
'title' => 'Middle East (Bahrain) (me-south-1)',
|
||||
'value' => 'me-south-1',
|
||||
],
|
||||
[
|
||||
'title' => 'South America (São Paulo) (sa-east-1)',
|
||||
'value' => 'sa-east-1',
|
||||
],
|
||||
[
|
||||
'title' => 'Africa (Cape Town) (af-south-1)',
|
||||
'value' => 'af-south-1',
|
||||
],
|
||||
],
|
||||
'images' => [
|
||||
'us-east-1' => [
|
||||
'ubuntu_18' => 'ami-0279c3b3186e54acd',
|
||||
'ubuntu_20' => 'ami-083654bd07b5da81d',
|
||||
],
|
||||
'us-east-2' => [
|
||||
'ubuntu_18' => 'ami-020db2c14939a8efb',
|
||||
'ubuntu_20' => 'ami-0629230e074c580f2',
|
||||
],
|
||||
'us-west-1' => [
|
||||
'ubuntu_18' => 'ami-083f68207d3376798',
|
||||
'ubuntu_20' => 'ami-053ac55bdcfe96e85',
|
||||
],
|
||||
'us-west-2' => [
|
||||
'ubuntu_18' => 'ami-09889d8d54f9e0a0e',
|
||||
'ubuntu_20' => 'ami-036d46416a34a611c',
|
||||
],
|
||||
'ap-east-1' => [
|
||||
'ubuntu_18' => 'ami-032c0a4bd39a5772c',
|
||||
'ubuntu_20' => 'ami-0a9c1cc3697104990',
|
||||
],
|
||||
'ap-south-1' => [
|
||||
'ubuntu_18' => 'ami-00782a7608c7fc226',
|
||||
'ubuntu_20' => 'ami-0567e0d2b4b2169ae',
|
||||
],
|
||||
'ap-northeast-1' => [
|
||||
'ubuntu_18' => 'ami-085e9421f80dbe728',
|
||||
'ubuntu_20' => 'ami-036d0684fc96830ca',
|
||||
],
|
||||
'ap-northeast-2' => [
|
||||
'ubuntu_18' => 'ami-0252a84eb1d66c2a0',
|
||||
'ubuntu_20' => 'ami-0f8b8babb98cc66d0',
|
||||
],
|
||||
'ap-southeast-1' => [
|
||||
'ubuntu_18' => 'ami-0907c2c44ea451f84',
|
||||
'ubuntu_20' => 'ami-0fed77069cd5a6d6c',
|
||||
],
|
||||
'ap-southeast-2' => [
|
||||
'ubuntu_18' => 'ami-00abf0511a7f4cee5',
|
||||
'ubuntu_20' => 'ami-0bf8b986de7e3c7ce',
|
||||
],
|
||||
'ca-central-1' => [
|
||||
'ubuntu_18' => 'ami-0e471deaa43652c4a',
|
||||
'ubuntu_20' => 'ami-0bb84e7329f4fa1f7',
|
||||
],
|
||||
'eu-central-1' => [
|
||||
'ubuntu_18' => 'ami-00d5e377dd7fad751',
|
||||
'ubuntu_20' => 'ami-0a49b025fffbbdac6',
|
||||
],
|
||||
'eu-west-1' => [
|
||||
'ubuntu_18' => 'ami-095b735dce49535b5',
|
||||
'ubuntu_20' => 'ami-08edbb0e85d6a0a07',
|
||||
],
|
||||
'eu-west-2' => [
|
||||
'ubuntu_18' => 'ami-008485ca60c91a0f3',
|
||||
'ubuntu_20' => 'ami-0fdf70ed5c34c5f52',
|
||||
],
|
||||
'eu-west-3' => [
|
||||
'ubuntu_18' => 'ami-0df7d9cc2767d16cd',
|
||||
'ubuntu_20' => 'ami-06d79c60d7454e2af',
|
||||
],
|
||||
'eu-south-1' => [
|
||||
'ubuntu_18' => 'ami-09f165dd6bd167be5',
|
||||
'ubuntu_20' => 'ami-0f8ce9c417115413d',
|
||||
],
|
||||
'eu-north-1' => [
|
||||
'ubuntu_18' => 'ami-038904f9024f34a0c',
|
||||
'ubuntu_20' => 'ami-0bd9c26722573e69b',
|
||||
],
|
||||
'me-south-1' => [
|
||||
'ubuntu_18' => 'ami-0ef669c57b73af73b',
|
||||
'ubuntu_20' => 'ami-0b4946d7420c44be4',
|
||||
],
|
||||
'sa-east-1' => [
|
||||
'ubuntu_18' => 'ami-0ed2b3edeb28afa59',
|
||||
'ubuntu_20' => 'ami-0e66f5495b4efdd0f',
|
||||
],
|
||||
'af-south-1' => [
|
||||
'ubuntu_18' => 'ami-0191bb2cf509687ee',
|
||||
'ubuntu_20' => 'ami-0ff86122fd4ad7208',
|
||||
],
|
||||
],
|
||||
],
|
||||
'linode' => [
|
||||
'plans' => [
|
||||
[
|
||||
'title' => 'Nanode 1GB',
|
||||
'value' => 'g6-nanode-1',
|
||||
],
|
||||
[
|
||||
'title' => 'Linode 2GB',
|
||||
'value' => 'g6-standard-1',
|
||||
],
|
||||
[
|
||||
'title' => 'Linode 4GB',
|
||||
'value' => 'g6-standard-2',
|
||||
],
|
||||
[
|
||||
'title' => 'Linode 8GB',
|
||||
'value' => 'g6-standard-4',
|
||||
],
|
||||
[
|
||||
'title' => 'Linode 16GB',
|
||||
'value' => 'g6-standard-6',
|
||||
],
|
||||
[
|
||||
'title' => 'Linode 32GB',
|
||||
'value' => 'g6-standard-8',
|
||||
],
|
||||
[
|
||||
'title' => 'Linode 64GB',
|
||||
'value' => 'g6-standard-16',
|
||||
],
|
||||
[
|
||||
'title' => 'Linode 96GB',
|
||||
'value' => 'g6-standard-20',
|
||||
],
|
||||
[
|
||||
'title' => 'Linode 128GB',
|
||||
'value' => 'g6-standard-24',
|
||||
],
|
||||
[
|
||||
'title' => 'Linode 192GB',
|
||||
'value' => 'g6-standard-32',
|
||||
],
|
||||
[
|
||||
'title' => 'Linode 24GB',
|
||||
'value' => 'g7-highmem-1',
|
||||
],
|
||||
[
|
||||
'title' => 'Linode 48GB',
|
||||
'value' => 'g7-highmem-2',
|
||||
],
|
||||
[
|
||||
'title' => 'Linode 90GB',
|
||||
'value' => 'g7-highmem-4',
|
||||
],
|
||||
[
|
||||
'title' => 'Linode 150GB',
|
||||
'value' => 'g7-highmem-8',
|
||||
],
|
||||
[
|
||||
'title' => 'Linode 300GB',
|
||||
'value' => 'g7-highmem-16',
|
||||
],
|
||||
[
|
||||
'title' => 'Dedicated 4GB',
|
||||
'value' => 'g6-dedicated-2',
|
||||
],
|
||||
[
|
||||
'title' => 'Dedicated 8GB',
|
||||
'value' => 'g6-dedicated-4',
|
||||
],
|
||||
[
|
||||
'title' => 'Dedicated 16GB',
|
||||
'value' => 'g6-dedicated-8',
|
||||
],
|
||||
[
|
||||
'title' => 'Dedicated 32GB',
|
||||
'value' => 'g6-dedicated-16',
|
||||
],
|
||||
[
|
||||
'title' => 'Dedicated 64GB',
|
||||
'value' => 'g6-dedicated-32',
|
||||
],
|
||||
[
|
||||
'title' => 'Dedicated 96GB',
|
||||
'value' => 'g6-dedicated-48',
|
||||
],
|
||||
[
|
||||
'title' => 'Dedicated 128GB',
|
||||
'value' => 'g6-dedicated-50',
|
||||
],
|
||||
[
|
||||
'title' => 'Dedicated 256GB',
|
||||
'value' => 'g6-dedicated-56',
|
||||
],
|
||||
[
|
||||
'title' => 'Dedicated 512GB',
|
||||
'value' => 'g6-dedicated-64',
|
||||
],
|
||||
[
|
||||
'title' => 'Dedicated 32GB + RTX6000 GPU x1',
|
||||
'value' => 'g1-gpu-rtx6000-1',
|
||||
],
|
||||
[
|
||||
'title' => 'Dedicated 64GB + RTX6000 GPU x2',
|
||||
'value' => 'g1-gpu-rtx6000-2',
|
||||
],
|
||||
[
|
||||
'title' => 'Dedicated 96GB + RTX6000 GPU x3',
|
||||
'value' => 'g1-gpu-rtx6000-3',
|
||||
],
|
||||
[
|
||||
'title' => 'Dedicated 128GB + RTX6000 GPU x4',
|
||||
'value' => 'g1-gpu-rtx6000-4',
|
||||
],
|
||||
],
|
||||
'regions' => [
|
||||
[
|
||||
'title' => 'ap-west - India',
|
||||
'value' => 'ap-west',
|
||||
],
|
||||
[
|
||||
'title' => 'ca-central - Canada',
|
||||
'value' => 'ca-central',
|
||||
],
|
||||
[
|
||||
'title' => 'ap-southeast - Australia',
|
||||
'value' => 'ap-southeast',
|
||||
],
|
||||
[
|
||||
'title' => 'us-central - United States',
|
||||
'value' => 'us-central',
|
||||
],
|
||||
[
|
||||
'title' => 'us-west - United States',
|
||||
'value' => 'us-west',
|
||||
],
|
||||
[
|
||||
'title' => 'us-southeast - United States',
|
||||
'value' => 'us-southeast',
|
||||
],
|
||||
[
|
||||
'title' => 'us-east - United States',
|
||||
'value' => 'us-east',
|
||||
],
|
||||
[
|
||||
'title' => 'eu-west - United Kingdom',
|
||||
'value' => 'eu-west',
|
||||
],
|
||||
[
|
||||
'title' => 'ap-south - Singapore',
|
||||
'value' => 'ap-south',
|
||||
],
|
||||
[
|
||||
'title' => 'eu-central - Germany',
|
||||
'value' => 'eu-central',
|
||||
],
|
||||
[
|
||||
'title' => 'ap-northeast - Japan',
|
||||
'value' => 'ap-northeast',
|
||||
],
|
||||
],
|
||||
'images' => [
|
||||
'ubuntu_18' => 'linode/ubuntu18.04',
|
||||
'ubuntu_20' => 'linode/ubuntu20.04',
|
||||
],
|
||||
],
|
||||
'digitalocean' => [
|
||||
'plans' => [
|
||||
[
|
||||
'title' => '1024MB RAM - CPU 1 core(s) - Disk: 25GB (s-1vcpu-1gb)',
|
||||
'value' => 's-1vcpu-1gb',
|
||||
],
|
||||
[
|
||||
'title' => '1024MB RAM - CPU 1 core(s) - Disk: 25GB (s-1vcpu-1gb-amd)',
|
||||
'value' => 's-1vcpu-1gb-amd',
|
||||
],
|
||||
[
|
||||
'title' => '1024MB RAM - CPU 1 core(s) - Disk: 25GB (s-1vcpu-1gb-intel)',
|
||||
'value' => 's-1vcpu-1gb-intel',
|
||||
],
|
||||
[
|
||||
'title' => '2048MB RAM - CPU 1 core(s) - Disk: 50GB (s-1vcpu-2gb)',
|
||||
'value' => 's-1vcpu-2gb',
|
||||
],
|
||||
[
|
||||
'title' => '2048MB RAM - CPU 1 core(s) - Disk: 50GB (s-1vcpu-2gb-amd)',
|
||||
'value' => 's-1vcpu-2gb-amd',
|
||||
],
|
||||
[
|
||||
'title' => '2048MB RAM - CPU 1 core(s) - Disk: 50GB (s-1vcpu-2gb-intel)',
|
||||
'value' => 's-1vcpu-2gb-intel',
|
||||
],
|
||||
[
|
||||
'title' => '2048MB RAM - CPU 2 core(s) - Disk: 60GB (s-2vcpu-2gb)',
|
||||
'value' => 's-2vcpu-2gb',
|
||||
],
|
||||
[
|
||||
'title' => '2048MB RAM - CPU 2 core(s) - Disk: 60GB (s-2vcpu-2gb-amd)',
|
||||
'value' => 's-2vcpu-2gb-amd',
|
||||
],
|
||||
[
|
||||
'title' => '2048MB RAM - CPU 2 core(s) - Disk: 60GB (s-2vcpu-2gb-intel)',
|
||||
'value' => 's-2vcpu-2gb-intel',
|
||||
],
|
||||
[
|
||||
'title' => '4096MB RAM - CPU 2 core(s) - Disk: 80GB (s-2vcpu-4gb)',
|
||||
'value' => 's-2vcpu-4gb',
|
||||
],
|
||||
[
|
||||
'title' => '4096MB RAM - CPU 2 core(s) - Disk: 80GB (s-2vcpu-4gb-amd)',
|
||||
'value' => 's-2vcpu-4gb-amd',
|
||||
],
|
||||
[
|
||||
'title' => '4096MB RAM - CPU 2 core(s) - Disk: 80GB (s-2vcpu-4gb-intel)',
|
||||
'value' => 's-2vcpu-4gb-intel',
|
||||
],
|
||||
[
|
||||
'title' => '8192MB RAM - CPU 4 core(s) - Disk: 160GB (s-4vcpu-8gb)',
|
||||
'value' => 's-4vcpu-8gb',
|
||||
],
|
||||
[
|
||||
'title' => '8192MB RAM - CPU 4 core(s) - Disk: 160GB (s-4vcpu-8gb-amd)',
|
||||
'value' => 's-4vcpu-8gb-amd',
|
||||
],
|
||||
[
|
||||
'title' => '8192MB RAM - CPU 4 core(s) - Disk: 160GB (s-4vcpu-8gb-intel)',
|
||||
'value' => 's-4vcpu-8gb-intel',
|
||||
],
|
||||
[
|
||||
'title' => '16384MB RAM - CPU 8 core(s) - Disk: 320GB (s-8vcpu-16gb)',
|
||||
'value' => 's-8vcpu-16gb',
|
||||
],
|
||||
[
|
||||
'title' => '4096MB RAM - CPU 2 core(s) - Disk: 25GB (c-2)',
|
||||
'value' => 'c-2',
|
||||
],
|
||||
[
|
||||
'title' => '4096MB RAM - CPU 2 core(s) - Disk: 50GB (c2-2vcpu-4gb)',
|
||||
'value' => 'c2-2vcpu-4gb',
|
||||
],
|
||||
[
|
||||
'title' => '8192MB RAM - CPU 2 core(s) - Disk: 25GB (g-2vcpu-8gb)',
|
||||
'value' => 'g-2vcpu-8gb',
|
||||
],
|
||||
[
|
||||
'title' => '8192MB RAM - CPU 2 core(s) - Disk: 50GB (gd-2vcpu-8gb)',
|
||||
'value' => 'gd-2vcpu-8gb',
|
||||
],
|
||||
],
|
||||
'regions' => [
|
||||
[
|
||||
'title' => 'New York 1',
|
||||
'value' => 'nyc1',
|
||||
],
|
||||
[
|
||||
'title' => 'Amsterdam 2',
|
||||
'value' => 'ams2',
|
||||
],
|
||||
[
|
||||
'title' => 'Singapore 1',
|
||||
'value' => 'sgp1',
|
||||
],
|
||||
[
|
||||
'title' => 'London 1',
|
||||
'value' => 'lon1',
|
||||
],
|
||||
[
|
||||
'title' => 'New York 3',
|
||||
'value' => 'nyc3',
|
||||
],
|
||||
[
|
||||
'title' => 'Amsterdam 3',
|
||||
'value' => 'ams3',
|
||||
],
|
||||
[
|
||||
'title' => 'Frankfurt 1',
|
||||
'value' => 'fra1',
|
||||
],
|
||||
[
|
||||
'title' => 'Toronto 1',
|
||||
'value' => 'tor1',
|
||||
],
|
||||
[
|
||||
'title' => 'Bangalore 1',
|
||||
'value' => 'blr1',
|
||||
],
|
||||
[
|
||||
'title' => 'San Francisco 3',
|
||||
'value' => 'sfo3',
|
||||
],
|
||||
],
|
||||
'images' => [
|
||||
'ubuntu_18' => '93524084',
|
||||
'ubuntu_20' => '93525508',
|
||||
],
|
||||
],
|
||||
'vultr' => [
|
||||
'plans' => [
|
||||
[
|
||||
'title' => '1 CPU - 1024MB Ram - 25GB Disk',
|
||||
'value' => 'vc2-1c-1gb',
|
||||
],
|
||||
[
|
||||
'title' => '1 CPU - 2048MB Ram - 55GB Disk',
|
||||
'value' => 'vc2-1c-2gb',
|
||||
],
|
||||
[
|
||||
'title' => '2 CPU - 4096MB Ram - 80GB Disk',
|
||||
'value' => 'vc2-2c-4gb',
|
||||
],
|
||||
[
|
||||
'title' => '4 CPU - 8192MB Ram - 160GB Disk',
|
||||
'value' => 'vc2-4c-8gb',
|
||||
],
|
||||
[
|
||||
'title' => '6 CPU - 16384MB Ram - 320GB Disk',
|
||||
'value' => 'vc2-6c-16gb',
|
||||
],
|
||||
[
|
||||
'title' => '8 CPU - 32768MB Ram - 640GB Disk',
|
||||
'value' => 'vc2-8c-32gb',
|
||||
],
|
||||
[
|
||||
'title' => '16 CPU - 65536MB Ram - 1280GB Disk',
|
||||
'value' => 'vc2-16c-64gb',
|
||||
],
|
||||
[
|
||||
'title' => '24 CPU - 98304MB Ram - 1600GB Disk',
|
||||
'value' => 'vc2-24c-96gb',
|
||||
],
|
||||
[
|
||||
'title' => '2 CPU - 8192MB Ram - 110GB Disk',
|
||||
'value' => 'vdc-2vcpu-8gb',
|
||||
],
|
||||
[
|
||||
'title' => '4 CPU - 16384MB Ram - 110GB Disk',
|
||||
'value' => 'vdc-4vcpu-16gb',
|
||||
],
|
||||
[
|
||||
'title' => '6 CPU - 24576MB Ram - 110GB Disk',
|
||||
'value' => 'vdc-6vcpu-24gb',
|
||||
],
|
||||
[
|
||||
'title' => '8 CPU - 32768MB Ram - 110GB Disk',
|
||||
'value' => 'vdc-8vcpu-32gb',
|
||||
],
|
||||
[
|
||||
'title' => '1 CPU - 1024MB Ram - 32GB Disk',
|
||||
'value' => 'vhf-1c-1gb',
|
||||
],
|
||||
[
|
||||
'title' => '1 CPU - 2048MB Ram - 64GB Disk',
|
||||
'value' => 'vhf-1c-2gb',
|
||||
],
|
||||
[
|
||||
'title' => '2 CPU - 2048MB Ram - 80GB Disk',
|
||||
'value' => 'vhf-2c-2gb',
|
||||
],
|
||||
[
|
||||
'title' => '2 CPU - 4096MB Ram - 128GB Disk',
|
||||
'value' => 'vhf-2c-4gb',
|
||||
],
|
||||
[
|
||||
'title' => '3 CPU - 8192MB Ram - 256GB Disk',
|
||||
'value' => 'vhf-3c-8gb',
|
||||
],
|
||||
[
|
||||
'title' => '4 CPU - 16384MB Ram - 384GB Disk',
|
||||
'value' => 'vhf-4c-16gb',
|
||||
],
|
||||
[
|
||||
'title' => '6 CPU - 24576MB Ram - 448GB Disk',
|
||||
'value' => 'vhf-6c-24gb',
|
||||
],
|
||||
[
|
||||
'title' => '8 CPU - 32768MB Ram - 512GB Disk',
|
||||
'value' => 'vhf-8c-32gb',
|
||||
],
|
||||
[
|
||||
'title' => '12 CPU - 49152MB Ram - 768GB Disk',
|
||||
'value' => 'vhf-12c-48gb',
|
||||
],
|
||||
],
|
||||
'regions' => [
|
||||
[
|
||||
'title' => 'Europe - Amsterdam',
|
||||
'value' => 'ams',
|
||||
],
|
||||
[
|
||||
'title' => 'North America - Atlanta',
|
||||
'value' => 'atl',
|
||||
],
|
||||
[
|
||||
'title' => 'Europe - Paris',
|
||||
'value' => 'cdg',
|
||||
],
|
||||
[
|
||||
'title' => 'North America - Dallas',
|
||||
'value' => 'dfw',
|
||||
],
|
||||
[
|
||||
'title' => 'North America - New Jersey',
|
||||
'value' => 'ewr',
|
||||
],
|
||||
[
|
||||
'title' => 'Europe - Frankfurt',
|
||||
'value' => 'fra',
|
||||
],
|
||||
[
|
||||
'title' => 'Asia - Seoul',
|
||||
'value' => 'icn',
|
||||
],
|
||||
[
|
||||
'title' => 'North America - Los Angeles',
|
||||
'value' => 'lax',
|
||||
],
|
||||
[
|
||||
'title' => 'Europe - London',
|
||||
'value' => 'lhr',
|
||||
],
|
||||
[
|
||||
'title' => 'North America - Mexico City',
|
||||
'value' => 'mex',
|
||||
],
|
||||
[
|
||||
'title' => 'North America - Miami',
|
||||
'value' => 'mia',
|
||||
],
|
||||
[
|
||||
'title' => 'Asia - Tokyo',
|
||||
'value' => 'nrt',
|
||||
],
|
||||
[
|
||||
'title' => 'North America - Chicago',
|
||||
'value' => 'ord',
|
||||
],
|
||||
[
|
||||
'title' => 'North America - Seattle',
|
||||
'value' => 'sea',
|
||||
],
|
||||
[
|
||||
'title' => 'Asia - Singapore',
|
||||
'value' => 'sgp',
|
||||
],
|
||||
[
|
||||
'title' => 'North America - Silicon Valley',
|
||||
'value' => 'sjc',
|
||||
],
|
||||
[
|
||||
'title' => 'Europe - Stockholm',
|
||||
'value' => 'sto',
|
||||
],
|
||||
[
|
||||
'title' => 'Australia - Sydney',
|
||||
'value' => 'syd',
|
||||
],
|
||||
[
|
||||
'title' => 'North America - Toronto',
|
||||
'value' => 'yto',
|
||||
],
|
||||
],
|
||||
'images' => [
|
||||
'ubuntu_18' => '270',
|
||||
'ubuntu_20' => '387',
|
||||
],
|
||||
],
|
||||
'hetzner' => [
|
||||
'plans' => [
|
||||
[
|
||||
'title' => 'CX11 - 1 Cores - 2 Memory - 20 Disk',
|
||||
'value' => 'cx11',
|
||||
],
|
||||
[
|
||||
'title' => 'CX21 - 2 Cores - 4 Memory - 40 Disk',
|
||||
'value' => 'cx21',
|
||||
],
|
||||
[
|
||||
'title' => 'CX31 - 2 Cores - 8 Memory - 80 Disk',
|
||||
'value' => 'cx31',
|
||||
],
|
||||
[
|
||||
'title' => 'CX41 - 4 Cores - 16 Memory - 160 Disk',
|
||||
'value' => 'cx41',
|
||||
],
|
||||
[
|
||||
'title' => 'CX51 - 8 Cores - 32 Memory - 240 Disk',
|
||||
'value' => 'cx51',
|
||||
],
|
||||
[
|
||||
'title' => 'CCX11 Dedicated CPU - 2 Cores - 8 Memory - 80 Disk',
|
||||
'value' => 'ccx11',
|
||||
],
|
||||
[
|
||||
'title' => 'CCX21 Dedicated CPU - 4 Cores - 16 Memory - 160 Disk',
|
||||
'value' => 'ccx21',
|
||||
],
|
||||
[
|
||||
'title' => 'CCX31 Dedicated CPU - 8 Cores - 32 Memory - 240 Disk',
|
||||
'value' => 'ccx31',
|
||||
],
|
||||
[
|
||||
'title' => 'CCX41 Dedicated CPU - 16 Cores - 64 Memory - 360 Disk',
|
||||
'value' => 'ccx41',
|
||||
],
|
||||
[
|
||||
'title' => 'CCX51 Dedicated CPU - 32 Cores - 128 Memory - 600 Disk',
|
||||
'value' => 'ccx51',
|
||||
],
|
||||
[
|
||||
'title' => 'CPX 11 - 2 Cores - 2 Memory - 40 Disk',
|
||||
'value' => 'cpx11',
|
||||
],
|
||||
[
|
||||
'title' => 'CPX 21 - 3 Cores - 4 Memory - 80 Disk',
|
||||
'value' => 'cpx21',
|
||||
],
|
||||
[
|
||||
'title' => 'CPX 31 - 4 Cores - 8 Memory - 160 Disk',
|
||||
'value' => 'cpx31',
|
||||
],
|
||||
[
|
||||
'title' => 'CPX 41 - 8 Cores - 16 Memory - 240 Disk',
|
||||
'value' => 'cpx41',
|
||||
],
|
||||
[
|
||||
'title' => 'CPX 51 - 16 Cores - 32 Memory - 360 Disk',
|
||||
'value' => 'cpx51',
|
||||
],
|
||||
[
|
||||
'title' => 'CCX12 Dedicated CPU - 2 Cores - 8 Memory - 80 Disk',
|
||||
'value' => 'ccx12',
|
||||
],
|
||||
[
|
||||
'title' => 'CCX22 Dedicated CPU - 4 Cores - 16 Memory - 160 Disk',
|
||||
'value' => 'ccx22',
|
||||
],
|
||||
[
|
||||
'title' => 'CCX32 Dedicated CPU - 8 Cores - 32 Memory - 240 Disk',
|
||||
'value' => 'ccx32',
|
||||
],
|
||||
[
|
||||
'title' => 'CCX42 Dedicated CPU - 16 Cores - 64 Memory - 360 Disk',
|
||||
'value' => 'ccx42',
|
||||
],
|
||||
[
|
||||
'title' => 'CCX52 Dedicated CPU - 32 Cores - 128 Memory - 600 Disk',
|
||||
'value' => 'ccx52',
|
||||
],
|
||||
[
|
||||
'title' => 'CCX62 Dedicated CPU - 48 Cores - 192 Memory - 960 Disk',
|
||||
'value' => 'ccx62',
|
||||
],
|
||||
[
|
||||
'title' => 'CAX11 - 2 Cores - 4 Memory - 40 Disk',
|
||||
'value' => 'cax11',
|
||||
],
|
||||
[
|
||||
'title' => 'CAX21 - 4 Cores - 8 Memory - 80 Disk',
|
||||
'value' => 'cax21',
|
||||
],
|
||||
[
|
||||
'title' => 'CAX31 - 8 Cores - 16 Memory - 160 Disk',
|
||||
'value' => 'cax31',
|
||||
],
|
||||
[
|
||||
'title' => 'CAX41 - 16 Cores - 32 Memory - 320 Disk',
|
||||
'value' => 'cax41',
|
||||
],
|
||||
],
|
||||
'regions' => [
|
||||
[
|
||||
'title' => 'DE - Falkenstein',
|
||||
'value' => 'fsn1',
|
||||
],
|
||||
[
|
||||
'title' => 'DE - Nuremberg',
|
||||
'value' => 'nbg1',
|
||||
],
|
||||
[
|
||||
'title' => 'FI - Helsinki',
|
||||
'value' => 'hel1',
|
||||
],
|
||||
[
|
||||
'title' => 'US - Ashburn, VA',
|
||||
'value' => 'ash',
|
||||
],
|
||||
[
|
||||
'title' => 'US - Hillsboro, OR',
|
||||
'value' => 'hil',
|
||||
],
|
||||
],
|
||||
'images' => [
|
||||
'ubuntu_18' => 'ubuntu-18.04',
|
||||
'ubuntu_20' => 'ubuntu-20.04',
|
||||
'ubuntu_22' => 'ubuntu-22.04',
|
||||
],
|
||||
],
|
||||
];
|
34
config/services.php
Normal file
34
config/services.php
Normal file
@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Third Party Services
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This file is for storing the credentials for third party services such
|
||||
| as Mailgun, Postmark, AWS and more. This file provides the de facto
|
||||
| location for this type of information, allowing packages to have
|
||||
| a conventional file to locate the various service credentials.
|
||||
|
|
||||
*/
|
||||
|
||||
'mailgun' => [
|
||||
'domain' => env('MAILGUN_DOMAIN'),
|
||||
'secret' => env('MAILGUN_SECRET'),
|
||||
'endpoint' => env('MAILGUN_ENDPOINT', 'api.mailgun.net'),
|
||||
'scheme' => 'https',
|
||||
],
|
||||
|
||||
'postmark' => [
|
||||
'token' => env('POSTMARK_TOKEN'),
|
||||
],
|
||||
|
||||
'ses' => [
|
||||
'key' => env('AWS_ACCESS_KEY_ID'),
|
||||
'secret' => env('AWS_SECRET_ACCESS_KEY'),
|
||||
'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
|
||||
],
|
||||
|
||||
];
|
201
config/session.php
Normal file
201
config/session.php
Normal file
@ -0,0 +1,201 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Default Session Driver
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This option controls the default session "driver" that will be used on
|
||||
| requests. By default, we will use the lightweight native driver but
|
||||
| you may specify any of the other wonderful drivers provided here.
|
||||
|
|
||||
| Supported: "file", "cookie", "database", "apc",
|
||||
| "memcached", "redis", "dynamodb", "array"
|
||||
|
|
||||
*/
|
||||
|
||||
'driver' => env('SESSION_DRIVER', 'file'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Session Lifetime
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may specify the number of minutes that you wish the session
|
||||
| to be allowed to remain idle before it expires. If you want them
|
||||
| to immediately expire on the browser closing, set that option.
|
||||
|
|
||||
*/
|
||||
|
||||
'lifetime' => env('SESSION_LIFETIME', 120),
|
||||
|
||||
'expire_on_close' => false,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Session Encryption
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This option allows you to easily specify that all of your session data
|
||||
| should be encrypted before it is stored. All encryption will be run
|
||||
| automatically by Laravel and you can use the Session like normal.
|
||||
|
|
||||
*/
|
||||
|
||||
'encrypt' => false,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Session File Location
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| When using the native session driver, we need a location where session
|
||||
| files may be stored. A default has been set for you but a different
|
||||
| location may be specified. This is only needed for file sessions.
|
||||
|
|
||||
*/
|
||||
|
||||
'files' => storage_path('framework/sessions'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Session Database Connection
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| When using the "database" or "redis" session drivers, you may specify a
|
||||
| connection that should be used to manage these sessions. This should
|
||||
| correspond to a connection in your database configuration options.
|
||||
|
|
||||
*/
|
||||
|
||||
'connection' => env('SESSION_CONNECTION'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Session Database Table
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| When using the "database" session driver, you may specify the table we
|
||||
| should use to manage the sessions. Of course, a sensible default is
|
||||
| provided for you; however, you are free to change this as needed.
|
||||
|
|
||||
*/
|
||||
|
||||
'table' => 'sessions',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Session Cache Store
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| While using one of the framework's cache driven session backends you may
|
||||
| list a cache store that should be used for these sessions. This value
|
||||
| must match with one of the application's configured cache "stores".
|
||||
|
|
||||
| Affects: "apc", "dynamodb", "memcached", "redis"
|
||||
|
|
||||
*/
|
||||
|
||||
'store' => env('SESSION_STORE'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Session Sweeping Lottery
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Some session drivers must manually sweep their storage location to get
|
||||
| rid of old sessions from storage. Here are the chances that it will
|
||||
| happen on a given request. By default, the odds are 2 out of 100.
|
||||
|
|
||||
*/
|
||||
|
||||
'lottery' => [2, 100],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Session Cookie Name
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may change the name of the cookie used to identify a session
|
||||
| instance by ID. The name specified here will get used every time a
|
||||
| new session cookie is created by the framework for every driver.
|
||||
|
|
||||
*/
|
||||
|
||||
'cookie' => env(
|
||||
'SESSION_COOKIE',
|
||||
Str::slug(env('APP_NAME', 'laravel'), '_').'_session'
|
||||
),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Session Cookie Path
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The session cookie path determines the path for which the cookie will
|
||||
| be regarded as available. Typically, this will be the root path of
|
||||
| your application but you are free to change this when necessary.
|
||||
|
|
||||
*/
|
||||
|
||||
'path' => '/',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Session Cookie Domain
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may change the domain of the cookie used to identify a session
|
||||
| in your application. This will determine which domains the cookie is
|
||||
| available to in your application. A sensible default has been set.
|
||||
|
|
||||
*/
|
||||
|
||||
'domain' => env('SESSION_DOMAIN'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| HTTPS Only Cookies
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| By setting this option to true, session cookies will only be sent back
|
||||
| to the server if the browser has a HTTPS connection. This will keep
|
||||
| the cookie from being sent to you when it can't be done securely.
|
||||
|
|
||||
*/
|
||||
|
||||
'secure' => env('SESSION_SECURE_COOKIE'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| HTTP Access Only
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Setting this value to true will prevent JavaScript from accessing the
|
||||
| value of the cookie and the cookie will only be accessible through
|
||||
| the HTTP protocol. You are free to modify this option if needed.
|
||||
|
|
||||
*/
|
||||
|
||||
'http_only' => true,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Same-Site Cookies
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This option determines how your cookies behave when cross-site requests
|
||||
| take place, and can be used to mitigate CSRF attacks. By default, we
|
||||
| will set this value to "lax" since this is a secure default value.
|
||||
|
|
||||
| Supported: "lax", "strict", "none", null
|
||||
|
|
||||
*/
|
||||
|
||||
'same_site' => 'lax',
|
||||
|
||||
];
|
187
config/telescope.php
Normal file
187
config/telescope.php
Normal file
@ -0,0 +1,187 @@
|
||||
<?php
|
||||
|
||||
use Laravel\Telescope\Http\Middleware\Authorize;
|
||||
use Laravel\Telescope\Watchers;
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Telescope Domain
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This is the subdomain where Telescope will be accessible from. If the
|
||||
| setting is null, Telescope will reside under the same domain as the
|
||||
| application. Otherwise, this value will be used as the subdomain.
|
||||
|
|
||||
*/
|
||||
|
||||
'domain' => env('TELESCOPE_DOMAIN'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Telescope Path
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This is the URI path where Telescope will be accessible from. Feel free
|
||||
| to change this path to anything you like. Note that the URI will not
|
||||
| affect the paths of its internal API that aren't exposed to users.
|
||||
|
|
||||
*/
|
||||
|
||||
'path' => env('TELESCOPE_PATH', 'telescope'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Telescope Storage Driver
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This configuration options determines the storage driver that will
|
||||
| be used to store Telescope's data. In addition, you may set any
|
||||
| custom options as needed by the particular driver you choose.
|
||||
|
|
||||
*/
|
||||
|
||||
'driver' => env('TELESCOPE_DRIVER', 'database'),
|
||||
|
||||
'storage' => [
|
||||
'database' => [
|
||||
'connection' => env('DB_CONNECTION', 'mysql'),
|
||||
'chunk' => 1000,
|
||||
],
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Telescope Master Switch
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This option may be used to disable all Telescope watchers regardless
|
||||
| of their individual configuration, which simply provides a single
|
||||
| and convenient way to enable or disable Telescope data storage.
|
||||
|
|
||||
*/
|
||||
|
||||
'enabled' => env('TELESCOPE_ENABLED', true),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Telescope Route Middleware
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| These middleware will be assigned to every Telescope route, giving you
|
||||
| the chance to add your own middleware to this list or change any of
|
||||
| the existing middleware. Or, you can simply stick with this list.
|
||||
|
|
||||
*/
|
||||
|
||||
'middleware' => [
|
||||
'web',
|
||||
Authorize::class,
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Allowed / Ignored Paths & Commands
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The following array lists the URI paths and Artisan commands that will
|
||||
| not be watched by Telescope. In addition to this list, some Laravel
|
||||
| commands, like migrations and queue commands, are always ignored.
|
||||
|
|
||||
*/
|
||||
|
||||
'only_paths' => [
|
||||
// 'api/*'
|
||||
],
|
||||
|
||||
'ignore_paths' => [
|
||||
'nova-api*',
|
||||
],
|
||||
|
||||
'ignore_commands' => [
|
||||
//
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Telescope Watchers
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The following array lists the "watchers" that will be registered with
|
||||
| Telescope. The watchers gather the application's profile data when
|
||||
| a request or task is executed. Feel free to customize this list.
|
||||
|
|
||||
*/
|
||||
|
||||
'watchers' => [
|
||||
Watchers\BatchWatcher::class => env('TELESCOPE_BATCH_WATCHER', true),
|
||||
|
||||
Watchers\CacheWatcher::class => [
|
||||
'enabled' => env('TELESCOPE_CACHE_WATCHER', true),
|
||||
'hidden' => [],
|
||||
],
|
||||
|
||||
Watchers\ClientRequestWatcher::class => env('TELESCOPE_CLIENT_REQUEST_WATCHER', true),
|
||||
|
||||
Watchers\CommandWatcher::class => [
|
||||
'enabled' => env('TELESCOPE_COMMAND_WATCHER', true),
|
||||
'ignore' => [],
|
||||
],
|
||||
|
||||
Watchers\DumpWatcher::class => [
|
||||
'enabled' => env('TELESCOPE_DUMP_WATCHER', true),
|
||||
'always' => env('TELESCOPE_DUMP_WATCHER_ALWAYS', false),
|
||||
],
|
||||
|
||||
Watchers\EventWatcher::class => [
|
||||
'enabled' => env('TELESCOPE_EVENT_WATCHER', true),
|
||||
'ignore' => [],
|
||||
],
|
||||
|
||||
Watchers\ExceptionWatcher::class => env('TELESCOPE_EXCEPTION_WATCHER', true),
|
||||
|
||||
Watchers\GateWatcher::class => [
|
||||
'enabled' => env('TELESCOPE_GATE_WATCHER', true),
|
||||
'ignore_abilities' => [],
|
||||
'ignore_packages' => true,
|
||||
'ignore_paths' => [],
|
||||
],
|
||||
|
||||
Watchers\JobWatcher::class => env('TELESCOPE_JOB_WATCHER', true),
|
||||
|
||||
Watchers\LogWatcher::class => [
|
||||
'enabled' => env('TELESCOPE_LOG_WATCHER', true),
|
||||
'level' => 'error',
|
||||
],
|
||||
|
||||
Watchers\MailWatcher::class => env('TELESCOPE_MAIL_WATCHER', true),
|
||||
|
||||
Watchers\ModelWatcher::class => [
|
||||
'enabled' => env('TELESCOPE_MODEL_WATCHER', true),
|
||||
'events' => ['eloquent.*'],
|
||||
'hydrations' => true,
|
||||
],
|
||||
|
||||
Watchers\NotificationWatcher::class => env('TELESCOPE_NOTIFICATION_WATCHER', true),
|
||||
|
||||
Watchers\QueryWatcher::class => [
|
||||
'enabled' => env('TELESCOPE_QUERY_WATCHER', true),
|
||||
'ignore_packages' => true,
|
||||
'ignore_paths' => [],
|
||||
'slow' => 100,
|
||||
],
|
||||
|
||||
Watchers\RedisWatcher::class => env('TELESCOPE_REDIS_WATCHER', true),
|
||||
|
||||
Watchers\RequestWatcher::class => [
|
||||
'enabled' => env('TELESCOPE_REQUEST_WATCHER', true),
|
||||
'size_limit' => env('TELESCOPE_RESPONSE_SIZE_LIMIT', 64),
|
||||
'ignore_http_methods' => [],
|
||||
'ignore_status_codes' => [],
|
||||
],
|
||||
|
||||
Watchers\ScheduleWatcher::class => env('TELESCOPE_SCHEDULE_WATCHER', true),
|
||||
Watchers\ViewWatcher::class => env('TELESCOPE_VIEW_WATCHER', true),
|
||||
],
|
||||
];
|
36
config/view.php
Normal file
36
config/view.php
Normal file
@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| View Storage Paths
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Most templating systems load templates from disk. Here you may specify
|
||||
| an array of paths that should be checked for your views. Of course
|
||||
| the usual Laravel view path has already been registered for you.
|
||||
|
|
||||
*/
|
||||
|
||||
'paths' => [
|
||||
resource_path('views'),
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Compiled View Path
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This option determines where all the compiled Blade templates will be
|
||||
| stored for your application. Typically, this is within the storage
|
||||
| directory. However, as usual, you are free to change this value.
|
||||
|
|
||||
*/
|
||||
|
||||
'compiled' => env(
|
||||
'VIEW_COMPILED_PATH',
|
||||
realpath(storage_path('framework/views'))
|
||||
),
|
||||
|
||||
];
|
Reference in New Issue
Block a user