diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst
index 8c24faaf6a6f0b5591a604effc57caaa819a5341..ff1df416301d2db72c22acdcc8ff5967213138c8 100644
--- a/CONTRIBUTING.rst
+++ b/CONTRIBUTING.rst
@@ -17,7 +17,7 @@ A quick path to contribute on the front-end
 
 The next sections of this document include a full installation guide to help
 you setup a local, development version of Funkwhale. If you only want to fix small things
-on the front-end, and don't want to manage a full development environment, there is anoter way.
+on the front-end, and don't want to manage a full development environment, there is another way.
 
 As the front-end can work with any Funkwhale server, you can work with the front-end only,
 and make it talk with an existing instance (like the demo one, or you own instance, if you have one).
@@ -75,9 +75,9 @@ This is already cover in the relevant documentations:
 Cloning the project
 ^^^^^^^^^^^^^^^^^^^
 
-Visit https://dev.funkwhale.audio/funkwhale/funkwhale and clone the repository using SSH or HTTPS. Exemple using SSH::
+Visit https://dev.funkwhale.audio/funkwhale/funkwhale and clone the repository using SSH or HTTPS. Example using SSH::
 
-    git clone ssh://git@dev.funkwhale.audio:2222/funkwhale/funkwhale.git
+    git clone ssh://git@dev.funkwhale.audio/funkwhale/funkwhale.git
     cd funkwhale
 
 
@@ -90,11 +90,11 @@ Next release development occurs on the "develop" branch, and releases are made o
 Working with docker
 ^^^^^^^^^^^^^^^^^^^
 
-In developpement, we use the docker-compose file named ``dev.yml``, and this is why all our docker-compose commands will look like this::
+In development, we use the docker-compose file named ``dev.yml``, and this is why all our docker-compose commands will look like this::
 
     docker-compose -f dev.yml logs
 
-If you do not want to add the ``-f dev.yml`` snippet everytime, you can run this command before starting your work::
+If you do not want to add the ``-f dev.yml`` snippet every time, you can run this command before starting your work::
 
     export COMPOSE_FILE=dev.yml
 
@@ -137,7 +137,7 @@ To setup funkwhale's database schema, run this::
 
     docker-compose -f dev.yml run --rm api python manage.py migrate
 
-This will create all the tables needed for the API to run proprely.
+This will create all the tables needed for the API to run properly.
 You will also need to run this whenever changes are made on the database
 schema.
 
@@ -155,7 +155,7 @@ Create an admin user with the following command::
 
     docker-compose -f dev.yml run --rm api python manage.py createsuperuser
 
-Injecting fake data is done by running the fllowing script::
+Injecting fake data is done by running the following script::
 
     artists=25
     command="from funkwhale_api.music import fake_data; fake_data.create_data($artists)"
@@ -298,7 +298,7 @@ sure about what to do, do not panic, open your merge request normally and we'll
 figure everything during the review ;)
 
 Changelog fragments are text files that can contain one or multiple lines
-that describe the changes occuring in a bunch of commits. Those files reside
+that describe the changes occurring in a bunch of commits. Those files reside
 in ``changes/changelog.d``.
 
 Content
diff --git a/docs/configuration.rst b/docs/configuration.rst
index be3824502fc588a455b3a9a4b60f3f30de9bc837..6190f0e9f3fb480a30d75990380471b1f0e00842 100644
--- a/docs/configuration.rst
+++ b/docs/configuration.rst
@@ -14,7 +14,7 @@ and technical aspects of your instance, such as database credentials.
 
 .. note::
 
-    You should restart all funwhale processes when you change the values
+    You should restart all funkwhale processes when you change the values
     on environment variables.
 
 
@@ -87,7 +87,7 @@ Default: ``Funkwhale <noreply@yourdomain>``
 
 Default: ``None``
 
