config: add default parameters for CSPPlug
[akkoma] / config / config.md
index 75cb4f683076e63c648f033553961edf6f1701bf..e08d206b65962a4d16f3caf55171b1e7cb33dfaf 100644 (file)
@@ -1,5 +1,8 @@
 # Configuration
 
+This file describe the configuration, it is recommended to edit the relevant *.secret.exs file instead of the others founds in the ``config`` directory.
+If you run Pleroma with ``MIX_ENV=prod`` the file is ``prod.secret.exs``, otherwise it is ``dev.secret.exs``.
+
 ## Pleroma.Upload
 * `uploader`: Select which `Pleroma.Uploaders` to use
 * `strip_exif`: boolean, uses ImageMagick(!) to strip exif.
 * `registerations_open`: Enable registerations for anyone, invitations can be used when false.
 * `federating`
 * `allow_relay`: Enable Pleroma’s Relay, which makes it possible to follow a whole instance
-* `rewrite_policy`: Message Rewrite Policy, either one or a list.
+* `rewrite_policy`: Message Rewrite Policy, either one or a list. Here are the ones available by default:
+  * `Pleroma.Web.ActivityPub.MRF.NoOpPolicy`: Doesn’t modify activities (default)
+  * `Pleroma.Web.ActivityPub.MRF.DropPolicy`: Drops all activities. It generally doesn’t makes sense to use in production
+  * `Pleroma.Web.ActivityPub.MRF.SimplePolicy`: Restrict the visibility of activities from certains instances (See ``:mrf_simple`` section)
+  * `Pleroma.Web.ActivityPub.MRF.RejectNonPublic`: Drops posts with non-public visibility settings (See ``:mrf_rejectnonpublic`` section)
 * `public`: Makes the client API in authentificated mode-only except for user-profiles. Useful for disabling the Local Timeline and The Whole Known Network.
 * `quarantined_instances`: List of ActivityPub instances where private(DMs, followers-only) activities will not be send.
 * `managed_config`: Whenether the config for pleroma-fe is configured in this config or in ``static/config.json``
@@ -42,7 +49,7 @@ This section is used to configure Pleroma-FE, unless ``:managed_config`` in ``:i
 * `redirect_root_no_login`: relative URL which indicates where to redirect when a user isn’t logged in.
 * `redirect_root_login`: relative URL which indicates where to redirect when a user is logged in.
 * `show_instance_panel`: Whenether to show the instance’s specific panel.
-* `scope_options_enabled`: Enable setting an notice visibility when posting
+* `scope_options_enabled`: Enable setting an notice visibility and subject/CW when posting
 * `formatting_options_enabled`: Enable setting a formatting different than plain-text (ie. HTML, Markdown) when posting, relates to ``:instance, allowed_post_formats``
 * `collapse_message_with_subjects`: When a message has a subject(aka Content Warning), collapse it by default
 * `hide_post_stats`: Hide notices statistics(repeats, favorites, …)
@@ -55,6 +62,10 @@ This section is used to configure Pleroma-FE, unless ``:managed_config`` in ``:i
 * `reject`: List of instances to reject any activities from
 * `accept`: List of instances to accept any activities from
 
+## :mrf_rejectnonpublic
+* `allow_followersonly`: whether to allow followers-only posts
+* `allow_direct`: whether to allow direct messages
+
 ## :media_proxy
 * `enabled`: Enables proxying of remote media to the instance’s proxy
 * `redirect_on_failure`: Use the original URL when Media Proxy fails to get it
@@ -63,3 +74,14 @@ This section is used to configure Pleroma-FE, unless ``:managed_config`` in ``:i
 * `enabled`: Enables the gopher interface
 * `ip`: IP address to bind to
 * `port`: Port to bind to
+
+## :activitypub
+* ``accept_blocks``: Whether to accept incoming block activities from other instances
+* ``unfollow_blocked``: Whether blocks result in people getting unfollowed
+* ``outgoing_blocks``: Whether to federate blocks to other instances
+* ``deny_follow_blocked``: Whether to disallow following an account that has blocked the user in question
+
+## :csp
+* ``enabled``: Whether the managed content security policy is enabled
+* ``sts``: Whether to additionally send a `Strict-Transport-Security` header
+* ``sts_max_age``: The maximum age for the `Strict-Transport-Security` header if sent