quarantined_instances: [],
managed_config: true,
static_dir: "instance/static/",
- custom_modules_dir: "instance/modules/",
allowed_post_formats: [
"text/plain",
"text/html",
activity_pub: nil,
activity_pub_question: 30_000
+config :pleroma, :modules, runtime_dir: "instance/modules"
+
config :swarm, node_blacklist: [~r/myhtml_.*$/]
# Import environment specific config. This must remain at the bottom
# of this file so it overrides the configuration defined above.
config :pleroma, :instance, static_dir: "/var/lib/pleroma/static"
config :pleroma, Pleroma.Uploaders.Local, uploads: "/var/lib/pleroma/uploads"
+config :pleroma, :modules, runtime_dir: "/var/lib/pleroma/modules"
config_path = System.get_env("PLEROMA_CONFIG_PATH") || "/etc/pleroma/config.exs"
* `account_field_name_length`: An account field name maximum length (default: `512`).
* `account_field_value_length`: An account field value maximum length (default: `2048`).
* `external_user_synchronization`: Enabling following/followers counters synchronization for external users.
-* `custom_modules_dir`: A path to custom Elixir modules (such as MRF policies).
-
!!! danger
This is a Work In Progress, not usable just yet
rel: "ugc"
]
```
+
+## Custom Runtime Modules (`:modules`)
+
+* `runtime_dir`: A path to custom Elixir modules (such as MRF policies).
+
+Example:
+
+```elixir
+config :pleroma, :modules, runtime_dir: "/var/lib/pleroma/modules"
+```
end
def load_custom_modules do
- dir = Pleroma.Config.get([:instance, :custom_modules_dir])
+ dir = Pleroma.Config.get([:modules, :runtime_dir])
if dir && File.exists?(dir) do
dir