-The path on your server where Funwkhale can import files using :ref:`in-place import
+The path on your server where Funkwhale can import files using :ref:`in-place import
 <in-place-import>`. It must be readable by the webserver and Funkwhale
 api and worker processes.
 
@@ -144,7 +144,7 @@ Funkwhale's permission model works as follows:
   the whole instance
 - Superusers can do anything
 
-To make things more granular and allow some delegation of responsability,
+To make things more granular and allow some delegation of responsibility,
 superusers can grant specific permissions to specific users. Available
 permissions are:
 
@@ -153,7 +153,7 @@ permissions are:
 - **Manage library**: users with this permission can import new music in the
   instance
 - **Manage library federation**: users with this permission can ask to federate with
-  other instances, and accept/deny federation requests from other intances
+  other instances, and accept/deny federation requests from other instances
 
 There is no dedicated interface to manage users permissions, but superusers
 can login on the Django's admin at ``/api/admin/`` and grant permissions
@@ -162,9 +162,9 @@ to users at ``/api/admin/users/user/``.
 Theming
 -------
 
-Funkwhale supports custom themes, which are great if you want to personnalize the
+Funkwhale supports custom themes, which are great if you want to personalize the
 look and feel of your instance. Theming is achieved by declaring
-additionnal stylesheets you want to load in the front-end.
+additional stylesheets you want to load in the front-end.
 
 Customize the settings
 ^^^^^^^^^^^^^^^^^^^^^^
diff --git a/docs/developpers/subsonic.rst b/docs/developpers/subsonic.rst
index 394cb8afb21113bce42b508cd7ead38047a18903..d7bdd9a95500fb228987c4de81da93ec8cdbc8e0 100644
--- a/docs/developpers/subsonic.rst
+++ b/docs/developpers/subsonic.rst
@@ -7,7 +7,7 @@ with various apps in the Subsonic ecosystem (See :doc:`../users/apps`).
 Supported endpoints
 -------------------
 
-We seek the best compatibility with existing apps and wil eventually implement
+We seek the best compatibility with existing apps and Will eventually implement
 all endpoints that match Funkwhale's feature set. However, the current implementation
 do not include folder-based endpoints, as it does not match our internal model at all
 and will require substantial effort to emulate.
diff --git a/docs/features.rst b/docs/features.rst
index 91bb004ef7a6f31cd2b15ec122cc8c7c3c111f5f..2a7336b5100d04c951a0e16822fa10acf66de9c7 100644
--- a/docs/features.rst
+++ b/docs/features.rst
@@ -36,10 +36,10 @@ Structure
 
 The project itself is split in two parts:
 
-1. The backend, a REST API developped using Python3 and Django
+1. The backend, a REST API developed using Python3 and Django
 2. The frontend, that consumes the API, built as a single page application with VueJS and Semantic UI
 
-While the main interface to the server and API is the bundled front-end, the project itself is agnostic in the way you connect to it. Therefore, desktop clients or apps could be developped and could implement the same (or even more) features as the bundled frontend.
+While the main interface to the server and API is the bundled front-end, the project itself is agnostic in the way you connect to it. Therefore, desktop clients or apps could be developed and could implement the same (or even more) features as the bundled frontend.
 
 This modularity also makes it possible to deploy only a single component from the system.
 
diff --git a/docs/federation/index.rst b/docs/federation/index.rst
index 9a5be5710e137c40fbcb2723dbd32f2014d7f507..a3af33c5804ff3912709bd4cc48e69845d24c6c5 100644
--- a/docs/federation/index.rst
+++ b/docs/federation/index.rst
@@ -12,7 +12,7 @@ Funkwhale's federation is built on top of the following technologies:
 
 - `ActivityPub`_ as the high-level federation protocol
 - `HTTP Signatures`_ as the primary mean to authenticate messages
-- `Webfinger`_ to easily retrive resources using human-friendly names
+- `Webfinger`_ to easily retrieve resources using human-friendly names
 - `ActivityStreams`_ and `ActivityStreams vocabulary`_ as the mean to structure messages
 
 Support for the following is planned but not implemented-yet:
@@ -92,7 +92,7 @@ specific activities, and discard unsupported ones. Unsupported activities are st
 received and stored though.
 
 If a delivered activity matches one of our routes, a dedicated handler is called,
-which can trigger additionnal logic. For instance, if we receive a :ref:`activity-create` activity
+which can trigger additional logic. For instance, if we receive a :ref:`activity-create` activity
 for an :ref:`object-audio` object, our handler will persist the proper data in our local ``Upload``
 table, retrieve the audio cover, etc.
 
@@ -197,7 +197,7 @@ When an :ref:`activity-accept` is received with a :ref:`activity-follow` object,
 is marked as accepted in the database.
 
 For library follows, this means that the actor will receive future
-activities occuring within this library, such as :ref:`activity-create` :ref:`object-audio`,
+activities occurring within this library, such as :ref:`activity-create` :ref:`object-audio`,
 :ref:`activity-delete` :ref:`object-audio` or :ref:`activity-delete` :ref:`object-library`
 
 The follow actor will also be able to browse the library pages and download the library's
diff --git a/docs/importing-music.rst b/docs/importing-music.rst
index 03d316e146c3ea99094c00857b5dc23826c5320f..d3335acd326c76aae9d3b5a8f9f8a6a05515f90c 100644
--- a/docs/importing-music.rst
+++ b/docs/importing-music.rst
@@ -41,7 +41,7 @@ get details::
 
 .. note::
 
-    For the best results, we recommand tagging your music collection through
+    For the best results, we recommend tagging your music collection through
     `Picard <http://picard.musicbrainz.org/>`_ in order to have the best quality metadata.
 
 .. note::
