diff --git a/changes/changelog.d/350.enhancement b/changes/changelog.d/350.enhancement
new file mode 100644
index 0000000000000000000000000000000000000000..3816fdd15e74ebb5fc7fdeac9778971f81bce316
--- /dev/null
+++ b/changes/changelog.d/350.enhancement
@@ -0,0 +1,51 @@
+Ensure we have sane defaults for MEDIA_ROOT, STATIC_ROOT and MUSIC_DIRECTORY_PATH
+in the deployment .env file (#350)
+
+Ensure MEDIA_ROOT, STATIC_ROOT and MUSIC_DIRECTORY_* are set explicitely
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+In our default .env file, MEDIA_ROOT and STATIC_ROOT were commented by default, causing
+some deployment issues on non-docker setups when people forgot to uncomment them.
+
+From now on, those variables are uncommented, and will also be used on docker setups
+to mount the volumes automatically in the docker-compose.yml file. This has been a source
+of headache as well in some deployments, where you had to update both the .env file and
+the compose file.
+
+This also applies to in-place paths (MUSIC_DIRECTORY_PATH and MUSIC_DIRECTORY_SERVE_PATH),
+whose values are now used directly to set up the proper Docker volumes.
+
+This will only affect new deployments though. If you want to benefit from this on an
+existing instance, do a backup of your ``.env`` and ``docker-compose.yml`` files and apply the following changes:
+
+- Ensure ``MEDIA_ROOT`` is uncommented in your .env file and match the absolute path where media files are stored
+  on your host (``/srv/funkwhale/data/media`` by default)
+- Ensure ``STATIC_ROOT`` is uncommented in your .env file and match the absolute path where static files are stored
+  on your host (``/srv/funkwhale/data/static`` by default)
+- If you use in-place import:
+    - Ensure MUSIC_DIRECTORY_PATH is uncommented and set to ``/music``
+    - Ensure MUSIC_DIRECTORY_SERVE_PATH is uncommented and set to the absolute path on your host were your music files
+      are stored (``/srv/funkwhale/data/music`` by default)
+- Edit your docker-compose.yml file to reflect the changes:
+    - Search for volumes (there should be two occurences) that contains ``/app/funkwhale_api/media`` on the right side, and
+      replace the whole line with ``- "${MEDIA_ROOT}:${MEDIA_ROOT}"``
+    - Search for a volume that contains ``/app/staticfiles`` on the right side, and
+      replace the whole line with ``- "${STATIC_ROOT}:${STATIC_ROOT}"``
+    - If you use in-place import, search for volumes (there should be two occurences) that contains ``/music:ro`` on the right side, and
+      replace the whole line with ``- "${MUSIC_DIRECTORY_SERVE_PATH}:${MUSIC_DIRECTORY_PATH}:ro"``
+
+In the end, the ``volumes`` directives of your containers should look like that::
+
+    ...
+    celeryworker
+      volumes:
+        - "${MUSIC_DIRECTORY_SERVE_PATH}:${MUSIC_DIRECTORY_PATH}:ro"
+        - "${MEDIA_ROOT}:${MEDIA_ROOT}"
+    ...
+    api:
+      volumes:
+        - "${MUSIC_DIRECTORY_SERVE_PATH}:${MUSIC_DIRECTORY_PATH}:ro"
+        - "${MEDIA_ROOT}:${MEDIA_ROOT}"
+        - "${STATIC_ROOT}:${STATIC_ROOT}"
+        - ./front/dist:/frontend
+    ...
diff --git a/deploy/docker-compose.yml b/deploy/docker-compose.yml
index 3bcd2f6d508a7b41747ba10ee85306adf9aa6619..302e6da21ffd597da33ebdc6515e131b055175c1 100644
--- a/deploy/docker-compose.yml
+++ b/deploy/docker-compose.yml
@@ -35,8 +35,8 @@ services:
     environment:
       - C_FORCE_ROOT=true
     volumes:
-      - ./data/music:/music:ro
-      - ./data/media:/app/funkwhale_api/media
+      - "${MUSIC_DIRECTORY_SERVE_PATH-/srv/funkwhale/data/music}:${MUSIC_DIRECTORY_PATH-/music}:ro"
+      - "${MEDIA_ROOT}:${MEDIA_ROOT}"
 
   celerybeat:
     restart: unless-stopped
@@ -52,9 +52,9 @@ services:
     image: funkwhale/funkwhale:${FUNKWHALE_VERSION:-latest}
     env_file: .env
     volumes:
-      - ./data/music:/music:ro
-      - ./data/media:/app/funkwhale_api/media
-      - ./data/static:/app/staticfiles
+      - "${MUSIC_DIRECTORY_SERVE_PATH-/srv/funkwhale/data/music}:${MUSIC_DIRECTORY_PATH-/music}:ro"
+      - "${MEDIA_ROOT}:${MEDIA_ROOT}"
+      - "${STATIC_ROOT}:${STATIC_ROOT}"
       - ./front/dist:/frontend
     ports:
       - "${FUNKWHALE_API_IP:-127.0.0.1}:${FUNKWHALE_API_PORT:-5000}:5000"
diff --git a/deploy/env.prod.sample b/deploy/env.prod.sample
index 64ff3d4dfb7c1bdeaf7841a24c19aa668f9ad2f3..838e8fef4bb29431b92c8e1264f941bc2a0781fa 100644
--- a/deploy/env.prod.sample
+++ b/deploy/env.prod.sample
@@ -10,14 +10,13 @@
 # On non-docker setup **only**, you'll also have to tweak/uncomment those variables:
 # - DATABASE_URL
 # - CACHE_URL
-# - STATIC_ROOT
-# - MEDIA_ROOT
 #
 # You **don't** need to update those variables on pure docker setups.
 #
 # Additional options you may want to check:
 # - MUSIC_DIRECTORY_PATH and MUSIC_DIRECTORY_SERVE_PATH if you plan to use
 #   in-place import
+#
 # Docker only
 # -----------
 
@@ -25,7 +24,6 @@
 # (it will be interpolated in docker-compose file)
 # You can comment or ignore this if you're not using docker
 FUNKWHALE_VERSION=latest
-MUSIC_DIRECTORY_PATH=/music
 
 # End of Docker-only configuration
 
@@ -79,12 +77,12 @@ REVERSE_PROXY_TYPE=nginx
 # Where media files (such as album covers or audio tracks) should be stored
 # on your system?
 # (Ensure this directory actually exists)
-# MEDIA_ROOT=/srv/funkwhale/data/media
+MEDIA_ROOT=/srv/funkwhale/data/media
 
 # Where static files (such as API css or icons) should be compiled
 # on your system?
 # (Ensure this directory actually exists)
-# STATIC_ROOT=/srv/funkwhale/data/static
+STATIC_ROOT=/srv/funkwhale/data/static
 
 # Update it to match the domain that will be used to reach your funkwhale
 # instance
@@ -112,5 +110,9 @@ RAVEN_DSN=https://44332e9fdd3d42879c7d35bf8562c6a4:0062dc16a22b41679cd5765e5342f
 # In-place import settings
 # You can safely leave those settings uncommented if you don't plan to use
 # in place imports.
-# MUSIC_DIRECTORY_PATH=
-# MUSIC_DIRECTORY_SERVE_PATH=  # docker-only
+# Typical docker setup:
+#   MUSIC_DIRECTORY_PATH=/srv/funkwhale/data/music
+#   MUSIC_DIRECTORY_SERVE_PATH=/music  # docker-only
+# Typical non-docker setup:
+#   MUSIC_DIRECTORY_PATH=/srv/funkwhale/data/music
+#   # MUSIC_DIRECTORY_SERVE_PATH= # stays commented, not needed