2018-07-22 09:26:33 +00:00
|
|
|
# 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).
|
|
|
|
|
2018-12-10 15:00:33 +00:00
|
|
|
If you don't have any music, you can use the repository https://dev.funkwhale.audio/funkwhale/catalog, which
|
2018-07-22 09:26:33 +00:00
|
|
|
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.
|