1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240
| APP_NAME=Koel APP_ENV=production APP_DEBUG=false APP_URL=http://koel.domain.com
# A comma-separated list of (Koel server) hostnames accepted to access Koel. # Leave this empty to allow access to Koel with any hostname. # Example: localhost,192.168.0.1,yourdomain.com TRUSTED_HOSTS=
# A random 32-char string. You can leave this empty if use php artisan koel:init. APP_KEY=
# Database connection name, which corresponds to the database driver. # Possible values are: # mysql (MySQL/MariaDB - default) # pgsql (PostgreSQL) # sqlsrv (Microsoft SQL Server) # sqlite-persistent (Local sqlite file) # IMPORTANT: This value must present for `artisan koel:init` command to work. DB_CONNECTION=mysql
DB_HOST=192.168.1.3 DB_PORT= DB_DATABASE=koel DB_USERNAME=koel DB_PASSWORD=password
# Some providers (e.g. Heroku) provide a "database URL" instead separated config values, which # you can use here instead. DATABASE_URL=
# The absolute path to the root CA bundle if you're connecting to the MySQL database via SSL. MYSQL_ATTR_SSL_CA=
# The storage driver. Valid values are: # local: Store files on the server's local filesystem. # sftp: Store files on an SFTP server. # s3: Store files on Amazon S3 or a S3-compatible service (e.g. Cloudflare R2 or DigitalOcean Spaces). Koel Plus only. # dropbox: Store files on Dropbox. Koel Plus only. STORAGE_DRIVER=local
# The ABSOLUTE path to your media. This value can always be changed later via the web interface. # Required if you're using the local file system to store your media (STORAGE_DRIVER=local). MEDIA_PATH=
# S3 or S3-compatible service settings. Required if you're using S3 to store your media (STORAGE_DRIVER=s3). # Remember to set CORS policy to allow access from your Koel's domain (or "*"). AWS_ACCESS_KEY_ID= AWS_SECRET_ACCESS_KEY= # For Cloudflare R2, set this to "auto". For S3 and other services, set this to the region of your bucket. AWS_REGION= AWS_ENDPOINT= AWS_BUCKET=
# Dropbox settings. Required if you're using Dropbox to store your media (STORAGE_DRIVER=dropbox) # Follow these steps to have these values filled: # 1. Create a Dropbox app at https://www.dropbox.com/developers/apps # 2. Run `php artisan koel:setup-dropbox` from the CLI and follow the instructions. DROPBOX_APP_KEY= DROPBOX_APP_SECRET= DROPBOX_REFRESH_TOKEN=
# SFTP settings. Required if you're using SFTP to store your media (STORAGE_DRIVER=sftp). SFTP_HOST= SFTP_PORT=
# The absolute path of the directory to store the media files on the SFTP server. # Make sure the directory exists and is writable by the SFTP user. SFTP_ROOT=
# You can use either a username/password pair… SFTP_USERNAME= SFTP_PASSWORD=
# …or private key authentication: SFTP_PRIVATE_KEY= SFTP_PASSPHRASE=
# By default, Koel ignores dot files and folders. This greatly improves performance if your media # root have folders like .git or .cache. If by any chance your media files are under a dot folder, # set the following setting to false. IGNORE_DOT_FILES=true
# The maximum scan time, in seconds. Increase this if you have a huge library. # Note: This setting doesn't have effect when scanning via koel:sync. APP_MAX_SCAN_TIME=600
# The memory limit, in MB, used by the scanning process. # For example, if you want to set a memory limit of 2048MB, enter "2048" (without # quotes) here. MEMORY_LIMIT=
# The streaming method. # Can be either 'php' (default), 'x-sendfile', or 'x-accel-redirect' # See https://docs.koel.dev/usage/streaming for more information. # Note: This setting doesn't have effect if the media needs transcoding (e.g. FLAC).
# It's HIGHLY recommended to use 'x-sendfile' or 'x-accel-redirect' if # you plan to use the Koel mobile apps.
STREAMING_METHOD=php
# Full text search driver. # Koel supports all drivers supported by Laravel (see https://laravel.com/docs/9.x/scout). # Available drivers: 'tntsearch' (default), 'database', 'algolia' or 'meilisearch'. # For Algolia or MeiliSearch, you need to provide the corresponding credentials. SCOUT_DRIVER=tntsearch ALGOLIA_APP_ID= ALGOLIA_SECRET= MEILISEARCH_HOST= MEILISEARCH_KEY=
# Last.fm API can be used to fetch artist and album information, as well as to # allow users to connect to their Last.fm account and scrobble. # To integrate Koel with Last.fm, create an API account at # https://www.last.fm/api/account/create and set the credentials here. # Consult Koel's doc for more information. LASTFM_API_KEY= LASTFM_API_SECRET=
# Spotify API can be used to fetch artist and album images. # To integrate Koel with Spotify, create a Spotify application at # https://developer.spotify.com/dashboard/applications and set the credentials here. # Consult Koel's docs for more information. SPOTIFY_CLIENT_ID= SPOTIFY_CLIENT_SECRET=
# To integrate Koel with YouTube, set the API key here. # See https://docs.koel.dev/service-integrations#youtube for more information. YOUTUBE_API_KEY=
# You can also configure Koel to use a CDN to serve the media files. # This url must be mapped to the home URL of your Koel's installation. # No trailing slash. CDN_URL=
# To transcode FLAC to MP3 and stream it on the fly, make sure the following settings are sane. # If you don't want to transcode FLAC (i.e. to stream it as-is), set this to false. TRANSCODE_FLAC=false
# The full path of ffmpeg binary. FFMPEG_PATH=/usr/local/bin/ffmpeg
# The bit rate of the output mp3 stream. Higher value results in better quality, # but slower streaming and more bandwidth. OUTPUT_BIT_RATE=128
# Whether to allow song downloading. # Note that if you're downloading more than one song, Koel will zip them up # using PHP's ZipArchive. So if the module isn't available in the current # environment, such a download will (silently) fail. ALLOW_DOWNLOAD=true
# Whether to create a backup of a song when deleting it from the filesystem. BACKUP_ON_DELETE=true
# If using SSO, set the providers details here. Koel will automatically enable SSO if these values are set. # Create an OAuth client and get these values from https://console.developers.google.com/apis/credentials SSO_GOOGLE_CLIENT_ID= SSO_GOOGLE_CLIENT_SECRET= # The domain that users must belong to in order to be able to log in. SSO_GOOGLE_HOSTED_DOMAIN=your.koel.domain
# Koel can be configured to authenticate users via a reverse proxy. # To enable this feature, set PROXY_AUTH_ENABLED to true and provide the necessary configuration below. PROXY_AUTH_ENABLED=false # The header name that contains the unique identifier for the user PROXY_AUTH_USER_HEADER=remote-user # The header name that contains the user's preferred, humanly-readable name PROXY_AUTH_PREFERRED_NAME_HEADER=remote-preferred-name # A comma-separated list of allowed proxy IPs or CIDRs, for example, 10.10.1.0/24 or 2001:0db8:/32 # If empty, NO requests will be allowed (which means proxy authentication is disabled). PROXY_AUTH_ALLOW_LIST=
# Sync logs can be found under storage/logs/. Valid options are: # all: Log everything (errored-, skipped-, and successfully processed file). # error: Log errors only. This is the default. SYNC_LOG_LEVEL=error
# Koel attempts to detect if your website uses HTTPS and generates secure URLs accordingly. # If this attempt fails for any reason, you can force it by setting this value to true. FORCE_HTTPS=
# Pusher configuration, for interesting features such as remote controlling. PUSHER_APP_ID= PUSHER_APP_KEY= PUSHER_APP_SECRET= PUSHER_APP_CLUSTER=
# The following settings are for Koel to send emails, for example to send user invitations and reset passwords. MAIL_FROM_ADDRESS=email@domain.com MAIL_FROM_NAME="${APP_NAME}" MAIL_MAILER=smtp MAIL_HOST=mailhog MAIL_PORT=1025 MAIL_USERNAME=null MAIL_PASSWORD=null MAIL_ENCRYPTION=null
SQS_PUBLIC_KEY= SQS_SECRET_KEY= SQS_QUEUE_PREFIX= SQS_QUEUE_NAME= SQS_QUEUE_REGION=
# The variables below are Laravel-specific. # You can change them if you know what you're doing. Otherwise, just leave them as-is. BROADCAST_DRIVER=log CACHE_DRIVER=file FILESYSTEM_DISK=local QUEUE_CONNECTION=sync SESSION_DRIVER=file SESSION_LIFETIME=120
|