lthn.io/config/filesystems.php
Claude 77cc45dd83
feat: lthn.io CorePHP app — TLD website + blockchain services
Modules:
- Chain: daemon RPC client (DaemonRpc singleton, cached queries)
- Explorer: block browser, tx viewer, alias directory, search, stats API
- Names: .lthn TLD registrar portal (availability check, lookup, directory)
- Trade: scaffold (DEX frontend + API)
- Pool: scaffold (mining pool dashboard)

Replaces 5 Node.js containers (5.9GB) with one FrankenPHP app.
Built on CorePHP framework pattern from host.uk.com.

Co-Authored-By: Charon <charon@lethean.io>
2026-04-03 16:13:55 +01:00

140 lines
4.8 KiB
PHP

<?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 for file storage.
|
*/
'default' => env('FILESYSTEM_DISK', 'local'),
/*
|--------------------------------------------------------------------------
| Filesystem Disks
|--------------------------------------------------------------------------
|
| Below you may configure as many filesystem disks as necessary, and you
| may even configure multiple disks for the same driver. Examples for
| most supported storage drivers are configured here for reference.
|
| Supported drivers: "local", "ftp", "sftp", "s3"
|
*/
'disks' => [
'local' => [
'driver' => 'local',
'root' => storage_path('app/private'),
'serve' => true,
'throw' => false,
'report' => false,
],
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL').'/storage',
'visibility' => 'public',
'throw' => false,
'report' => 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,
'report' => false,
],
'hetzner' => [
'driver' => 's3',
'key' => env('HETZNER_ACCESS_KEY'),
'secret' => env('HETZNER_SECRET_KEY'),
'region' => env('HETZNER_REGION', 'fsn1'),
'bucket' => env('HETZNER_BUCKET'),
'url' => env('HETZNER_URL'),
'endpoint' => env('HETZNER_ENDPOINT'),
'use_path_style_endpoint' => env('HETZNER_USE_PATH_STYLE_ENDPOINT', true),
'visibility' => 'public',
'throw' => false,
'report' => false,
],
/*
|--------------------------------------------------------------------------
| Hetzner Private Bucket (hostuk)
|--------------------------------------------------------------------------
|
| Raw uploads, DRM content, gated access files.
| Mirrored to BunnyCDN private storage zone.
|
*/
'hetzner-private' => [
'driver' => 's3',
'key' => env('HETZNER_PRIVATE_ACCESS_KEY'),
'secret' => env('HETZNER_PRIVATE_SECRET_KEY'),
'region' => env('HETZNER_REGION', 'fsn1'),
'bucket' => env('HETZNER_PRIVATE_BUCKET', 'hostuk'),
'url' => env('CDN_PRIVATE_URL'),
'endpoint' => env('HETZNER_ENDPOINT'),
'use_path_style_endpoint' => true,
'visibility' => 'private',
'throw' => false,
'report' => false,
],
/*
|--------------------------------------------------------------------------
| Hetzner Public Bucket (host-uk)
|--------------------------------------------------------------------------
|
| Compiled/processed assets for public delivery.
| Mirrored to BunnyCDN public storage zone + pull zone.
|
*/
'hetzner-public' => [
'driver' => 's3',
'key' => env('HETZNER_PUBLIC_ACCESS_KEY'),
'secret' => env('HETZNER_PUBLIC_SECRET_KEY'),
'region' => env('HETZNER_REGION', 'fsn1'),
'bucket' => env('HETZNER_PUBLIC_BUCKET', 'host-uk'),
'url' => env('CDN_PUBLIC_URL'),
'endpoint' => env('HETZNER_ENDPOINT'),
'use_path_style_endpoint' => true,
'visibility' => 'public',
'throw' => false,
'report' => false,
],
],
/*
|--------------------------------------------------------------------------
| 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'),
],
];