2018-05-10 18:54:23 +02:00
|
|
|
# If you have any doubts about what a setting does,
|
|
|
|
# check https://docs.funkwhale.audio/configuration.html#configuration-reference
|
|
|
|
|
2018-04-17 00:02:25 +02:00
|
|
|
# If you're tweaking this file from the template, ensure you edit at least the
|
|
|
|
# following variables:
|
|
|
|
# - DJANGO_SECRET_KEY
|
2018-09-26 21:53:07 +02:00
|
|
|
# - FUNKWHALE_HOSTNAME
|
2022-01-07 00:09:47 +01:00
|
|
|
# - EMAIL_CONFIG and DEFAULT_FROM_EMAIL if you plan to send e-mails)
|
2018-05-10 18:54:23 +02:00
|
|
|
# On non-docker setup **only**, you'll also have to tweak/uncomment those variables:
|
2018-04-17 00:02:25 +02:00
|
|
|
# - DATABASE_URL
|
|
|
|
# - CACHE_URL
|
|
|
|
#
|
|
|
|
# You **don't** need to update those variables on pure docker setups.
|
2018-09-26 21:53:07 +02:00
|
|
|
#
|
|
|
|
# Additional options you may want to check:
|
|
|
|
# - MUSIC_DIRECTORY_PATH and MUSIC_DIRECTORY_SERVE_PATH if you plan to use
|
|
|
|
# in-place import
|
|
|
|
#
|
2018-04-17 00:02:25 +02:00
|
|
|
# Docker only
|
|
|
|
# -----------
|
|
|
|
|
|
|
|
# The tag of the image we should use
|
|
|
|
# (it will be interpolated in docker-compose file)
|
|
|
|
# You can comment or ignore this if you're not using docker
|
|
|
|
# FUNKWHALE_VERSION=latest
|
|
|
|
|
2018-09-26 21:53:07 +02:00
|
|
|
# End of Docker-only configuration
|
2018-04-17 00:02:25 +02:00
|
|
|
|
|
|
|
# General configuration
|
|
|
|
# ---------------------
|
|
|
|
|
|
|
|
# Set this variables to bind the API server to another interface/port
|
|
|
|
# example: FUNKWHALE_API_IP=0.0.0.0
|
|
|
|
# example: FUNKWHALE_API_PORT=5678
|
|
|
|
FUNKWHALE_API_IP=127.0.0.1
|
|
|
|
FUNKWHALE_API_PORT=__PORT__
|
2019-07-28 17:25:29 +02:00
|
|
|
# The number of web workers to start in parallel. Higher means you can handle
|
|
|
|
# more concurrent requests, but also leads to higher CPU/Memory usage
|
2021-04-24 13:05:22 +02:00
|
|
|
FUNKWHALE_WEB_WORKERS=6
|
2018-04-17 00:02:25 +02:00
|
|
|
# Replace this by the definitive, public domain you will use for
|
2021-04-24 13:05:22 +02:00
|
|
|
# your instance. It cannot be changed after initial deployment
|
|
|
|
# without breaking your instance.
|
2019-02-16 13:16:00 +01:00
|
|
|
FUNKWHALE_HOSTNAME=__DOMAIN__
|
|
|
|
FUNKWHALE_PROTOCOL=https
|
2018-04-17 00:02:25 +02:00
|
|
|
|
2022-01-07 00:09:47 +01:00
|
|
|
# Log level (debug, info, warning, error, critical)
|
|
|
|
LOGLEVEL=error
|
|
|
|
|
|
|
|
# Configure e-mail sending using this variale
|
|
|
|
# By default, funkwhale will output e-mails sent to stdout
|
2018-05-10 18:54:23 +02:00
|
|
|
# here are a few examples for this setting
|
2022-01-07 00:09:47 +01:00
|
|
|
# EMAIL_CONFIG=consolemail:// # output e-mails to console (the default)
|
|
|
|
# EMAIL_CONFIG=dummymail:// # disable e-mail sending completely
|
2018-05-10 18:54:23 +02:00
|
|
|
# On a production instance, you'll usually want to use an external SMTP server:
|
2022-01-07 00:09:47 +01:00
|
|
|
# If `user` or `password` contain special characters (eg.
|
|
|
|
# `noreply@youremail.host` as `user`), be sure to urlencode them, using
|
|
|
|
# for example the command:
|
|
|
|
# `python3 -c 'import urllib.parse; print(urllib.parse.quote_plus
|
|
|
|
# ("noreply@youremail.host"))'`
|
|
|
|
# (returns `noreply%40youremail.host`)
|
2022-10-04 00:13:33 +02:00
|
|
|
# EMAIL_CONFIG=smtp://user:password@youremail.host:25
|
|
|
|
# EMAIL_CONFIG=smtp+ssl://user:password@youremail.host:465
|
|
|
|
# EMAIL_CONFIG=smtp+tls://user:password@youremail.host:587
|
2023-04-17 21:25:02 +02:00
|
|
|
EMAIL_CONFIG=smtp://localhost:25
|
2018-05-10 18:54:23 +02:00
|
|
|
|
2022-01-07 00:09:47 +01:00
|
|
|
# Make e-mail verification mandatory before using the service
|
2021-04-24 13:05:22 +02:00
|
|
|
# Doesn't apply to admins.
|
|
|
|
# ACCOUNT_EMAIL_VERIFICATION_ENFORCE=false
|
|
|
|
|
2022-01-07 00:09:47 +01:00
|
|
|
# The e-mail address to use to send system e-mails.
|
2018-05-10 18:54:23 +02:00
|
|
|
# DEFAULT_FROM_EMAIL=noreply@yourdomain
|
|
|
|
|
|
|
|
# Depending on the reverse proxy used in front of your funkwhale instance,
|
|
|
|
# the API will use different kind of headers to serve audio files
|
|
|
|
# Allowed values: nginx, apache2
|
|
|
|
REVERSE_PROXY_TYPE=nginx
|
|
|
|
|
2018-04-17 00:02:25 +02:00
|
|
|
# API/Django configuration
|
|
|
|
|
|
|
|
# Database configuration
|
|
|
|
# Examples:
|
|
|
|
# DATABASE_URL=postgresql://<user>:<password>@<host>:<port>/<database>
|
|
|
|
# DATABASE_URL=postgresql://funkwhale:passw0rd@localhost:5432/funkwhale_database
|
|
|
|
# Use the next one if you followed Debian installation guide
|
2021-04-24 13:05:22 +02:00
|
|
|
DATABASE_URL=postgresql://__DB_USER__:__DB_PWD__@:5432/__DB_NAME__
|
2018-04-17 00:02:25 +02:00
|
|
|
|
|
|
|
# Cache configuration
|
|
|
|
# Examples:
|
|
|
|
# CACHE_URL=redis://<host>:<port>/<database>
|
2019-07-28 17:25:29 +02:00
|
|
|
# CACHE_URL=redis://localhost:6379/0c
|
|
|
|
# With a password:
|
|
|
|
# CACHE_URL=redis://:password@localhost:6379/0
|
|
|
|
# (the extra semicolon is important)
|
2018-04-17 00:02:25 +02:00
|
|
|
# Use the next one if you followed Debian installation guide
|
2019-07-28 17:25:29 +02:00
|
|
|
#
|
2018-05-12 23:57:20 +02:00
|
|
|
CACHE_URL=redis://127.0.0.1:6379/__REDIS_DB__
|
2019-07-28 17:25:29 +02:00
|
|
|
#
|
|
|
|
# If you want to use Redis over unix sockets, you'll actually need two variables:
|
|
|
|
# For the cache part:
|
|
|
|
# CACHE_URL=redis:///run/redis/redis.sock?db=0
|
|
|
|
# For the Celery/asynchronous tasks part:
|
|
|
|
# CELERY_BROKER_URL=redis+socket:///run/redis/redis.sock?virtual_host=0
|
|
|
|
|
2021-04-24 13:05:22 +02:00
|
|
|
# Number of worker processes to execute. Defaults to 0, in which case it uses your number of CPUs
|
|
|
|
# Celery workers handle background tasks (such file imports or federation
|
|
|
|
# messaging). The more processes a worker gets, the more tasks
|
|
|
|
# can be processed in parallel. However, more processes also means
|
|
|
|
# a bigger memory footprint.
|
|
|
|
# CELERYD_CONCURRENCY=0
|
2018-04-17 00:02:25 +02:00
|
|
|
|
|
|
|
# Where media files (such as album covers or audio tracks) should be stored
|
|
|
|
# on your system?
|
|
|
|
# (Ensure this directory actually exists)
|
2023-03-31 13:19:41 +02:00
|
|
|
MEDIA_ROOT=__DATA_DIR__/data/media
|
2018-04-17 00:02:25 +02:00
|
|
|
|
|
|
|
# Where static files (such as API css or icons) should be compiled
|
|
|
|
# on your system?
|
|
|
|
# (Ensure this directory actually exists)
|
2023-03-31 13:19:41 +02:00
|
|
|
STATIC_ROOT=__DATA_DIR__/data/static
|
2018-04-17 00:02:25 +02:00
|
|
|
|
|
|
|
# which settings module should django use?
|
|
|
|
# You don't have to touch this unless you really know what you're doing
|
|
|
|
DJANGO_SETTINGS_MODULE=config.settings.production
|
|
|
|
|
|
|
|
# Generate one using `openssl rand -base64 45`, for example
|
2018-05-10 14:45:13 +02:00
|
|
|
DJANGO_SECRET_KEY=__KEY__
|
2018-04-17 00:02:25 +02:00
|
|
|
|
|
|
|
# You don't have to edit this, but you can put the admin on another URL if you
|
|
|
|
# want to
|
|
|
|
# DJANGO_ADMIN_URL=^api/admin/
|
|
|
|
|
2018-09-26 21:53:07 +02:00
|
|
|
# In-place import settings
|
|
|
|
# You can safely leave those settings uncommented if you don't plan to use
|
|
|
|
# in place imports.
|
|
|
|
# Typical docker setup:
|
2019-07-28 17:25:29 +02:00
|
|
|
# MUSIC_DIRECTORY_PATH=/music # docker-only
|
|
|
|
# MUSIC_DIRECTORY_SERVE_PATH=/srv/funkwhale/data/music
|
2018-09-26 21:53:07 +02:00
|
|
|
# Typical non-docker setup:
|
|
|
|
# MUSIC_DIRECTORY_PATH=/srv/funkwhale/data/music
|
|
|
|
# # MUSIC_DIRECTORY_SERVE_PATH= # stays commented, not needed
|
|
|
|
|
2023-03-31 13:19:41 +02:00
|
|
|
MUSIC_DIRECTORY_PATH=__DATA_DIR__/data/music
|
|
|
|
#MUSIC_DIRECTORY_SERVE_PATH=__DATA_DIR__/data/import
|
2018-09-26 21:53:07 +02:00
|
|
|
|
|
|
|
# LDAP settings
|
|
|
|
# Use the following options to allow authentication on your Funkwhale instance
|
|
|
|
# using a LDAP directory.
|
|
|
|
# Have a look at https://docs.funkwhale.audio/installation/ldap.html for
|
|
|
|
# detailed instructions.
|
|
|
|
|
2018-10-20 21:54:59 +02:00
|
|
|
LDAP_ENABLED=True
|
|
|
|
LDAP_SERVER_URI=ldap://localhost:389
|
|
|
|
# enable anonymous searches https://django-auth-ldap.readthedocs.io/en/latest/authentication.html?highlight=anonymous#search-bind
|
|
|
|
LDAP_BIND_DN=''
|
|
|
|
LDAP_BIND_PASSWORD=''
|
|
|
|
LDAP_SEARCH_FILTER=(|(uid={0}))
|
|
|
|
LDAP_START_TLS=False
|
|
|
|
LDAP_ROOT_DN=ou=users,dc=yunohost,dc=org
|
2022-02-16 18:31:08 +01:00
|
|
|
LDAP_USER_ATTR_MAP=username:uid
|
2018-09-26 21:53:07 +02:00
|
|
|
|
2023-03-24 12:21:19 +01:00
|
|
|
FUNKWHALE_FRONTEND_PATH=__INSTALL_DIR__/front/dist
|
|
|
|
FUNKWHALE_SPA_HTML_ROOT=__INSTALL_DIR__/front/dist/index.html
|
2018-09-26 21:53:07 +02:00
|
|
|
|
|
|
|
# Nginx related configuration
|
2019-01-28 19:29:38 +01:00
|
|
|
NGINX_MAX_BODY_SIZE=100M
|
2021-04-24 13:05:22 +02:00
|
|
|
|
|
|
|
## External storages configuration
|
|
|
|
# Funkwhale can store uploaded files on Amazon S3 and S3-compatible storages (such as Minio)
|
|
|
|
# Uncomment and fill the variables below
|
|
|
|
|
|
|
|
# AWS_ACCESS_KEY_ID=
|
|
|
|
# AWS_SECRET_ACCESS_KEY=
|
|
|
|
# AWS_STORAGE_BUCKET_NAME=
|
|
|
|
# An optional bucket subdirectory were you want to store the files. This is especially useful
|
|
|
|
# if you plan to use share the bucket with other services
|
|
|
|
# AWS_LOCATION=
|
|
|
|
|
|
|
|
# If you use a S3-compatible storage such as minio, set the following variable
|
|
|
|
# the full URL to the storage server. Example:
|
|
|
|
# AWS_S3_ENDPOINT_URL=https://minio.mydomain.com
|
|
|
|
# AWS_S3_ENDPOINT_URL=
|
|
|
|
|
|
|
|
# If you want to serve media directly from your S3 bucket rather than through a proxy,
|
2022-01-07 00:09:47 +01:00
|
|
|
# set this to false
|
2021-04-24 13:05:22 +02:00
|
|
|
# PROXY_MEDIA=false
|
|
|
|
|
|
|
|
# If you are using Amazon S3 to serve media directly, you will need to specify your region
|
|
|
|
# name in order to access files. Example:
|
|
|
|
# AWS_S3_REGION_NAME=eu-west-2
|
|
|
|
# AWS_S3_REGION_NAME=
|
|
|
|
|
|
|
|
# If you are using Amazon S3, use this setting to configure how long generated URLs should stay
|
|
|
|
# valid. The default value is 3600 (60 minutes). The maximum accepted value is 604800 (7 days)
|
|
|
|
|
|
|
|
# AWS_QUERYSTRING_EXPIRE=
|
2022-10-04 00:13:33 +02:00
|
|
|
|
|
|
|
# If you are using an S3-compatible object storage provider, and need to provide a default
|
|
|
|
# ACL for object uploads that is different from the default applied by boto3, you may
|
|
|
|
# override it here. Example:
|
|
|
|
# AWS_DEFAULT_ACL=public-read
|
|
|
|
# Available options can be found here: https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl
|
|
|
|
|
|
|
|
# AWS_DEFAULT_ACL=
|
|
|
|
|
|
|
|
# Funkwhale allows collecting errors using Sentry compatible APIs. If you want
|
|
|
|
# to help us improving Funkwhale, feel free to use our instance:
|
|
|
|
#FUNKWHALE_SENTRY_DSN=https://5840197379c64f65aad3c5c09274994d@am.funkwhale.audio/1
|