mirror of
https://github.com/koel/koel
synced 2024-12-18 00:23:15 +00:00
240 lines
8 KiB
Text
240 lines
8 KiB
Text
APP_NAME=Koel
|
|
APP_ENV=production
|
|
APP_DEBUG=true
|
|
APP_URL=http://localhost:8000
|
|
|
|
# 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=127.0.0.1
|
|
DB_PORT=3306
|
|
DB_DATABASE=koel
|
|
DB_USERNAME=koel
|
|
DB_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=yourdomain.com
|
|
|
|
|
|
# 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="hello@example.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
|