2022 July update

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!

New Docker improvements

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 api and front containers. 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:

We'll provide migration documentation closer to the time. All in all, this should lead to a much smoother experience for our Docker users!

Thanks to @georgkrause and @JuniorJPDJ for all their work on these improvements 💪

Introducing Mattermost

At the moment, we use the following tools to manage our projects:

  • GitLab
  • Matrix
  • 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!

The Retribute app lives

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 👋

Bank account migration

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!

New hardware

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:

  • GitLab,
  • open.audio
  • The Funkwhale forum
  • funkwhale.audio
  • Mattermost

Thanks to egon0 and @georgkrause for all their work on getting this up and running 🍾

Ongoing development

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.

Frontend work

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!

API work

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 🧑‍🏫

Other changes

By @Sporiff in Announcement