If you notice something missing in our documentation but don’t feel confident contributing, submit a request in our forum.
We try to document Funkwhale as thoroughly as possible to make it easy for users, admins, developers, and contributors to understand how everything works.
To work on Funkwhale’s documentation, you need the following:
All documentation in Funkwhale is stored in the main Funkwhale Git repository.
We broadly follow the Microsoft writing style guide for language and tone. You should aim to keep your language simple and clear enough for readers of all levels. You can use a free tool like Hemingway to check the complexity of your sentences.
Here are some basic rules to follow:
Write in American English
Always use sentence casing for headers. For example: “Contribute to Funkwhale documentation” rather than “Contribute To Funkwhale Documentation”
Use contractions such as “don’t” and “can’t” to make your writing feel conversational. Only use the full words if you’re trying to emphasize something
Create a dummy
Create a dummy federation network
docker network create federation
Build the container
docker-compose -f dev.yml build docs
Run the container
docker-compose -f dev.yml up docs
A real-time preview of the documentation is available on
If you move content to a new location, you need to set up a redirect. This ensures that any bookmarks or links posted before the change still take the user where they expect to go.
All redirects are stored in a
redirects.txt file. This is a simple text file containing one redirect per line. Each line contains the old URL and new URL as relative URLs.
In this example, the
architecture.html file redirects to
Here’s an example of the typical workflow for creating documentation:
Create a fork of the Funkwhale codebase
Create a new branch for your documentation. In this example
my-branch-nameis the name of the branch
git checkout -b my-branch-name
Make your changes and verify them by running the Docker container
Add redirects if required
Add a changelog fragment
Add your changed files to a commit
git add . # Add all changed files git add doc1.md doc2.md # Add specific files
Create a commit with a meaningful commit message
git commit -m "A meaningful commit message"
Push your changes to your fork
git push origin my-branch-name
Create a merge request in the main Funkwhale repository