sh -c "$(curl -sSL https://get.funkwhale.audio/)"
Et je vois venir les esprits chagrins, mais y'a aussi sh -c "$(curl -sSL https://get.funkwhale.audio/upgrade.sh)" ;)
Funkwhale, install script π
So, now that the documentation is live (https://docs.funkwhale.audio/installation/index.html#quick-install), I can elaborate a bit more.
One legit critic we often get is that #Funkwhale is hard to configure, install and maintain.
Over the past two months, I've been working on two shell scripts to help with that, and they are now live and ready for use on Debian and Ubuntu servers.
sudo sh -c "$(curl -sSL https://get.funkwhale.audio/)" will get you a running Funkwhale instance in minutes, and take care of everything, including installing and configure Nginx, PostgreSQL, Redis, SystemD, Python and it's dependencies, etc.
sh -c "$(curl -sSL https://get.funkwhale.audio/upgrade.sh)" will upgrade an instance installed with the previous script to the latest version.
So, if you tried deploying your own Funkwhale pod but gave up because it was too hard, you may want to try again with this new method!
1/
Funkwhale, install script π
If you're interested about the scripts themselves and their behaviour, this post is for you.
Basically, the installation script is responsible for:
1. Asking configuration values (domain name, admin password, etc.) from the user
2. Downloading and installing ansible
3. Install Funkwhale using our ansible role (https://dev.funkwhale.audio/funkwhale/ansible/)
4. Creating an Ansible playbook with the provided configuration
5. Running the playbook
So, the script doesn't actually perform the installation of Funkwhale. Ansible does, which is better, because it's more tested and more trustable.
As for the update script, it's even simpler:
1. Retrieve the latest version
2. Update the version number in the ansible playbook
3. Rerun our playbook with the updated configuration
Funkwhale, install script π
One thing I was really careful with when writing this script was to give enough feedback to the user.
I like scripts that handle the complexity for me, but I hate when they try to *hide* it from me, because it means I can never understand what's going on and learn.
As a result, those scripts are verbose. They tell you what's going on, what command (especially ansible commands) are run, what is about to happen.
Funkwhale, install script π
@eliotberriot great great work. Thank you.
Funkwhale, install script π
@June you're welcome :3
Funkwhale, install script π
@eliotberriot π
Funkwhale, install script π
@eliotberriot damn yes! i first tried to set it up with the classical way and failed. succeded with the docker install to try locally, and tried this script for production. it worked like a charm AT THE FIRST TRY! WOHOO!
https://music.cipherbliss.com/
now i will have to read some docs to setup a server folder where to dump some #music on my #funkwhale
Funkwhale, install script π
@tykayn thank you for giving it a try, I'm so happy it worked for you π
As for your question, you can put the music in /srv/funkwhale/data/music (or set this to a symlink to our actual directory)
Then follow the instructions here: https://docs.funkwhale.audio/admin/importing-music.html#from-music-directory-on-the-server
(note that you need to run /srv/funkwhale/manage instead of python api/manage.py, but the remainder of the commands should be the same)
Funkwhale, install script π
@eliotberriot awesome, worked very well on a few hundred titles. still i get some mp3 files that i cannot import, because of a TypeError 'NoneType' object is not subscuptable.
i will check that on the Riot channel
Funkwhale, install script π
@tykayn sure, see you there!
The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!
Funkwhale, install script π
2/ Now, some of you are, legitimately, very wary of piping shell scripts from the internet to a shell. And you should.
We'll continue to maintain our other installation methods, and you should use them if you'd rather know what you're doing.
Ideally, we'd have proper packages to install Funkwhale on various platforms. But we simply don't have the resources to handle this now.
So, this script is a compromise between convenience and security.
2/