| 
									
										
										
										
											2018-04-21 17:30:55 +00:00
										 |  |  | # If you have any doubts about what a setting does, | 
					
						
							|  |  |  | # check https://docs.funkwhale.audio/configuration.html#configuration-reference | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-07-17 20:00:32 +00:00
										 |  |  | # If you're tweaking this file from the template, ensure you edit at least the | 
					
						
							| 
									
										
										
										
											2017-06-25 21:02:36 +00:00
										 |  |  | # following variables: | 
					
						
							|  |  |  | # - DJANGO_SECRET_KEY | 
					
						
							| 
									
										
										
										
											2018-08-31 17:21:46 +00:00
										 |  |  | # - FUNKWHALE_HOSTNAME | 
					
						
							| 
									
										
										
										
											2021-06-17 15:55:12 +00:00
										 |  |  | # - EMAIL_CONFIG and DEFAULT_FROM_EMAIL if you plan to send e-mails) | 
					
						
							| 
									
										
										
										
											2018-04-21 17:30:55 +00:00
										 |  |  | # On non-docker setup **only**, you'll also have to tweak/uncomment those variables: | 
					
						
							| 
									
										
										
										
											2017-07-17 20:00:32 +00:00
										 |  |  | # - DATABASE_URL | 
					
						
							|  |  |  | # - CACHE_URL | 
					
						
							| 
									
										
										
										
											2018-03-23 20:45:17 +00:00
										 |  |  | # | 
					
						
							|  |  |  | # You **don't** need to update those variables on pure docker setups. | 
					
						
							| 
									
										
										
										
											2018-04-21 17:30:55 +00: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-07-08 09:30:53 +00:00
										 |  |  | # | 
					
						
							| 
									
										
										
										
											2017-06-25 21:02:36 +00:00
										 |  |  | # Docker only | 
					
						
							|  |  |  | # ----------- | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # The tag of the image we should use | 
					
						
							|  |  |  | # (it will be interpolated in docker-compose file) | 
					
						
							| 
									
										
										
										
											2017-07-17 20:00:32 +00:00
										 |  |  | # You can comment or ignore this if you're not using docker | 
					
						
							| 
									
										
										
										
											2017-06-25 21:02:36 +00:00
										 |  |  | FUNKWHALE_VERSION=latest | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-04-21 17:30:55 +00:00
										 |  |  | # End of Docker-only configuration | 
					
						
							| 
									
										
										
										
											2017-06-25 21:02:36 +00: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 | 
					
						
							| 
									
										
										
										
											2017-07-17 20:00:32 +00:00
										 |  |  | FUNKWHALE_API_IP=127.0.0.1 | 
					
						
							|  |  |  | FUNKWHALE_API_PORT=5000 | 
					
						
							| 
									
										
										
										
											2019-06-19 08:26:09 +00: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-02 08:09:14 +00:00
										 |  |  | FUNKWHALE_WEB_WORKERS=4 | 
					
						
							| 
									
										
										
										
											2018-02-25 13:43:23 +00:00
										 |  |  | # Replace this by the definitive, public domain you will use for | 
					
						
							| 
									
										
										
										
											2020-05-07 11:39:57 +00:00
										 |  |  | # your instance. It cannot be changed after initial deployment | 
					
						
							|  |  |  | # without breaking your instance. | 
					
						
							| 
									
										
										
										
											2018-08-31 17:21:46 +00:00
										 |  |  | FUNKWHALE_HOSTNAME=yourdomain.funkwhale | 
					
						
							|  |  |  | FUNKWHALE_PROTOCOL=https | 
					
						
							| 
									
										
										
										
											2017-06-25 21:02:36 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-06-16 15:30:05 +00:00
										 |  |  | # Log level (debug, info, warning, error, critical) | 
					
						
							| 
									
										
										
										
											2021-07-26 18:30:48 +00:00
										 |  |  | LOGLEVEL=error | 
					
						
							| 
									
										
										
										
											2021-06-16 15:30:05 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-06-17 15:55:12 +00:00
										 |  |  | # Configure e-mail sending using this variale | 
					
						
							|  |  |  | # By default, funkwhale will output e-mails sent to stdout | 
					
						
							| 
									
										
										
										
											2018-05-06 11:48:23 +00:00
										 |  |  | # here are a few examples for this setting | 
					
						
							| 
									
										
										
										
											2021-06-17 15:55:12 +00:00
										 |  |  | # EMAIL_CONFIG=consolemail://         # output e-mails to console (the default) | 
					
						
							|  |  |  | # EMAIL_CONFIG=dummymail://          # disable e-mail sending completely | 
					
						
							| 
									
										
										
										
											2018-05-06 11:48:23 +00:00
										 |  |  | # On a production instance, you'll usually want to use an external SMTP server: | 
					
						
							| 
									
										
										
										
											2021-08-04 12:52:35 +00: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-04-08 14:11:09 +00: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 | 
					
						
							| 
									
										
										
										
											2018-05-06 11:48:23 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-06-17 15:55:12 +00:00
										 |  |  | # Make e-mail verification mandatory before using the service | 
					
						
							| 
									
										
										
										
											2020-04-01 13:24:40 +00:00
										 |  |  | # Doesn't apply to admins. | 
					
						
							|  |  |  | # ACCOUNT_EMAIL_VERIFICATION_ENFORCE=false | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-06-17 15:55:12 +00:00
										 |  |  | # The e-mail address to use to send system e-mails. | 
					
						
							| 
									
										
										
										
											2018-05-06 14:23:23 +00:00
										 |  |  | # DEFAULT_FROM_EMAIL=noreply@yourdomain | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-04-22 14:34:07 +00:00
										 |  |  | # 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-21 17:30:55 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-06-25 21:02:36 +00:00
										 |  |  | # API/Django configuration | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-07-17 20:00:32 +00:00
										 |  |  | # 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 | 
					
						
							|  |  |  | # DATABASE_URL=postgresql://funkwhale@:5432/funkwhale | 
					
						
							| 
									
										
										
										
											2017-06-25 21:02:36 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-07-17 20:00:32 +00:00
										 |  |  | # Cache configuration | 
					
						
							|  |  |  | # Examples: | 
					
						
							|  |  |  | #  CACHE_URL=redis://<host>:<port>/<database> | 
					
						
							| 
									
										
										
										
											2018-12-20 16:36:32 +00:00
										 |  |  | #  CACHE_URL=redis://localhost:6379/0c | 
					
						
							|  |  |  | #  With a password: | 
					
						
							|  |  |  | #  CACHE_URL=redis://:password@localhost:6379/0 | 
					
						
							|  |  |  | #  (the extra semicolon is important) | 
					
						
							| 
									
										
										
										
											2017-07-17 20:00:32 +00:00
										 |  |  | # Use the next one if you followed Debian installation guide | 
					
						
							| 
									
										
										
										
											2019-04-25 08:04:09 +00:00
										 |  |  | # | 
					
						
							| 
									
										
										
										
											2017-07-17 20:00:32 +00:00
										 |  |  | # CACHE_URL=redis://127.0.0.1:6379/0 | 
					
						
							| 
									
										
										
										
											2019-04-25 08:04:09 +00: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 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-12-20 14:36:18 +00: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 | 
					
						
							| 
									
										
										
										
											2017-07-17 20:00:32 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | # Where media files (such as album covers or audio tracks) should be stored | 
					
						
							|  |  |  | # on your system? | 
					
						
							|  |  |  | # (Ensure this directory actually exists) | 
					
						
							| 
									
										
										
										
											2018-07-08 09:30:53 +00:00
										 |  |  | MEDIA_ROOT=/srv/funkwhale/data/media | 
					
						
							| 
									
										
										
										
											2017-06-25 21:02:36 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-07-17 20:00:32 +00:00
										 |  |  | # Where static files (such as API css or icons) should be compiled | 
					
						
							|  |  |  | # on your system? | 
					
						
							|  |  |  | # (Ensure this directory actually exists) | 
					
						
							| 
									
										
										
										
											2018-07-08 09:30:53 +00:00
										 |  |  | STATIC_ROOT=/srv/funkwhale/data/static | 
					
						
							| 
									
										
										
										
											2017-06-25 21:02:36 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-07-17 20:00:32 +00: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 | 
					
						
							|  |  |  | DJANGO_SECRET_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/ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-04-21 17:30:55 +00:00
										 |  |  | # In-place import settings | 
					
						
							|  |  |  | # You can safely leave those settings uncommented if you don't plan to use | 
					
						
							|  |  |  | # in place imports. | 
					
						
							| 
									
										
										
										
											2018-07-08 09:30:53 +00:00
										 |  |  | # Typical docker setup: | 
					
						
							| 
									
										
										
										
											2019-01-08 13:38:52 +00:00
										 |  |  | #   MUSIC_DIRECTORY_PATH=/music  # docker-only | 
					
						
							|  |  |  | #   MUSIC_DIRECTORY_SERVE_PATH=/srv/funkwhale/data/music | 
					
						
							| 
									
										
										
										
											2018-07-08 09:30:53 +00:00
										 |  |  | # Typical non-docker setup: | 
					
						
							|  |  |  | #   MUSIC_DIRECTORY_PATH=/srv/funkwhale/data/music | 
					
						
							|  |  |  | #   # MUSIC_DIRECTORY_SERVE_PATH= # stays commented, not needed | 
					
						
							| 
									
										
										
										
											2018-08-22 18:10:39 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-08-31 17:21:46 +00:00
										 |  |  | MUSIC_DIRECTORY_PATH=/srv/funkwhale/data/music | 
					
						
							|  |  |  | MUSIC_DIRECTORY_SERVE_PATH=/srv/funkwhale/data/music | 
					
						
							| 
									
										
										
										
											2018-08-22 18:10:39 +00: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. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # LDAP_ENABLED=False | 
					
						
							|  |  |  | # LDAP_SERVER_URI=ldap://your.server:389 | 
					
						
							|  |  |  | # LDAP_BIND_DN=cn=admin,dc=domain,dc=com | 
					
						
							|  |  |  | # LDAP_BIND_PASSWORD=bindpassword | 
					
						
							|  |  |  | # LDAP_SEARCH_FILTER=(|(cn={0})(mail={0})) | 
					
						
							|  |  |  | # LDAP_START_TLS=False | 
					
						
							|  |  |  | # LDAP_ROOT_DN=dc=domain,dc=com | 
					
						
							| 
									
										
										
										
											2018-08-31 17:21:46 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | FUNKWHALE_FRONTEND_PATH=/srv/funkwhale/front/dist | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Nginx related configuration | 
					
						
							| 
									
										
										
										
											2019-01-11 08:51:23 +00:00
										 |  |  | NGINX_MAX_BODY_SIZE=100M | 
					
						
							| 
									
										
										
										
											2019-04-23 16:00:00 +00: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= | 
					
						
							| 
									
										
										
										
											2019-05-10 12:33:03 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | # If you want to serve media directly from your S3 bucket rather than through a proxy, | 
					
						
							| 
									
										
										
										
											2021-10-29 15:02:39 +00:00
										 |  |  | # set this to false | 
					
						
							| 
									
										
										
										
											2019-05-10 12:33:03 +00: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 | 
					
						
							| 
									
										
										
										
											2019-06-19 08:26:09 +00:00
										 |  |  | # AWS_S3_REGION_NAME= | 
					
						
							| 
									
										
										
										
											2019-10-04 06:46:01 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | # 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) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-12-20 14:36:18 +00:00
										 |  |  | # AWS_QUERYSTRING_EXPIRE= | 
					
						
							| 
									
										
										
										
											2022-05-07 06:54:04 +00: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= | 
					
						
							| 
									
										
										
										
											2022-08-06 20:36:39 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | # 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 |