Add my funkwhale-docker repo to the documentation to simplifiy the multi-container installation
Description
As discussed in Matrix with @Sporiff, it would be nice to add this repo I made that would drastically simplify the multi-container installation steps (it is basically one script to run and then setup the reverse-proxy).
Here's the link to the repo: https://dev.funkwhale.audio/creak/funkwhale-docker
The README explains how to use it and the script help as well (i.e. ./setup.sh --help
).
Caveats
One caveat I've seen so far:
It's not linked to my script directly, but once the Funkwhale instance is up and running, it's confusing that you can't easily access your instance locally. You can't set it up for https://my.domain.io, but still be able to access it through http://localhost:5000 (the exposed port on the host). It is possible to see the web page, but because the protocol is different (HTTP vs HTTPS), it's impossible to log in.
The workaround I've found so far is to set up your instance with the "localhost" hostname and the "http" protocol (which would translate with this command line with the script: ./setup.sh -h localhost -p http
). This way, since the protocols are the same between when you access locally and the Funkwhale's protocol configuration, you can log in your instance. It's nice to know if you just want to quickly test a Funkwhale instance without having to set up a reverse-proxy on top.
Future improvements
- The script can be a bit verbosy, especially because of all the warnings when running the API. I want to keep it because it gives some log information, but also I can't hide it because you wouldn't understand the superuser creation prompt
- Is there a way to give the user, e-mail and password directly in the
createsuperuser
command line? - As discussed a few weeks ago, it would be very nice to remove the nginx configuration files and keep them hidden within the
nginx
container; I don't think they are very useful for the vast majority of the Funkwhale users and they tend to confuse the users because of the other nginx config files for the reverse-proxy