From 77a9ff4d9f1ab259f47656390571e94edc886ce5 Mon Sep 17 00:00:00 2001 From: Kieran Date: Mon, 13 May 2024 09:27:16 -0700 Subject: [PATCH] Made tz data location user-configurable (#238) --- config/prod.exs | 2 -- config/runtime.exs | 2 ++ lib/pinchflat/release.ex | 9 ++++++--- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/config/prod.exs b/config/prod.exs index 9c42c9d..8ec9dec 100644 --- a/config/prod.exs +++ b/config/prod.exs @@ -7,8 +7,6 @@ import Config # before starting your production server. config :pinchflat, PinchflatWeb.Endpoint, cache_static_manifest: "priv/static/cache_manifest.json" -config :tzdata, :data_dir, "/etc/elixir_tzdata_data" - # Configures Swoosh API Client config :swoosh, api_client: Swoosh.ApiClient.Finch, finch_name: Pinchflat.Finch diff --git a/config/runtime.exs b/config/runtime.exs index ca409ad..6cb062f 100644 --- a/config/runtime.exs +++ b/config/runtime.exs @@ -66,6 +66,8 @@ if config_env() == :prod do expose_feed_endpoints: expose_feed_endpoints, timezone: System.get_env("TIMEZONE") || System.get_env("TZ") || "UTC" + config :tzdata, :data_dir, System.get_env("TZ_DATA_DIR", "/etc/elixir_tzdata_data") + config :pinchflat, Pinchflat.Repo, database: db_path, journal_mode: journal_mode diff --git a/lib/pinchflat/release.ex b/lib/pinchflat/release.ex index 158d5dc..4547c0a 100644 --- a/lib/pinchflat/release.ex +++ b/lib/pinchflat/release.ex @@ -26,14 +26,17 @@ defmodule Pinchflat.Release do load_app() directories = - Enum.uniq([ + [ "/config", "/downloads", Application.get_env(:pinchflat, :media_directory), Application.get_env(:pinchflat, :tmpfile_directory), Application.get_env(:pinchflat, :extras_directory), - Application.get_env(:pinchflat, :metadata_directory) - ]) + Application.get_env(:pinchflat, :metadata_directory), + Application.get_env(:tzdata, :data_dir) + ] + |> Enum.uniq() + |> Enum.filter(&(&1 != nil)) Enum.each(directories, fn dir -> Logger.info("Checking permissions for #{dir}")