From 2418d9d3eea87cd76b1ccccd5c24db585247fbcc Mon Sep 17 00:00:00 2001 From: Luke Hoersten Date: Mon, 26 Oct 2026 19:25:23 -0500 Subject: pleroma/otp: invite-only by default; fix tzdata write-permission crash loop Default pleroma_signup_open to "false" and add pleroma_invites_enabled "true" as a default (there was none before, every instance had to set it explicitly). Two of three live instances were already overridden to invite-only; open registration by default is what let haskell.social get hit by spam/harassment in the first place. Point tzdata's :data_dir at a writable, per-instance directory instead of its own root-owned lib path. Without this, tzdata_release_updater crashes every few seconds trying to write its update-poll marker file under /opt/pleroma/lib, which the pleroma user can't write to. --- pleroma/otp/defaults/main.yaml | 3 ++- pleroma/otp/tasks/instance.yaml | 1 + pleroma/otp/templates/config.exs.j2 | 6 ++++++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/pleroma/otp/defaults/main.yaml b/pleroma/otp/defaults/main.yaml index ea6c3a1..7f3b8de 100644 --- a/pleroma/otp/defaults/main.yaml +++ b/pleroma/otp/defaults/main.yaml @@ -18,7 +18,8 @@ pleroma_instance_name: "{{pleroma_link_host}}" pleroma_desc: "A Pleroma fediverse instance." pleroma_admin_email: "admin@{{pleroma_link_host}}" pleroma_char_limit: 5000 -pleroma_signup_open: "true" +pleroma_signup_open: "false" +pleroma_invites_enabled: "true" pleroma_db_host: "localhost" pleroma_db_superuser: "postgres" diff --git a/pleroma/otp/tasks/instance.yaml b/pleroma/otp/tasks/instance.yaml index b69477d..a7bfdd4 100644 --- a/pleroma/otp/tasks/instance.yaml +++ b/pleroma/otp/tasks/instance.yaml @@ -24,6 +24,7 @@ - "{{pleroma_data_dir}}/{{pleroma_instance}}/static" - "{{pleroma_data_dir}}/{{pleroma_instance}}/static/static" - "{{pleroma_data_dir}}/{{pleroma_instance}}/static/static/themes" + - "{{pleroma_data_dir}}/{{pleroma_instance}}/tzdata" - name: install pleroma db schema file become: yes diff --git a/pleroma/otp/templates/config.exs.j2 b/pleroma/otp/templates/config.exs.j2 index eb1be5b..6f09ec8 100644 --- a/pleroma/otp/templates/config.exs.j2 +++ b/pleroma/otp/templates/config.exs.j2 @@ -60,6 +60,12 @@ config :pleroma, :frontend_configurations, pleroma_fe: %{theme: "{{pleroma_fe_theme}}"} {% endif %} +# /opt/pleroma/lib is root-owned, but the tzdata dep writes an update-poll +# marker file under its own priv dir at runtime; pointing it at a writable, +# per-instance dir avoids tzdata_release_updater crash-looping every few +# seconds on "could not write to .../tzdata-/priv/latest_remote_poll.txt". +config :tzdata, :data_dir, "{{pleroma_data_dir}}/{{pleroma_instance}}/tzdata" + config :logger, backends: [{ExSyslogger, :ex_syslogger}] -- cgit v1.2.3