Skip to content
Snippets Groups Projects
Forked from funkwhale / funkwhale
5713 commits behind the upstream repository.
user avatar
Eliot Berriot authored
dd23dfa0
Name Last commit Last update
..
README.md
env.sample
setup.sh

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 https://dev.funkwhale.audio/funkwhale/catalog, 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 setup.sh script to ``/srv/funkwhale-demo/setup.sh`.

Ensure it's executable with chmod +x setup.sh.

Setup your nginx vhost

Setup your reverse proxy for the demo as described in https://docs.funkwhale.audio/installation/index.html#nginx.

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

Launch

Setup the demo:

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

Automate

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:
SHELL=/bin/bash
0 */3 * * * cd /srv/funkwhale-demo && ENV_FILE=/srv/funkwhale-demo/env ./setup.sh > /srv/funkwhale-demo/crontab.log 2>&1

This will reset and restart the demo every 3 hours.