@@ -60,7 +60,7 @@ In-place import
 ^^^^^^^^^^^^^^^
 
 By default, the CLI-importer will copy imported files to Funkwhale's internal
-storage. This means importing a 1Gb library will result in the same amount
+storage. This means importing a 1GB library will result in the same amount
 of space being used by Funkwhale.
 
 While this behaviour has some benefits (easier backups and configuration),
@@ -127,7 +127,7 @@ Whenever possible, Funkwhale will import album cover, with the following precede
 
 1. It will use the cover embedded in the audio files themeselves, if any (Flac/MP3 only)
 2. It will use a cover.jpg or a cover.png file from the imported track directory, if any
-3. It will fectch cover art from musicbrainz, assuming the file is tagged correctly
+3. It will fetch cover art from musicbrainz, assuming the file is tagged correctly
 
 Getting demo tracks
 ^^^^^^^^^^^^^^^^^^^
diff --git a/docs/installation/debian.rst b/docs/installation/debian.rst
index 767af79b07e7b708333d02f0aaab5533edb7e222..f49b8d3c4e309d9ab6280be3c4fd853029818600 100644
--- a/docs/installation/debian.rst
+++ b/docs/installation/debian.rst
@@ -64,7 +64,7 @@ Now let's setup our directory layout. Here is how it will look like::
     ├── front       # frontend files for the web user interface
     └── virtualenv  # python dependencies for Funkwhale
 
-Create the aforementionned directories:
+Create the aforementioned directories:
 
 .. code-block:: shell
 
diff --git a/docs/installation/docker.rst b/docs/installation/docker.rst
index 13403574dd8ca467571251e30b0148f74af93f68..8491f7f05503f050c4e5c3d4d005c0c0f67b3cbd 100644
--- a/docs/installation/docker.rst
+++ b/docs/installation/docker.rst
@@ -16,7 +16,7 @@ Download the sample docker-compose file:
     curl -L -o nginx/funkwhale_proxy.conf "https://dev.funkwhale.audio/funkwhale/funkwhale/raw/master/deploy/funkwhale_proxy.conf"
     curl -L -o docker-compose.yml "https://dev.funkwhale.audio/funkwhale/funkwhale/raw/master/deploy/docker-compose.yml"
 
-At this point, the archticture of ``/srv/funkwhale``  should look like that:
+At this point, the architecture of ``/srv/funkwhale``  should look like that:
 
 ::
 
diff --git a/docs/installation/external_dependencies.rst b/docs/installation/external_dependencies.rst
index 6156ed0888aa5b0cc2c865928a32095bc612190f..ba652e8a78f0cf912f61733c3375683fd69f7d3a 100644
--- a/docs/installation/external_dependencies.rst
+++ b/docs/installation/external_dependencies.rst
@@ -49,7 +49,7 @@ Create the project database and user:
 
     It's important that you use utf-8 encoding for your database,
     otherwise you'll end up with errors and crashes later on when dealing
-    with music metedata that contains non-ascii chars.
+    with music metadata that contains non-ascii chars.
 
 
 Assuming you already have :ref:`created your funkwhale user <create-funkwhale-user>`,
diff --git a/docs/installation/index.rst b/docs/installation/index.rst
index 0d5412a200489728c28b78acf170d8a303cd2db2..0b530c096aed1debe47a1840568c8b7fe2949dc7 100644
--- a/docs/installation/index.rst
+++ b/docs/installation/index.rst
@@ -9,7 +9,7 @@ The project relies on the following components and services to work:
 - A web application server (Python/Django/Gunicorn)
 - A PostgreSQL database to store application data
 - A redis server to store cache and tasks data
-- A celery worker to run asynchronouse tasks (such as music import)
+- A celery worker to run asynchronous tasks (such as music import)
 - A celery scheduler to run recurrent tasks
 - A `ntp-synced clock <https://wiki.debian.org/NTP>`_ to ensure federation is working seamlessly
 
