From f28109ad50d85143e38c8e9f5d09c28f80566462 Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Tue, 5 Sep 2023 20:04:26 +0200 Subject: [PATCH] fix(sitemap): save generated sitemaps in configurable directory Previously in priv/static, now by default in production in /var/lib/mobilizon/sitemap and configurable through the $MOBILIZON_SITEMAP_PATH ENV variable Closes #1321 Signed-off-by: Thomas Citharel --- config/config.exs | 3 +++ config/dev.exs | 3 +++ config/test.exs | 3 +++ lib/service/site_map.ex | 2 +- 4 files changed, 10 insertions(+), 1 deletion(-) diff --git a/config/config.exs b/config/config.exs index 8cb7c203a..62899a68b 100644 --- a/config/config.exs +++ b/config/config.exs @@ -392,6 +392,9 @@ config :mobilizon, Mobilizon.Service.GlobalSearch.SearchMobilizon, config :mobilizon, Mobilizon.Service.AntiSpam, service: Mobilizon.Service.AntiSpam.Akismet +config :mobilizon, Mobilizon.Service.SiteMap, + path: System.get_env("MOBILIZON_SITEMAP_PATH", "/var/lib/mobilizon/sitemap") + # Import environment specific config. This must remain at the bottom # of this file so it overrides the configuration defined above. import_config "#{config_env()}.exs" diff --git a/config/dev.exs b/config/dev.exs index 71ecab2a7..ebecdb839 100644 --- a/config/dev.exs +++ b/config/dev.exs @@ -92,6 +92,9 @@ config :mobilizon, Mobilizon.Web.Upload.Uploader.Local, uploads: "uploads" config :mobilizon, :exports, path: "uploads/exports" +config :mobilizon, Mobilizon.Service.SiteMap, + path: System.get_env("MOBILIZON_SITEMAP_PATH", "priv/static") + config :tz_world, data_dir: "_build/dev/lib/tz_world/priv" config :mobilizon, :anonymous, diff --git a/config/test.exs b/config/test.exs index 38a71c467..525fe37df 100644 --- a/config/test.exs +++ b/config/test.exs @@ -62,6 +62,9 @@ config :mobilizon, Mobilizon.Web.Upload.Uploader.Local, uploads: "test/uploads" config :mobilizon, :exports, path: "test/uploads/exports" +config :mobilizon, Mobilizon.Service.SiteMap, + path: System.get_env("MOBILIZON_SITEMAP_PATH", "test/sitemap") + config :tz_world, data_dir: "_build/test/lib/tz_world/priv" config :tesla, Mobilizon.Service.HTTP.ActivityPub, diff --git a/lib/service/site_map.ex b/lib/service/site_map.ex index 389b9f4a9..9db246442 100644 --- a/lib/service/site_map.ex +++ b/lib/service/site_map.ex @@ -24,7 +24,7 @@ defmodule Mobilizon.Service.SiteMap do config = [ store: Sitemapper.FileStore, - store_config: [path: Application.app_dir(:mobilizon, "priv/static")], + store_config: [path: Application.get_env(:mobilizon, __MODULE__) |> get_in([:path])], sitemap_url: Endpoint.url(), gzip: false ]