mirror of
https://github.com/sp-tarkov/forge.git
synced 2025-02-12 20:20:41 -05:00
Laravel Octane
This commit is contained in:
parent
8da9268fff
commit
e457d6901d
@ -74,3 +74,6 @@ MAIL_FROM_NAME="${APP_NAME}"
|
|||||||
NOVA_LICENSE_KEY=
|
NOVA_LICENSE_KEY=
|
||||||
|
|
||||||
SAIL_XDEBUG_MODE=develop,debug,coverage
|
SAIL_XDEBUG_MODE=develop,debug,coverage
|
||||||
|
|
||||||
|
OCTANE_SERVER=frankenphp
|
||||||
|
OCTANE_HTTPS=true
|
||||||
|
10
.github/README.md
vendored
10
.github/README.md
vendored
@ -16,7 +16,7 @@ This is a [Laravel](https://laravel.com/docs/11.x) project that uses [Sail](http
|
|||||||
|
|
||||||
### Accessing the Application:
|
### Accessing the Application:
|
||||||
|
|
||||||
Once the Docker containers are running with Sail you can access the application at <http://localhost>.
|
Once the Docker containers are running with Sail you can access the application at <https://localhost>.
|
||||||
|
|
||||||
### Available Services:
|
### Available Services:
|
||||||
|
|
||||||
@ -30,10 +30,10 @@ Once the Docker containers are running with Sail you can access the application
|
|||||||
### Notable Routes
|
### Notable Routes
|
||||||
|
|
||||||
| Service | Authentication | Access Via Host |
|
| Service | Authentication | Access Via Host |
|
||||||
|----------------------------------|----------------|----------------------------|
|
|----------------------------------|----------------|-----------------------------|
|
||||||
| Administration Panel (Nova) | Via User Role | <http://localhost/nova> |
|
| Administration Panel (Nova) | Via User Role | <https://localhost/nova> |
|
||||||
| Redis Queue Management (Horizon) | Via User Role | <http://localhost/horizon> |
|
| Redis Queue Management (Horizon) | Via User Role | <https://localhost/horizon> |
|
||||||
| Website Status (Pulse) | Via User Role | <http://localhost/pulse> |
|
| Website Status (Pulse) | Via User Role | <https://localhost/pulse> |
|
||||||
| Meilisearch WebUI | Local Only | <http://localhost:7700> |
|
| Meilisearch WebUI | Local Only | <http://localhost:7700> |
|
||||||
| Mailpit WebUI | Local Only | <http://localhost:8025> |
|
| Mailpit WebUI | Local Only | <http://localhost:8025> |
|
||||||
|
|
||||||
|
4
.gitignore
vendored
4
.gitignore
vendored
@ -18,3 +18,7 @@ yarn-error.log
|
|||||||
/.idea
|
/.idea
|
||||||
/.vscode
|
/.vscode
|
||||||
.DS_Store
|
.DS_Store
|
||||||
|
|
||||||
|
/caddy
|
||||||
|
frankenphp
|
||||||
|
frankenphp-worker.php
|
||||||
|
@ -13,6 +13,7 @@
|
|||||||
"laravel/horizon": "^5.24",
|
"laravel/horizon": "^5.24",
|
||||||
"laravel/jetstream": "^5.1",
|
"laravel/jetstream": "^5.1",
|
||||||
"laravel/nova": "^4.34",
|
"laravel/nova": "^4.34",
|
||||||
|
"laravel/octane": "^2.4",
|
||||||
"laravel/pulse": "^1.2",
|
"laravel/pulse": "^1.2",
|
||||||
"laravel/sanctum": "^4.0",
|
"laravel/sanctum": "^4.0",
|
||||||
"laravel/scout": "^10.10",
|
"laravel/scout": "^10.10",
|
||||||
|
259
composer.lock
generated
259
composer.lock
generated
@ -4,7 +4,7 @@
|
|||||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||||
"This file is @generated automatically"
|
"This file is @generated automatically"
|
||||||
],
|
],
|
||||||
"content-hash": "f408f6620fb7450f606e83307b085e60",
|
"content-hash": "27e93d0addfc37a8772b43a5887e4f0d",
|
||||||
"packages": [
|
"packages": [
|
||||||
{
|
{
|
||||||
"name": "aws/aws-crt-php",
|
"name": "aws/aws-crt-php",
|
||||||
@ -1832,6 +1832,91 @@
|
|||||||
],
|
],
|
||||||
"time": "2024-06-13T01:25:09+00:00"
|
"time": "2024-06-13T01:25:09+00:00"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "laminas/laminas-diactoros",
|
||||||
|
"version": "3.3.1",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/laminas/laminas-diactoros.git",
|
||||||
|
"reference": "74cfb9a7522ffd2a161d1ebe10db2fc2abb9df45"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/laminas/laminas-diactoros/zipball/74cfb9a7522ffd2a161d1ebe10db2fc2abb9df45",
|
||||||
|
"reference": "74cfb9a7522ffd2a161d1ebe10db2fc2abb9df45",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": "~8.1.0 || ~8.2.0 || ~8.3.0",
|
||||||
|
"psr/http-factory": "^1.0.2",
|
||||||
|
"psr/http-message": "^1.1 || ^2.0"
|
||||||
|
},
|
||||||
|
"provide": {
|
||||||
|
"psr/http-factory-implementation": "^1.1 || ^2.0",
|
||||||
|
"psr/http-message-implementation": "^1.1 || ^2.0"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"ext-curl": "*",
|
||||||
|
"ext-dom": "*",
|
||||||
|
"ext-gd": "*",
|
||||||
|
"ext-libxml": "*",
|
||||||
|
"http-interop/http-factory-tests": "^0.9.0",
|
||||||
|
"laminas/laminas-coding-standard": "~2.5.0",
|
||||||
|
"php-http/psr7-integration-tests": "^1.3",
|
||||||
|
"phpunit/phpunit": "^9.6.16",
|
||||||
|
"psalm/plugin-phpunit": "^0.18.4",
|
||||||
|
"vimeo/psalm": "^5.22.1"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"laminas": {
|
||||||
|
"config-provider": "Laminas\\Diactoros\\ConfigProvider",
|
||||||
|
"module": "Laminas\\Diactoros"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"files": [
|
||||||
|
"src/functions/create_uploaded_file.php",
|
||||||
|
"src/functions/marshal_headers_from_sapi.php",
|
||||||
|
"src/functions/marshal_method_from_sapi.php",
|
||||||
|
"src/functions/marshal_protocol_version_from_sapi.php",
|
||||||
|
"src/functions/normalize_server.php",
|
||||||
|
"src/functions/normalize_uploaded_files.php",
|
||||||
|
"src/functions/parse_cookie_header.php"
|
||||||
|
],
|
||||||
|
"psr-4": {
|
||||||
|
"Laminas\\Diactoros\\": "src/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"BSD-3-Clause"
|
||||||
|
],
|
||||||
|
"description": "PSR HTTP Message implementations",
|
||||||
|
"homepage": "https://laminas.dev",
|
||||||
|
"keywords": [
|
||||||
|
"http",
|
||||||
|
"laminas",
|
||||||
|
"psr",
|
||||||
|
"psr-17",
|
||||||
|
"psr-7"
|
||||||
|
],
|
||||||
|
"support": {
|
||||||
|
"chat": "https://laminas.dev/chat",
|
||||||
|
"docs": "https://docs.laminas.dev/laminas-diactoros/",
|
||||||
|
"forum": "https://discourse.laminas.dev",
|
||||||
|
"issues": "https://github.com/laminas/laminas-diactoros/issues",
|
||||||
|
"rss": "https://github.com/laminas/laminas-diactoros/releases.atom",
|
||||||
|
"source": "https://github.com/laminas/laminas-diactoros"
|
||||||
|
},
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"url": "https://funding.communitybridge.org/projects/laminas-project",
|
||||||
|
"type": "community_bridge"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"time": "2024-02-16T16:06:16+00:00"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "laravel/fortify",
|
"name": "laravel/fortify",
|
||||||
"version": "v1.21.3",
|
"version": "v1.21.3",
|
||||||
@ -2374,6 +2459,95 @@
|
|||||||
},
|
},
|
||||||
"time": "2024-06-12T16:57:44+00:00"
|
"time": "2024-06-12T16:57:44+00:00"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "laravel/octane",
|
||||||
|
"version": "v2.4.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/laravel/octane.git",
|
||||||
|
"reference": "2c818d7d213de793b180fc2a079f71c951d494c7"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/laravel/octane/zipball/2c818d7d213de793b180fc2a079f71c951d494c7",
|
||||||
|
"reference": "2c818d7d213de793b180fc2a079f71c951d494c7",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"laminas/laminas-diactoros": "^3.0",
|
||||||
|
"laravel/framework": "^10.10.1|^11.0",
|
||||||
|
"laravel/serializable-closure": "^1.3.0",
|
||||||
|
"nesbot/carbon": "^2.66.0|^3.0",
|
||||||
|
"php": "^8.1.0",
|
||||||
|
"symfony/console": "^6.0|^7.0",
|
||||||
|
"symfony/psr-http-message-bridge": "^2.2.0|^6.4|^7.0"
|
||||||
|
},
|
||||||
|
"conflict": {
|
||||||
|
"spiral/roadrunner": "<2023.1.0",
|
||||||
|
"spiral/roadrunner-cli": "<2.6.0",
|
||||||
|
"spiral/roadrunner-http": "<3.3.0"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"guzzlehttp/guzzle": "^7.6.1",
|
||||||
|
"inertiajs/inertia-laravel": "^0.6.9|^1.0",
|
||||||
|
"laravel/scout": "^10.2.1",
|
||||||
|
"laravel/socialite": "^5.6.1",
|
||||||
|
"livewire/livewire": "^2.12.3|^3.0",
|
||||||
|
"mockery/mockery": "^1.5.1",
|
||||||
|
"nunomaduro/collision": "^6.4.0|^7.5.2|^8.0",
|
||||||
|
"orchestra/testbench": "^8.5.2|^9.0",
|
||||||
|
"phpstan/phpstan": "^1.10.15",
|
||||||
|
"phpunit/phpunit": "^10.4",
|
||||||
|
"spiral/roadrunner-cli": "^2.6.0",
|
||||||
|
"spiral/roadrunner-http": "^3.3.0"
|
||||||
|
},
|
||||||
|
"bin": [
|
||||||
|
"bin/roadrunner-worker",
|
||||||
|
"bin/swoole-server"
|
||||||
|
],
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "2.x-dev"
|
||||||
|
},
|
||||||
|
"laravel": {
|
||||||
|
"providers": [
|
||||||
|
"Laravel\\Octane\\OctaneServiceProvider"
|
||||||
|
],
|
||||||
|
"aliases": {
|
||||||
|
"Octane": "Laravel\\Octane\\Facades\\Octane"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Laravel\\Octane\\": "src"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Taylor Otwell",
|
||||||
|
"email": "taylor@laravel.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Supercharge your Laravel application's performance.",
|
||||||
|
"keywords": [
|
||||||
|
"frankenphp",
|
||||||
|
"laravel",
|
||||||
|
"octane",
|
||||||
|
"roadrunner",
|
||||||
|
"swoole"
|
||||||
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/laravel/octane/issues",
|
||||||
|
"source": "https://github.com/laravel/octane"
|
||||||
|
},
|
||||||
|
"time": "2024-05-31T19:17:54+00:00"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "laravel/prompts",
|
"name": "laravel/prompts",
|
||||||
"version": "v0.1.24",
|
"version": "v0.1.24",
|
||||||
@ -7598,6 +7772,89 @@
|
|||||||
],
|
],
|
||||||
"time": "2024-05-31T14:57:53+00:00"
|
"time": "2024-05-31T14:57:53+00:00"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "symfony/psr-http-message-bridge",
|
||||||
|
"version": "v7.1.1",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/symfony/psr-http-message-bridge.git",
|
||||||
|
"reference": "9a5dbb606da711f5d40a7596ad577856f9402140"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/9a5dbb606da711f5d40a7596ad577856f9402140",
|
||||||
|
"reference": "9a5dbb606da711f5d40a7596ad577856f9402140",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": ">=8.2",
|
||||||
|
"psr/http-message": "^1.0|^2.0",
|
||||||
|
"symfony/http-foundation": "^6.4|^7.0"
|
||||||
|
},
|
||||||
|
"conflict": {
|
||||||
|
"php-http/discovery": "<1.15",
|
||||||
|
"symfony/http-kernel": "<6.4"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"nyholm/psr7": "^1.1",
|
||||||
|
"php-http/discovery": "^1.15",
|
||||||
|
"psr/log": "^1.1.4|^2|^3",
|
||||||
|
"symfony/browser-kit": "^6.4|^7.0",
|
||||||
|
"symfony/config": "^6.4|^7.0",
|
||||||
|
"symfony/event-dispatcher": "^6.4|^7.0",
|
||||||
|
"symfony/framework-bundle": "^6.4|^7.0",
|
||||||
|
"symfony/http-kernel": "^6.4|^7.0"
|
||||||
|
},
|
||||||
|
"type": "symfony-bridge",
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Symfony\\Bridge\\PsrHttpMessage\\": ""
|
||||||
|
},
|
||||||
|
"exclude-from-classmap": [
|
||||||
|
"/Tests/"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Fabien Potencier",
|
||||||
|
"email": "fabien@symfony.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Symfony Community",
|
||||||
|
"homepage": "https://symfony.com/contributors"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "PSR HTTP message bridge",
|
||||||
|
"homepage": "https://symfony.com",
|
||||||
|
"keywords": [
|
||||||
|
"http",
|
||||||
|
"http-message",
|
||||||
|
"psr-17",
|
||||||
|
"psr-7"
|
||||||
|
],
|
||||||
|
"support": {
|
||||||
|
"source": "https://github.com/symfony/psr-http-message-bridge/tree/v7.1.1"
|
||||||
|
},
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"url": "https://symfony.com/sponsor",
|
||||||
|
"type": "custom"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/fabpot",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||||
|
"type": "tidelift"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"time": "2024-05-31T14:57:53+00:00"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/routing",
|
"name": "symfony/routing",
|
||||||
"version": "v7.1.1",
|
"version": "v7.1.1",
|
||||||
|
1
config/caddy/autosave.json
Normal file
1
config/caddy/autosave.json
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"admin":{"listen":"localhost:2019"},"apps":{"frankenphp":{"workers":[{"file_name":"/var/www/html/public/frankenphp-worker.php"}]},"http":{"servers":{"srv0":{"automatic_https":{"disable_redirects":true},"listen":[":443"],"logs":{"logger_names":{"localhost":["log0"]}},"routes":[{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"vars","root":"/var/www/html/public"},{"encodings":{"br":{},"gzip":{},"zstd":{}},"handler":"encode","prefer":["zstd","br","gzip"]}]},{"handle":[{"handler":"static_response","headers":{"Location":["{http.request.orig_uri.path}/"]},"status_code":308}],"match":[{"file":{"try_files":["{http.request.uri.path}/frankenphp-worker.php"]},"not":[{"path":["*/"]}]}]},{"handle":[{"handler":"rewrite","uri":"{http.matchers.file.relative}"}],"match":[{"file":{"split_path":[".php"],"try_files":["{http.request.uri.path}","{http.request.uri.path}/frankenphp-worker.php","frankenphp-worker.php"]}}]},{"handle":[{"handler":"php","resolve_root_symlink":true,"split_path":[".php"]}],"match":[{"path":["*.php"]}]},{"handle":[{"handler":"file_server"}]}]}]}]}],"match":[{"host":["localhost"]}],"terminal":true}]}}}},"logging":{"logs":{"default":{"exclude":["http.log.access.log0"]},"log0":{"encoder":{"fields":{"uri":{"actions":[{"parameter":"authorization","type":"replace","value":"REDACTED"}],"filter":"query"}},"format":"filter","wrap":{"format":"json"}},"include":["http.log.access.log0"],"level":"INFO"}}}}
|
216
config/octane.php
Normal file
216
config/octane.php
Normal file
@ -0,0 +1,216 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Laravel\Octane\Contracts\OperationTerminated;
|
||||||
|
use Laravel\Octane\Events\RequestHandled;
|
||||||
|
use Laravel\Octane\Events\RequestReceived;
|
||||||
|
use Laravel\Octane\Events\RequestTerminated;
|
||||||
|
use Laravel\Octane\Events\TaskReceived;
|
||||||
|
use Laravel\Octane\Events\TaskTerminated;
|
||||||
|
use Laravel\Octane\Events\TickReceived;
|
||||||
|
use Laravel\Octane\Events\TickTerminated;
|
||||||
|
use Laravel\Octane\Events\WorkerErrorOccurred;
|
||||||
|
use Laravel\Octane\Events\WorkerStarting;
|
||||||
|
use Laravel\Octane\Events\WorkerStopping;
|
||||||
|
use Laravel\Octane\Listeners\CloseMonologHandlers;
|
||||||
|
use Laravel\Octane\Listeners\EnsureUploadedFilesAreValid;
|
||||||
|
use Laravel\Octane\Listeners\EnsureUploadedFilesCanBeMoved;
|
||||||
|
use Laravel\Octane\Listeners\FlushOnce;
|
||||||
|
use Laravel\Octane\Listeners\FlushTemporaryContainerInstances;
|
||||||
|
use Laravel\Octane\Listeners\ReportException;
|
||||||
|
use Laravel\Octane\Listeners\StopWorkerIfNecessary;
|
||||||
|
use Laravel\Octane\Octane;
|
||||||
|
|
||||||
|
return [
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Octane Server
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This value determines the default "server" that will be used by Octane
|
||||||
|
| when starting, restarting, or stopping your server via the CLI. You
|
||||||
|
| are free to change this to the supported server of your choosing.
|
||||||
|
|
|
||||||
|
| Supported: "roadrunner", "swoole", "frankenphp"
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'server' => env('OCTANE_SERVER', 'frankenphp'),
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Force HTTPS
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| When this configuration value is set to "true", Octane will inform the
|
||||||
|
| framework that all absolute links must be generated using the HTTPS
|
||||||
|
| protocol. Otherwise your links may be generated using plain HTTP.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'https' => env('OCTANE_HTTPS', true),
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Octane Listeners
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| All of the event listeners for Octane's events are defined below. These
|
||||||
|
| listeners are responsible for resetting your application's state for
|
||||||
|
| the next request. You may even add your own listeners to the list.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'listeners' => [
|
||||||
|
WorkerStarting::class => [
|
||||||
|
EnsureUploadedFilesAreValid::class,
|
||||||
|
EnsureUploadedFilesCanBeMoved::class,
|
||||||
|
],
|
||||||
|
|
||||||
|
RequestReceived::class => [
|
||||||
|
...Octane::prepareApplicationForNextOperation(),
|
||||||
|
...Octane::prepareApplicationForNextRequest(),
|
||||||
|
//
|
||||||
|
],
|
||||||
|
|
||||||
|
RequestHandled::class => [
|
||||||
|
//
|
||||||
|
],
|
||||||
|
|
||||||
|
RequestTerminated::class => [
|
||||||
|
// FlushUploadedFiles::class,
|
||||||
|
],
|
||||||
|
|
||||||
|
TaskReceived::class => [
|
||||||
|
...Octane::prepareApplicationForNextOperation(),
|
||||||
|
//
|
||||||
|
],
|
||||||
|
|
||||||
|
TaskTerminated::class => [
|
||||||
|
//
|
||||||
|
],
|
||||||
|
|
||||||
|
TickReceived::class => [
|
||||||
|
...Octane::prepareApplicationForNextOperation(),
|
||||||
|
//
|
||||||
|
],
|
||||||
|
|
||||||
|
TickTerminated::class => [
|
||||||
|
//
|
||||||
|
],
|
||||||
|
|
||||||
|
OperationTerminated::class => [
|
||||||
|
FlushOnce::class,
|
||||||
|
FlushTemporaryContainerInstances::class,
|
||||||
|
// DisconnectFromDatabases::class,
|
||||||
|
// CollectGarbage::class,
|
||||||
|
],
|
||||||
|
|
||||||
|
WorkerErrorOccurred::class => [
|
||||||
|
ReportException::class,
|
||||||
|
StopWorkerIfNecessary::class,
|
||||||
|
],
|
||||||
|
|
||||||
|
WorkerStopping::class => [
|
||||||
|
CloseMonologHandlers::class,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Warm / Flush Bindings
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| The bindings listed below will either be pre-warmed when a worker boots
|
||||||
|
| or they will be flushed before every new request. Flushing a binding
|
||||||
|
| will force the container to resolve that binding again when asked.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'warm' => [
|
||||||
|
...Octane::defaultServicesToWarm(),
|
||||||
|
],
|
||||||
|
|
||||||
|
'flush' => [
|
||||||
|
//
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Octane Swoole Tables
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| While using Swoole, you may define additional tables as required by the
|
||||||
|
| application. These tables can be used to store data that needs to be
|
||||||
|
| quickly accessed by other workers on the particular Swoole server.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'tables' => [],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Octane Swoole Cache Table
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| While using Swoole, you may leverage the Octane cache, which is powered
|
||||||
|
| by a Swoole table. You may set the maximum number of rows as well as
|
||||||
|
| the number of bytes per row using the configuration options below.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'cache' => [
|
||||||
|
'rows' => 1000,
|
||||||
|
'bytes' => 10000,
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| File Watching
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| The following list of files and directories will be watched when using
|
||||||
|
| the --watch option offered by Octane. If any of the directories and
|
||||||
|
| files are changed, Octane will automatically reload your workers.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'watch' => [
|
||||||
|
'app',
|
||||||
|
'bootstrap',
|
||||||
|
'config/**/*.php',
|
||||||
|
'database/**/*.php',
|
||||||
|
'public/**/*.php',
|
||||||
|
'resources/**/*.php',
|
||||||
|
'routes',
|
||||||
|
'composer.lock',
|
||||||
|
'.env',
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Garbage Collection Threshold
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| When executing long-lived PHP scripts such as Octane, memory can build
|
||||||
|
| up before being cleared by PHP. You can force Octane to run garbage
|
||||||
|
| collection if your application consumes this amount of megabytes.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'garbage' => 50,
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Maximum Execution Time
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| The following setting configures the maximum execution time for requests
|
||||||
|
| being handled by Octane. You may set this value to 0 to indicate that
|
||||||
|
| there isn't a specific time limit on Octane request execution time.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'max_execution_time' => 30,
|
||||||
|
|
||||||
|
];
|
24
data/caddy/certificates/local/localhost/localhost.crt
Normal file
24
data/caddy/certificates/local/localhost/localhost.crt
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIBvDCCAWOgAwIBAgIQUPkU4Z3HUQbYRjRljGOjMjAKBggqhkjOPQQDAjAzMTEw
|
||||||
|
LwYDVQQDEyhDYWRkeSBMb2NhbCBBdXRob3JpdHkgLSBFQ0MgSW50ZXJtZWRpYXRl
|
||||||
|
MB4XDTI0MDYyMDAzMTAxNVoXDTI0MDYyMDE1MTAxNVowADBZMBMGByqGSM49AgEG
|
||||||
|
CCqGSM49AwEHA0IABFjRwZWZ/E0iWVeB2RmGXD0VnRo9/zj5tQVAbMrovA0pDeaZ
|
||||||
|
pwvJGUpeOJZ7Rl0pEnn6E9VdWkEfE8TwkiDkmnKjgYswgYgwDgYDVR0PAQH/BAQD
|
||||||
|
AgeAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAdBgNVHQ4EFgQUuFKW
|
||||||
|
KHlfrt2bkwFod5O1ePbhFbQwHwYDVR0jBBgwFoAULkuRvmee4uyHjngRY7tcF4E4
|
||||||
|
cK0wFwYDVR0RAQH/BA0wC4IJbG9jYWxob3N0MAoGCCqGSM49BAMCA0cAMEQCIHWP
|
||||||
|
CnqrAygZAByGMoluAQ3fwBxSOS5Z1LRtND4wuOJFAiBf/trU/r9AFHSrTe1GRfdg
|
||||||
|
m6xB6pZW4bro5a1k2Q7c3Q==
|
||||||
|
-----END CERTIFICATE-----
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIByDCCAW2gAwIBAgIQIllJh/YSmMWMU2lIn1FQVjAKBggqhkjOPQQDAjAwMS4w
|
||||||
|
LAYDVQQDEyVDYWRkeSBMb2NhbCBBdXRob3JpdHkgLSAyMDI0IEVDQyBSb290MB4X
|
||||||
|
DTI0MDYyMDAzMTAxNVoXDTI0MDYyNzAzMTAxNVowMzExMC8GA1UEAxMoQ2FkZHkg
|
||||||
|
TG9jYWwgQXV0aG9yaXR5IC0gRUNDIEludGVybWVkaWF0ZTBZMBMGByqGSM49AgEG
|
||||||
|
CCqGSM49AwEHA0IABFxBGjt1vYtRzmwckuNWL4vGjXdx/LvFyzHj3Jx3bmjPm3fM
|
||||||
|
l8xAXGBYsdPjPmm4GLkf3Gfd+L78FQxthNLp+CujZjBkMA4GA1UdDwEB/wQEAwIB
|
||||||
|
BjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQWBBQuS5G+Z57i7IeOeBFju1wX
|
||||||
|
gThwrTAfBgNVHSMEGDAWgBSjUti0EevDfOiFojU7pHtguMv/5TAKBggqhkjOPQQD
|
||||||
|
AgNJADBGAiEArY5ftzJtAXT3dWiV4AaxUk99oNmdAPZBhNmcwHEwf6YCIQC95l4h
|
||||||
|
JLzYrTC/nsl92Z8JEueCiFsUsCjgwjNV5OQT0w==
|
||||||
|
-----END CERTIFICATE-----
|
6
data/caddy/certificates/local/localhost/localhost.json
Normal file
6
data/caddy/certificates/local/localhost/localhost.json
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"sans": [
|
||||||
|
"localhost"
|
||||||
|
],
|
||||||
|
"issuer_data": null
|
||||||
|
}
|
5
data/caddy/certificates/local/localhost/localhost.key
Normal file
5
data/caddy/certificates/local/localhost/localhost.key
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
-----BEGIN EC PRIVATE KEY-----
|
||||||
|
MHcCAQEEIO8L7+17S/xd2FvywlJiPrIDIn8h7X9cxAMv96iochhnoAoGCCqGSM49
|
||||||
|
AwEHoUQDQgAEWNHBlZn8TSJZV4HZGYZcPRWdGj3/OPm1BUBsyui8DSkN5pmnC8kZ
|
||||||
|
Sl44lntGXSkSefoT1V1aQR8TxPCSIOSacg==
|
||||||
|
-----END EC PRIVATE KEY-----
|
1
data/caddy/instance.uuid
Normal file
1
data/caddy/instance.uuid
Normal file
@ -0,0 +1 @@
|
|||||||
|
adf48f36-64b4-4db4-96a4-f87a52e59f44
|
1
data/caddy/last_clean.json
Normal file
1
data/caddy/last_clean.json
Normal file
@ -0,0 +1 @@
|
|||||||
|
{"tls":{"timestamp":"2024-06-20T02:40:43.59823126Z","instance_id":"adf48f36-64b4-4db4-96a4-f87a52e59f44"}}
|
12
data/caddy/pki/authorities/local/intermediate.crt
Normal file
12
data/caddy/pki/authorities/local/intermediate.crt
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIByDCCAW2gAwIBAgIQIllJh/YSmMWMU2lIn1FQVjAKBggqhkjOPQQDAjAwMS4w
|
||||||
|
LAYDVQQDEyVDYWRkeSBMb2NhbCBBdXRob3JpdHkgLSAyMDI0IEVDQyBSb290MB4X
|
||||||
|
DTI0MDYyMDAzMTAxNVoXDTI0MDYyNzAzMTAxNVowMzExMC8GA1UEAxMoQ2FkZHkg
|
||||||
|
TG9jYWwgQXV0aG9yaXR5IC0gRUNDIEludGVybWVkaWF0ZTBZMBMGByqGSM49AgEG
|
||||||
|
CCqGSM49AwEHA0IABFxBGjt1vYtRzmwckuNWL4vGjXdx/LvFyzHj3Jx3bmjPm3fM
|
||||||
|
l8xAXGBYsdPjPmm4GLkf3Gfd+L78FQxthNLp+CujZjBkMA4GA1UdDwEB/wQEAwIB
|
||||||
|
BjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQWBBQuS5G+Z57i7IeOeBFju1wX
|
||||||
|
gThwrTAfBgNVHSMEGDAWgBSjUti0EevDfOiFojU7pHtguMv/5TAKBggqhkjOPQQD
|
||||||
|
AgNJADBGAiEArY5ftzJtAXT3dWiV4AaxUk99oNmdAPZBhNmcwHEwf6YCIQC95l4h
|
||||||
|
JLzYrTC/nsl92Z8JEueCiFsUsCjgwjNV5OQT0w==
|
||||||
|
-----END CERTIFICATE-----
|
5
data/caddy/pki/authorities/local/intermediate.key
Normal file
5
data/caddy/pki/authorities/local/intermediate.key
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
-----BEGIN EC PRIVATE KEY-----
|
||||||
|
MHcCAQEEIH/U421H6TJK+A+wharUGKbJMFYUWI+tpllxHEMCQjtsoAoGCCqGSM49
|
||||||
|
AwEHoUQDQgAEXEEaO3W9i1HObByS41Yvi8aNd3H8u8XLMePcnHduaM+bd8yXzEBc
|
||||||
|
YFix0+M+abgYuR/cZ934vvwVDG2E0un4Kw==
|
||||||
|
-----END EC PRIVATE KEY-----
|
11
data/caddy/pki/authorities/local/root.crt
Normal file
11
data/caddy/pki/authorities/local/root.crt
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIBpDCCAUqgAwIBAgIRANsipO9KwE/leWJcuFrPB+wwCgYIKoZIzj0EAwIwMDEu
|
||||||
|
MCwGA1UEAxMlQ2FkZHkgTG9jYWwgQXV0aG9yaXR5IC0gMjAyNCBFQ0MgUm9vdDAe
|
||||||
|
Fw0yNDA2MjAwMzEwMTVaFw0zNDA0MjkwMzEwMTVaMDAxLjAsBgNVBAMTJUNhZGR5
|
||||||
|
IExvY2FsIEF1dGhvcml0eSAtIDIwMjQgRUNDIFJvb3QwWTATBgcqhkjOPQIBBggq
|
||||||
|
hkjOPQMBBwNCAAQV0JrBvTOYnR9xu/RHAXfxv4JprDJppBP/lfzeFmhUNvIdsCbq
|
||||||
|
0AmvlDW/F6YhX6bdA3X20iNE3LTlMD+vhcxmo0UwQzAOBgNVHQ8BAf8EBAMCAQYw
|
||||||
|
EgYDVR0TAQH/BAgwBgEB/wIBATAdBgNVHQ4EFgQUo1LYtBHrw3zohaI1O6R7YLjL
|
||||||
|
/+UwCgYIKoZIzj0EAwIDSAAwRQIhAKvg96k6Znn7wdM1mNrsilxEu43z7MAQ3kuh
|
||||||
|
Tjj9DsSOAiBPyLow3G3zTbwMT7cP14REfLNk0szBhD86H5ULQcffdQ==
|
||||||
|
-----END CERTIFICATE-----
|
5
data/caddy/pki/authorities/local/root.key
Normal file
5
data/caddy/pki/authorities/local/root.key
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
-----BEGIN EC PRIVATE KEY-----
|
||||||
|
MHcCAQEEIHFAkiM79Q5BpZqTse9f/pezqyE9bGXpFiyLi5+2WtvKoAoGCCqGSM49
|
||||||
|
AwEHoUQDQgAEFdCawb0zmJ0fcbv0RwF38b+CaawyaaQT/5X83hZoVDbyHbAm6tAJ
|
||||||
|
r5Q1vxemIV+m3QN19tIjRNy05TA/r4XMZg==
|
||||||
|
-----END EC PRIVATE KEY-----
|
@ -11,12 +11,17 @@ services:
|
|||||||
ports:
|
ports:
|
||||||
- '${APP_PORT:-80}:80'
|
- '${APP_PORT:-80}:80'
|
||||||
- '${VITE_PORT:-5173}:${VITE_PORT:-5173}'
|
- '${VITE_PORT:-5173}:${VITE_PORT:-5173}'
|
||||||
|
- '443:443'
|
||||||
|
- '443:443/udp'
|
||||||
environment:
|
environment:
|
||||||
WWWUSER: '${WWWUSER}'
|
WWWUSER: '${WWWUSER}'
|
||||||
LARAVEL_SAIL: 1
|
LARAVEL_SAIL: 1
|
||||||
XDEBUG_MODE: '${SAIL_XDEBUG_MODE:-off}'
|
XDEBUG_MODE: '${SAIL_XDEBUG_MODE:-off}'
|
||||||
XDEBUG_CONFIG: '${SAIL_XDEBUG_CONFIG:-client_host=host.docker.internal}'
|
XDEBUG_CONFIG: '${SAIL_XDEBUG_CONFIG:-client_host=host.docker.internal}'
|
||||||
IGNITION_LOCAL_SITES_PATH: '${PWD}'
|
IGNITION_LOCAL_SITES_PATH: '${PWD}'
|
||||||
|
SUPERVISOR_PHP_COMMAND: "/usr/bin/php -d variables_order=EGPCS /var/www/html/artisan octane:start --host=localhost --port=443 --admin-port=2019 --https"
|
||||||
|
XDG_CONFIG_HOME: /var/www/html/config
|
||||||
|
XDG_DATA_HOME: /var/www/html/data
|
||||||
volumes:
|
volumes:
|
||||||
- '.:/var/www/html'
|
- '.:/var/www/html'
|
||||||
networks:
|
networks:
|
||||||
@ -26,6 +31,7 @@ services:
|
|||||||
- redis
|
- redis
|
||||||
- meilisearch
|
- meilisearch
|
||||||
- mailpit
|
- mailpit
|
||||||
|
- memcached
|
||||||
mysql:
|
mysql:
|
||||||
image: 'mysql/mysql-server:8.0'
|
image: 'mysql/mysql-server:8.0'
|
||||||
ports:
|
ports:
|
||||||
@ -91,6 +97,12 @@ services:
|
|||||||
- '${FORWARD_MAILPIT_DASHBOARD_PORT:-8025}:8025'
|
- '${FORWARD_MAILPIT_DASHBOARD_PORT:-8025}:8025'
|
||||||
networks:
|
networks:
|
||||||
- sail
|
- sail
|
||||||
|
memcached:
|
||||||
|
image: 'memcached:alpine'
|
||||||
|
ports:
|
||||||
|
- '${FORWARD_MEMCACHED_PORT:-11211}:11211'
|
||||||
|
networks:
|
||||||
|
- sail
|
||||||
networks:
|
networks:
|
||||||
sail:
|
sail:
|
||||||
driver: bridge
|
driver: bridge
|
||||||
|
Loading…
x
Reference in New Issue
Block a user