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 π
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/
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 π
@June you're welcome :3
The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!
Funkwhale, install script π
@eliotberriot great great work. Thank you.