@@ -36,10 +36,10 @@ Some users have reported running Funkwhale on Raspberry Pis with a memory
 consumption of less than 350MiB.
 
 Thus, Funkwhale should run fine on commodity hardware, small hosting boxes and
-Raspberry Pi. We lack real-world exemples of such deployments, so don't hesitate
+Raspberry Pi. We lack real-world examples of such deployments, so don't hesitate
 do give us your feedback (either positive or negative).
 
-Check out :doc:`optimization` for advices on how to tune your instance on small
+Check out :doc:`optimization` for advice on how to tune your instance on small
 configurations.
 
 Software requirements
@@ -54,7 +54,7 @@ dependencies should be available in your distribution's repositories.
 
 .. note::
 
-   Funkwhale works only with Pyhon >= 3.5, as we need support for async/await.
+   Funkwhale works only with Python >= 3.5, as we need support for async/await.
    Older versions of Python are not supported.
 
 
@@ -80,7 +80,7 @@ Funkwhale packages are available for the following platforms:
 Running Funkwhale on the develop branch
 ---------------------------------------
 
-Traditionnal deployments are done using specific releases. However, you
+Traditional deployments are done using specific releases. However, you
 may want to benefits from the latest change available, or the help detect
 bugs before they are included in actual releases.
 
diff --git a/docs/installation/optimization.rst b/docs/installation/optimization.rst
index 9ff8ffadf8d1b2bfe21549fe660c20cf71e399fe..5bc1b1be9a664c9896dc6aa13290b152228f5baa 100644
--- a/docs/installation/optimization.rst
+++ b/docs/installation/optimization.rst
@@ -11,7 +11,7 @@ Asynchronous tasks are handled by a celery worker, which will by default
 spawn a worker process per CPU available. This can lead to a higher
 memory usage.
 
-You can control this behaviour using the ``--concurrency`` flag.
+You can control this behavior using the ``--concurrency`` flag.
 For instance, setting ``--concurrency=1`` will spawn only one worker.
 
 This flag should be appended after the ``celery -A funkwhale_api.taskapp
@@ -30,7 +30,7 @@ Switch from prefork to solo pool
 Using a different pool implementation for Celery tasks may also help.
 
 Using the ``solo`` pool type should reduce your memory consumption.
-You can control this behaviour using the ``--pool=solo`` flag.
+You can control this behavior using the ``--pool=solo`` flag.
 
 This flag should be appended after the ``celery -A funkwhale_api.taskapp worker``
 command in your :file:`docker-compose.yml` file if you're using Docker, or in
diff --git a/docs/installation/systemd.rst b/docs/installation/systemd.rst
index 4f9aa0d18a3a694a6270f6cfc3c3a11c47cbcb0c..764ba3afc8ff22cc8370529a7fafb9bdda6a27cb 100644
--- a/docs/installation/systemd.rst
+++ b/docs/installation/systemd.rst
@@ -4,7 +4,7 @@ Systemd configuration
 Systemd offers a convenient way to manage your Funkwhale instance if you're
 not using docker.
 
-We'll see how to setup systemd to proprely start a Funkwhale instance.
+We'll see how to setup systemd to properly start a Funkwhale instance.
 
 First, download the sample unitfiles:
 
diff --git a/docs/troubleshooting.rst b/docs/troubleshooting.rst
index db9a1abef9ebe4eb80e2826d8841f5ef680941ac..57813d5e78bc812f11e15e3f18f2fd1239621981 100644
--- a/docs/troubleshooting.rst
+++ b/docs/troubleshooting.rst
@@ -177,7 +177,7 @@ It's a bit hard to give targeted advice about problems that do not fit in the pr
 - Try to identify the scope of the issue and reproduce it reliably
 - Ensure your instance is configured as detailed in the installation documentation, and if you did not use the default
   values, to check what you changed
-- To read the .env file carefuly, as most of the options are described in the comments
+- To read the .env file carefully, as most of the options are described in the comments
 
 
 Report an issue or get help
@@ -199,7 +199,7 @@ similar issues before doing that, and use the issue tracker only to report bugs,
 
 .. warning::
 
-    If you ever need to share screenshots or urls with someone else, ensure those do not include your personnal token.
+    If you ever need to share screenshots or urls with someone else, ensure those do not include your personal token.
     This token is binded to your account and can be used to connect and use your account.
 
     Urls that includes your token looks like: ``https://your.instance/api/v1/uploads/42/serve/?jwt=yoursecrettoken``