funkwhale/demo
jo d47fef0806 chore: fix shell scripts lint errors 2022-11-25 19:43:50 +00:00
..
README.md docs: fix spelling errors (pre-commit) 2022-11-24 01:43:36 +01:00
env.sample Removed the need to specify the DJANGO_ALLOWED_HOSTS variable 2018-11-25 18:40:56 +01:00
setup.sh chore: fix shell scripts lint errors 2022-11-25 19:43:50 +00:00

README.md

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 probably 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.