Hello everyone 🌊
It's been another busy month here at Funkwhale HQ! As always, we're excited to tell you all about what's new and upcoming. So without further ado, let's jump into it!
As part of ongoing improvements to deployment, we've been tweaking our Docker setup. We used to run both the frontend and backend in the
api container and the webserver in an
nginx container. This isn't how Docker should work, though, so we decided to change this. From 1.3.0 onwards, Docker deployments will have separate
front contains the web app and webserver in one place, while
api contains the backend. We've also taken some time to improve the following logic in these containers:
- Migrations run on
apilaunch to cut a step in your upgrade process.
- You no longer need to store Nginx template files in
frontcontainer builds the Nginx config from your
.envfile at launch. You can still override this with a custom file by mounting it in your
We'll provide migration documentation closer to the time. All in all, this should lead to a much smoother experience for our Docker users!
At the moment, we use the following tools to manage our projects:
- The Funkwhale forum
Unfortunately, no one tool here does everything we need. Most of our work takes place in GitLab but its tooling is aimed at developers. We want to have a central place to work that is more flexible for more workflows.
To address this, we've set up a Mattermost instance and are testing it among the team. Mattermost enables us to communicate, manage tasks, and use automations all in one place! We can bridge our Matrix rooms into Mattermost and have separate rooms for projects.
We're still kicking the tires on this, but expect to hear more about it pretty soon!
Our other project, Retribute, hasn't seen much love recently. However, it's not dead! While we've not had much time to work on it recently, we want to keep it in working order. @georgkrause has patched an issue that stopped the web app communicating with Funkwhale.
If you're interested in Retribute and want to help improve it, join our Matrix channel! We'd love to have you there 👋
As mentioned in a previous post, we're currently moving our assets to a new host. While we're doing this, we're not accepting donations by wire transfer or bank payment. Payments made to this account won't get through to us! If you have scheduled payments going to this account, please cancel them for now. We'll update our donation page with more information when we have it.
In the meantime, consider donating to our OpenCollective instead!
You may have noticed that we experienced a few outages and slowdowns recently. This is because the server we were running on was pretty old and underpowered. To address this, we decided to splurge a little on a new home for Funkwhale 💸
Our new server, Willy, is now online and hosting services. You should see noticeable improvements to the speed and reliability of our sites. This includes:
- The Funkwhale forum
Phew! That was a lot of stuff to get through. Let's take a moment to kick back and reflect on all the development stuff that's happened this month.
The march toward 1.3.0 continues with a huge number of frontend improvements. @wvffle has introduced lots of great stuff as part of the Vue 3 and Typescript migration. Here are a couple of highlights:
- Faster and smoother player opening with large queues.
- The ability to drag items off the page to scroll through the queue.
Check out the video below for a comparison!
Thanks to @JuniorJPDJ for providing feedback and a test environment for this development!
Currently, we are focusing on the following areas of API development:
- Improving the current API to make it OpenAPI-compliant.
- Planning for version 2 of the Funkwhale API.
While version 2 is a long way off, the OpenAPI work is going strong. @georgkrause and I have resolved most issues raised by our OpenAPI generator. Once it's all resolved, we should be able to start work on creating Funkwhale libraries 🧑🏫