2016-08-21 15:19:03 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
return [
|
2024-02-09 15:45:38 +00:00
|
|
|
'storage_driver' => env('STORAGE_DRIVER', 'local'),
|
2024-02-04 20:31:01 +00:00
|
|
|
|
2019-01-01 11:53:20 +00:00
|
|
|
'media_path' => env('MEDIA_PATH'),
|
|
|
|
|
2020-06-13 12:19:24 +00:00
|
|
|
// The *relative* path to the directory to store album covers and thumbnails, *with* a trailing slash.
|
2020-09-12 15:01:48 +00:00
|
|
|
'album_cover_dir' => 'img/covers/',
|
2020-06-13 12:19:24 +00:00
|
|
|
|
|
|
|
// The *relative* path to the directory to store artist images, *with* a trailing slash.
|
2020-09-12 15:01:48 +00:00
|
|
|
'artist_image_dir' => 'img/artists/',
|
2020-06-13 12:19:24 +00:00
|
|
|
|
2024-02-24 15:37:01 +00:00
|
|
|
// The *relative* path to the directory to store playlist covers, *with* a trailing slash.
|
|
|
|
'playlist_cover_dir' => 'img/playlists/',
|
|
|
|
|
2024-03-19 22:48:12 +00:00
|
|
|
// The *relative* path to the directory to store user avatars, *with* a trailing slash.
|
|
|
|
'user_avatar_dir' => 'img/avatars/',
|
|
|
|
|
2016-08-21 15:19:03 +00:00
|
|
|
/*
|
|
|
|
|--------------------------------------------------------------------------
|
|
|
|
| Sync Options
|
|
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
| A timeout is set when using the browser to scan the folder path
|
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
'sync' => [
|
|
|
|
'timeout' => env('APP_MAX_SCAN_TIME', 600),
|
|
|
|
],
|
|
|
|
|
|
|
|
/*
|
|
|
|
|--------------------------------------------------------------------------
|
|
|
|
| Streaming Configurations
|
|
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
| Many streaming options can be set, including, 'bitrate' with 128 set
|
|
|
|
| as the default, 'method' with php as the default and 'transcoding'
|
|
|
|
| to configure the path for FFMPEG to transcode FLAC audio files
|
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
'streaming' => [
|
|
|
|
'bitrate' => env('OUTPUT_BIT_RATE', 128),
|
|
|
|
'method' => env('STREAMING_METHOD'),
|
2017-03-26 09:02:03 +00:00
|
|
|
'ffmpeg_path' => env('FFMPEG_PATH'),
|
2022-10-08 10:49:50 +00:00
|
|
|
'transcode_flac' => env('TRANSCODE_FLAC', true),
|
2016-08-21 15:19:03 +00:00
|
|
|
],
|
|
|
|
|
|
|
|
/*
|
|
|
|
|--------------------------------------------------------------------------
|
|
|
|
| Youtube Integration
|
|
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
| Youtube integration requires an youtube API key, see wiki for more
|
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
'youtube' => [
|
|
|
|
'key' => env('YOUTUBE_API_KEY'),
|
2018-08-19 11:08:16 +00:00
|
|
|
'endpoint' => 'https://www.googleapis.com/youtube/v3',
|
2016-08-21 15:19:03 +00:00
|
|
|
],
|
|
|
|
|
|
|
|
/*
|
|
|
|
|--------------------------------------------------------------------------
|
|
|
|
| Last.FM Integration
|
|
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
| See wiki on how to integrate with Last.FM
|
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
'lastfm' => [
|
|
|
|
'key' => env('LASTFM_API_KEY'),
|
|
|
|
'secret' => env('LASTFM_API_SECRET'),
|
2018-08-19 11:08:16 +00:00
|
|
|
'endpoint' => 'https://ws.audioscrobbler.com/2.0',
|
2016-08-21 15:19:03 +00:00
|
|
|
],
|
|
|
|
|
2022-07-16 22:42:29 +00:00
|
|
|
/*
|
|
|
|
|--------------------------------------------------------------------------
|
|
|
|
| Last.FM Integration
|
|
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
| See wiki on how to integrate with Last.FM
|
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
'spotify' => [
|
|
|
|
'client_id' => env('SPOTIFY_CLIENT_ID'),
|
|
|
|
'client_secret' => env('SPOTIFY_CLIENT_SECRET'),
|
|
|
|
],
|
|
|
|
|
|
|
|
|
2016-08-21 15:19:03 +00:00
|
|
|
/*
|
|
|
|
|--------------------------------------------------------------------------
|
|
|
|
| CDN
|
|
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
'cdn' => [
|
|
|
|
'url' => env('CDN_URL'),
|
|
|
|
],
|
|
|
|
|
|
|
|
/*
|
|
|
|
|--------------------------------------------------------------------------
|
|
|
|
| Downloading Music
|
|
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
| Koel provides the ability to prohibit or allow [default] downloading music
|
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
'download' => [
|
2024-01-04 11:35:36 +00:00
|
|
|
'allow' => env('allows_download', true),
|
2016-08-21 15:19:03 +00:00
|
|
|
],
|
|
|
|
|
2016-09-17 15:56:58 +00:00
|
|
|
/*
|
|
|
|
|--------------------------------------------------------------------------
|
|
|
|
| Ignore Dot Files
|
|
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
| Ignore dot files and folders when scanning for media files.
|
|
|
|
|
|
|
|
|
*/
|
2016-09-19 02:08:50 +00:00
|
|
|
'ignore_dot_files' => env('IGNORE_DOT_FILES', true),
|
2016-09-17 15:56:58 +00:00
|
|
|
|
2016-12-11 13:08:30 +00:00
|
|
|
'itunes' => [
|
|
|
|
'enabled' => env('USE_ITUNES', true),
|
|
|
|
'affiliate_id' => '1000lsGu',
|
2018-08-19 14:40:25 +00:00
|
|
|
'endpoint' => 'https://itunes.apple.com/search',
|
2016-12-11 13:08:50 +00:00
|
|
|
],
|
2016-12-11 13:08:30 +00:00
|
|
|
|
2017-01-15 04:27:05 +00:00
|
|
|
'cache_media' => env('CACHE_MEDIA', true),
|
2017-08-21 20:45:01 +00:00
|
|
|
'memory_limit' => env('MEMORY_LIMIT'),
|
2019-05-18 20:43:30 +00:00
|
|
|
'force_https' => env('FORCE_HTTPS', false),
|
2022-09-15 09:07:25 +00:00
|
|
|
'backup_on_delete' => env('BACKUP_ON_DELETE', true),
|
2019-05-18 20:43:30 +00:00
|
|
|
|
2023-12-25 17:15:49 +00:00
|
|
|
'sync_log_level' => env('SYNC_LOG_LEVEL', 'error'),
|
|
|
|
|
2024-03-31 17:19:03 +00:00
|
|
|
'proxy_auth' => [
|
|
|
|
'enabled' => env('PROXY_AUTH_ENABLED', false),
|
|
|
|
'user_header' => env('PROXY_AUTH_USER_HEADER', 'remote-user'),
|
|
|
|
'preferred_name_header' => env('PROXY_AUTH_PREFERRED_NAME_HEADER', 'remote-preferred-name'),
|
|
|
|
'allow_list' => array_map(static fn ($entry) => trim($entry), explode(',', env('PROXY_AUTH_ALLOW_LIST', ''))),
|
|
|
|
],
|
|
|
|
|
2017-03-01 11:06:07 +00:00
|
|
|
'misc' => [
|
2020-04-22 21:46:07 +00:00
|
|
|
'home_url' => 'https://koel.dev',
|
|
|
|
'docs_url' => 'https://docs.koel.dev',
|
2019-09-10 18:30:38 +00:00
|
|
|
'sponsor_github_url' => 'https://github.com/users/phanan/sponsorship',
|
|
|
|
'sponsor_open_collective_url' => 'https://opencollective.com/koel',
|
2019-11-06 11:33:40 +00:00
|
|
|
'demo' => env('KOEL_DEMO', false),
|
2017-03-01 11:06:07 +00:00
|
|
|
],
|
2016-08-21 15:19:03 +00:00
|
|
|
];
|