You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Ciarán Ainsworth b422612edf Resolve "Remove the unused `federation__music_needs_approval` settings" 2 years ago
.. Point to new gitlab URL 3 years ago
env.sample Removed the need to specify the DJANGO_ALLOWED_HOSTS variable 4 years ago Resolve "Remove the unused `federation__music_needs_approval` settings" 2 years ago

Setup the demo

We assume you want to store the demo data in /srv/funkwhale-demo. This setup requires Docker and docker-compose.

Create the necessary directories

mkdir /srv/funkwhale-demo

Get some music

You can use your own music (put it in /usr/share/music, this is the directory the demo will look into by default).

If you don't have any music, you can use the repository, which requires Git LFS.

Create an env file

Copy the env.sample file to ``/srv/funkwhale-demo/.env`.

Edit the file according to your needs.

Copy the setup script

Copy the script to ``/srv/funkwhale-demo/`.

Ensure it's executable with chmod +x

Setup your nginx vhost

Setup your reverse proxy for the demo as described in

This is outside of the scope of this guide, as you will probably want some SSL certificates, however, ensure you point the vhost configuration to the proper static files:

  • root should point to /srv/funkwhale-demo/demo/front/dist
  • /media and /_protected/media should point to /srv/funkwhale-demo/demo/data/media/
  • /staticfiles should point to /srv/funkwhale-demo/demo/data/static


Setup the demo:

cd /srv/funkwhale-demo
sudo ENV_FILE=/srv/funkwhale-demo/.env ./


You'll probaby want to reset the demo every now and then. You can do that using a cronjob:

sudo crontab -e
# in the crontab, put this:
0 */3 * * * cd /srv/funkwhale-demo && ENV_FILE=/srv/funkwhale-demo/env ./ > /srv/funkwhale-demo/crontab.log 2>&1

This will reset and restart the demo every 3 hours.