# If you have any doubts about what a setting does, # check https://docs.funkwhale.audio/configuration.html#configuration-reference # If you're tweaking this file from the template, ensure you edit at least the # following variables: # - DJANGO_SECRET_KEY # - FUNKWHALE_HOSTNAME # - EMAIL_CONFIG and DEFAULT_FROM_EMAIL if you plan to send emails) # On non-docker setup **only**, you'll also have to tweak/uncomment those variables: # - DATABASE_URL # - CACHE_URL # # You **don't** need to update those variables on pure docker setups. # # Additional options you may want to check: # - MUSIC_DIRECTORY_PATH and MUSIC_DIRECTORY_SERVE_PATH if you plan to use # in-place import # # 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 # End of Docker-only configuration # 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__ # 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 FUNKWHALE_WEB_WORKERS=6 # Replace this by the definitive, public domain you will use for # your instance. It cannot be changed after initial deployment # without breaking your instance. FUNKWHALE_HOSTNAME=__DOMAIN__ FUNKWHALE_PROTOCOL=https # Configure email sending using this variale # By default, funkwhale will output emails sent to stdout # here are a few examples for this setting # EMAIL_CONFIG=consolemail:// # output emails to console (the default) # EMAIL_CONFIG=dummymail:// # disable email sending completely # On a production instance, you'll usually want to use an external SMTP server: # 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 # Make email verification mandatory before using the service # Doesn't apply to admins. # ACCOUNT_EMAIL_VERIFICATION_ENFORCE=false # The email address to use to send system emails. # 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 # API/Django configuration # Database configuration # Examples: # DATABASE_URL=postgresql://:@:/ # DATABASE_URL=postgresql://funkwhale:passw0rd@localhost:5432/funkwhale_database # Use the next one if you followed Debian installation guide DATABASE_URL=postgresql://__DB_USER__:__DB_PWD__@:5432/__DB_NAME__ # Cache configuration # Examples: # CACHE_URL=redis://:/ # CACHE_URL=redis://localhost:6379/0c # With a password: # CACHE_URL=redis://:password@localhost:6379/0 # (the extra semicolon is important) # Use the next one if you followed Debian installation guide # CACHE_URL=redis://127.0.0.1:6379/__REDIS_DB__ # # 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 # 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 # Where media files (such as album covers or audio tracks) should be stored # on your system? # (Ensure this directory actually exists) MEDIA_ROOT=__DATADIR__/media # Where static files (such as API css or icons) should be compiled # on your system? # (Ensure this directory actually exists) STATIC_ROOT=__DATADIR__/static # 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 DJANGO_SECRET_KEY=__KEY__ # 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/ # Sentry/Raven error reporting (server side) # Enable Raven if you want to help improve funkwhale by # automatically sending error reports our Sentry instance. # This will help us detect and correct bugs RAVEN_ENABLED=false RAVEN_DSN=https://44332e9fdd3d42879c7d35bf8562c6a4:0062dc16a22b41679cd5765e5342f716@sentry.eliotberriot.com/5 # In-place import settings # You can safely leave those settings uncommented if you don't plan to use # in place imports. # Typical docker setup: # MUSIC_DIRECTORY_PATH=/music # docker-only # MUSIC_DIRECTORY_SERVE_PATH=/srv/funkwhale/data/music # Typical non-docker setup: # MUSIC_DIRECTORY_PATH=/srv/funkwhale/data/music # # MUSIC_DIRECTORY_SERVE_PATH= # stays commented, not needed MUSIC_DIRECTORY_PATH=__DATADIR__/music #MUSIC_DIRECTORY_SERVE_PATH=__DATADIR__/import # 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. 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 LDAP_USER_ATTR_MAP={"username": "uid"} FUNKWHALE_FRONTEND_PATH=__FINALPATH__/front/dist FUNKWHALE_SPA_HTML_ROOT=__FINALPATH__/front/dist/index.html # Nginx related configuration NGINX_MAX_BODY_SIZE=100M ## 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, # set this to true # 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=