136 lines
4.0 KiB
PHP
136 lines
4.0 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
return [
|
|
'storage_root' => env('SKINBASE_STORAGE_ROOT', storage_path('app/artworks')),
|
|
|
|
'local_originals_root' => env('ARTWORKS_LOCAL_ORIGINALS_ROOT', storage_path('app/originals/artworks')),
|
|
|
|
'object_storage' => [
|
|
'disk' => env('ARTWORKS_OBJECT_DISK', 's3'),
|
|
'prefix' => env('ARTWORKS_OBJECT_PREFIX', 'artworks'),
|
|
],
|
|
|
|
'paths' => [
|
|
'tmp' => 'tmp',
|
|
'quarantine' => 'quarantine',
|
|
'original' => 'original',
|
|
'xs' => 'xs',
|
|
'sm' => 'sm',
|
|
'md' => 'md',
|
|
'lg' => 'lg',
|
|
'xl' => 'xl',
|
|
'sq' => 'sq',
|
|
],
|
|
|
|
'max_size_mb' => 50,
|
|
'max_archive_size_mb' => 200,
|
|
'max_pixels' => 12000,
|
|
|
|
'allowed_mimes' => [
|
|
'image/jpeg',
|
|
'image/png',
|
|
'image/webp',
|
|
],
|
|
|
|
'allow_gif' => env('UPLOAD_ALLOW_GIF', false),
|
|
|
|
'allowed_archive_mimes' => [
|
|
'application/zip',
|
|
'application/x-zip-compressed',
|
|
'application/x-rar-compressed',
|
|
'application/vnd.rar',
|
|
'application/x-7z-compressed',
|
|
'application/x-tar',
|
|
'application/gzip',
|
|
'application/x-gzip',
|
|
'application/octet-stream',
|
|
],
|
|
|
|
'derivatives' => [
|
|
'xs' => ['max' => 320],
|
|
'sm' => ['max' => 680],
|
|
'md' => ['max' => 1024],
|
|
'lg' => ['max' => 1920],
|
|
'xl' => ['max' => 2560],
|
|
'sq' => ['size' => 512],
|
|
],
|
|
|
|
'square_thumbnails' => [
|
|
'width' => env('UPLOAD_SQ_WIDTH', 512),
|
|
'height' => env('UPLOAD_SQ_HEIGHT', 512),
|
|
'quality' => env('UPLOAD_SQ_QUALITY', 82),
|
|
'smart_crop' => env('UPLOAD_SQ_SMART_CROP', true),
|
|
'padding_ratio' => env('UPLOAD_SQ_PADDING_RATIO', 0.18),
|
|
'allow_upscale' => env('UPLOAD_SQ_ALLOW_UPSCALE', false),
|
|
'fallback_strategy' => env('UPLOAD_SQ_FALLBACK_STRATEGY', 'center'),
|
|
'log' => env('UPLOAD_SQ_LOG', false),
|
|
'preview_size' => env('UPLOAD_PREVIEW_SQ_SIZE', 320),
|
|
'subject_detector' => [
|
|
'preferred_labels' => [
|
|
'person',
|
|
'portrait',
|
|
'face',
|
|
'human',
|
|
'animal',
|
|
'lion',
|
|
'dog',
|
|
'cat',
|
|
'bird',
|
|
],
|
|
],
|
|
'saliency' => [
|
|
'sample_max_dimension' => env('UPLOAD_SQ_SALIENCY_SAMPLE_MAX', 96),
|
|
'min_total_energy' => env('UPLOAD_SQ_SALIENCY_MIN_TOTAL', 2400),
|
|
'window_ratios' => [0.55, 0.7, 0.82, 1.0],
|
|
],
|
|
],
|
|
|
|
'quality' => 85,
|
|
|
|
'queue_derivatives' => env('UPLOAD_QUEUE_DERIVATIVES', false),
|
|
|
|
'rate_limits' => [
|
|
'decay_minutes' => env('UPLOAD_RATE_DECAY_MINUTES', 1),
|
|
'init' => [
|
|
'per_user' => env('UPLOAD_RATE_INIT_USER', 10),
|
|
'per_ip' => env('UPLOAD_RATE_INIT_IP', 30),
|
|
],
|
|
'finish' => [
|
|
'per_user' => env('UPLOAD_RATE_FINISH_USER', 6),
|
|
'per_ip' => env('UPLOAD_RATE_FINISH_IP', 12),
|
|
],
|
|
'status' => [
|
|
'per_user' => env('UPLOAD_RATE_STATUS_USER', 60),
|
|
'per_ip' => env('UPLOAD_RATE_STATUS_IP', 120),
|
|
],
|
|
],
|
|
|
|
'quotas' => [
|
|
'max_active_sessions' => env('UPLOAD_MAX_ACTIVE_SESSIONS', 100),
|
|
'max_daily_sessions' => env('UPLOAD_MAX_DAILY_SESSIONS', 250),
|
|
],
|
|
|
|
'draft_quota' => [
|
|
'max_drafts_per_user' => env('SKINBASE_MAX_DRAFTS', 10),
|
|
'max_draft_storage_mb_per_user' => env('SKINBASE_MAX_DRAFT_STORAGE_MB', 1024),
|
|
'duplicate_hash_policy' => env('SKINBASE_DUPLICATE_HASH_POLICY', 'block'), // block|warn
|
|
],
|
|
|
|
'tokens' => [
|
|
'ttl_minutes' => env('UPLOAD_TOKEN_TTL_MINUTES', 60),
|
|
],
|
|
|
|
'chunk' => [
|
|
'max_bytes' => env('UPLOAD_CHUNK_MAX_BYTES', 5242880),
|
|
'lock_seconds' => env('UPLOAD_CHUNK_LOCK_SECONDS', 10),
|
|
'lock_wait_seconds' => env('UPLOAD_CHUNK_LOCK_WAIT_SECONDS', 5),
|
|
],
|
|
|
|
'scan' => [
|
|
'enabled' => env('UPLOAD_SCAN_ENABLED', false),
|
|
'command' => env('UPLOAD_SCAN_COMMAND', []),
|
|
],
|
|
];
|