Prepare Laravel API for Railway

This commit is contained in:
2026-05-18 22:21:11 -05:00
parent 8e9211bafd
commit cef15730f3
5 changed files with 33 additions and 3 deletions

View File

@@ -9,6 +9,7 @@ LOG_DEPRECATIONS_CHANNEL=null
LOG_LEVEL=debug LOG_LEVEL=debug
DB_CONNECTION=sqlite DB_CONNECTION=sqlite
DATABASE_URL=
BROADCAST_DRIVER=log BROADCAST_DRIVER=log
CACHE_DRIVER=file CACHE_DRIVER=file
@@ -57,3 +58,14 @@ JWT_ISSUER=
JWT_AUDIENCE= JWT_AUDIENCE=
JWT_PUBLIC_KEY_PEM= JWT_PUBLIC_KEY_PEM=
JWT_TOKEN= JWT_TOKEN=
# Railway production example:
# APP_ENV=production
# APP_DEBUG=false
# APP_URL=https://your-service.up.railway.app
# LOG_CHANNEL=stderr
# DB_CONNECTION=pgsql
# DATABASE_URL=${{Postgres.DATABASE_URL}}
# CACHE_DRIVER=file
# SESSION_DRIVER=file
# QUEUE_CONNECTION=sync

View File

@@ -6,6 +6,7 @@
"license": "MIT", "license": "MIT",
"require": { "require": {
"php": "^8.1", "php": "^8.1",
"ext-mbstring": "*",
"guzzlehttp/guzzle": "^7.2", "guzzlehttp/guzzle": "^7.2",
"laravel/framework": "^10.10", "laravel/framework": "^10.10",
"laravel/sanctum": "^3.3", "laravel/sanctum": "^3.3",

5
composer.lock generated
View File

@@ -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": "dfdbaa9a791903e1a015e16cbcf49f3b", "content-hash": "f080935717fcb1c63a43fa5940618db0",
"packages": [ "packages": [
{ {
"name": "brick/math", "name": "brick/math",
@@ -8540,7 +8540,8 @@
"prefer-stable": true, "prefer-stable": true,
"prefer-lowest": false, "prefer-lowest": false,
"platform": { "platform": {
"php": "^8.1" "php": "^8.1",
"ext-mbstring": "*"
}, },
"platform-dev": {}, "platform-dev": {},
"plugin-api-version": "2.9.0" "plugin-api-version": "2.9.0"

13
railway.json Normal file
View File

@@ -0,0 +1,13 @@
{
"$schema": "https://railway.com/railway.schema.json",
"build": {
"builder": "RAILPACK"
},
"deploy": {
"preDeployCommand": "php artisan migrate --force",
"healthcheckPath": "/api/health",
"healthcheckTimeout": 100,
"restartPolicyType": "ON_FAILURE",
"restartPolicyMaxRetries": 10
}
}

View File

@@ -21,11 +21,14 @@ Route::prefix('v1')->middleware(['jwt.auth'])->group(function () {
// Jogos // Jogos
Route::get('/games/most-played', [GameController::class, 'mostPlayed']); Route::get('/games/most-played', [GameController::class, 'mostPlayed']);
});
Route::get('/health', function () {
return response()->json(['status' => 'ok']);
}); });
Route::middleware(['jwt.auth'])->get('/test-auth', function (Request $request) { Route::middleware(['jwt.auth'])->get('/test-auth', function (Request $request) {
return response()->json([ return response()->json([
'userId' => $request->attributes->get('auth')['id'] 'userId' => $request->attributes->get('auth')['id']
]); ]);
}); });