diff --git a/config/config.exs b/config/config.exs
index bec1c440a..9d0aabaf8 100644
--- a/config/config.exs
+++ b/config/config.exs
@@ -88,6 +88,8 @@ config :mobilizon, Mobilizon.Web.Upload,
 
 config :mobilizon, Mobilizon.Web.Upload.Uploader.Local, uploads: "/var/lib/mobilizon/uploads"
 
+config :tz_world, data_dir: "/var/lib/mobilizon/timezones"
+
 config :mobilizon, :media_proxy,
   enabled: true,
   proxy_opts: [
diff --git a/config/dev.exs b/config/dev.exs
index cd4d9ea1c..0484b983e 100644
--- a/config/dev.exs
+++ b/config/dev.exs
@@ -94,6 +94,8 @@ config :mobilizon, Mobilizon.Web.Auth.Guardian,
 
 config :mobilizon, Mobilizon.Web.Upload.Uploader.Local, uploads: "uploads"
 
+config :tz_world, data_dir: "_build/dev/lib/tz_world/priv"
+
 config :mobilizon, :anonymous,
   reports: [
     allowed: true
diff --git a/config/docker.exs b/config/docker.exs
index c20141428..e370644e8 100644
--- a/config/docker.exs
+++ b/config/docker.exs
@@ -33,9 +33,6 @@ config :mobilizon, :instance,
   email_from: System.get_env("MOBILIZON_INSTANCE_EMAIL", "noreply@mobilizon.lan"),
   email_reply_to: System.get_env("MOBILIZON_REPLY_EMAIL", "noreply@mobilizon.lan")
 
-config :mobilizon, Mobilizon.Web.Upload.Uploader.Local,
-  uploads: System.get_env("MOBILIZON_UPLOADS", "/app/uploads")
-
 config :mobilizon, Mobilizon.Storage.Repo,
   adapter: Ecto.Adapters.Postgres,
   username: System.get_env("MOBILIZON_DATABASE_USERNAME", "username"),
@@ -68,4 +65,8 @@ config :geolix,
     }
   ]
 
-config :mobilizon, Mobilizon.Web.Upload.Uploader.Local, uploads: "/var/lib/mobilizon/uploads"
+config :mobilizon, Mobilizon.Web.Upload.Uploader.Local,
+  uploads: System.get_env("MOBILIZON_UPLOADS", "/var/lib/mobilizon/uploads")
+
+config :tz_world,
+  data_dir: System.get_env("MOBILIZON_TIMEZONES_DIR", "/var/lib/mobilizon/timezones")
diff --git a/config/test.exs b/config/test.exs
index 86dce9eb7..507e4cd0c 100644
--- a/config/test.exs
+++ b/config/test.exs
@@ -60,6 +60,8 @@ config :mobilizon, Mobilizon.Web.Upload, filters: [], link_name: false
 
 config :mobilizon, Mobilizon.Web.Upload.Uploader.Local, uploads: "test/uploads"
 
+config :tz_world, data_dir: "_build/test/lib/tz_world/priv"
+
 config :exvcr,
   vcr_cassette_library_dir: "test/fixtures/vcr_cassettes"
 
diff --git a/docker/production/Dockerfile b/docker/production/Dockerfile
index 05a898c78..e031be942 100644
--- a/docker/production/Dockerfile
+++ b/docker/production/Dockerfile
@@ -51,7 +51,8 @@ LABEL org.opencontainers.image.title="mobilizon" \
 RUN apk add --no-cache openssl ca-certificates ncurses-libs file postgresql-client libgcc libstdc++ imagemagick python3 py3-pip py3-pillow py3-cffi py3-brotli gcc musl-dev python3-dev pango libxslt-dev
 RUN pip install weasyprint pyexcel-ods3
 
-RUN mkdir -p /app/uploads && chown nobody:nobody /app/uploads
+RUN mkdir -p /var/lib/mobilizon/uploads && chown nobody:nobody /var/lib/mobilizon/uploads
+RUN mkdir -p /var/lib/mobilizon/timezones && chown nobody:nobody /var/lib/mobilizon/timezones
 RUN mkdir -p /etc/mobilizon && chown nobody:nobody /etc/mobilizon
 
 USER nobody