2018-11-02 02:13:29 -07:00
# Configuration
2018-11-08 05:59:44 -08:00
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``.
2018-11-02 02:13:29 -07:00
## Pleroma.Upload
* `uploader` : Select which `Pleroma.Uploaders` to use
2018-11-30 08:44:42 -08:00
* `filters` : List of `Pleroma.Upload.Filter` to use.
* `base_url` : The base URL to access a user-uploaded file. Useful when you want to proxy the media files via another host.
* `proxy_remote` : If you're using a remote uploader, Pleroma will proxy media requests instead of redirecting to it.
* `proxy_opts` : Proxy options, see `Pleroma.ReverseProxy` documentation.
Note: `strip_exif` has been replaced by `Pleroma.Upload.Filter.Mogrify` .
2018-11-02 02:13:29 -07:00
## Pleroma.Uploaders.Local
2018-11-02 02:32:43 -07:00
* `uploads` : Which directory to store the user-uploads in, relative to pleroma’ s working directory
2018-11-30 08:44:42 -08:00
## Pleroma.Upload.Filter.Mogrify
* `args` : List of actions for the `mogrify` command like `"strip"` or `["strip", {"impode", "1"}]` .
2018-11-02 02:13:29 -07:00
2018-11-02 02:32:43 -07:00
## :uri_schemes
2018-11-02 02:13:29 -07:00
* `valid_schemes` : List of the scheme part that is considered valid to be an URL
2018-11-02 02:32:43 -07:00
## :instance
2018-11-08 05:27:21 -08:00
* `name` : The instance’ s name
2018-11-02 02:32:43 -07:00
* `email` : Email used to reach an Administrator/Moderator of the instance
2018-11-08 05:27:21 -08:00
* `description` : The instance’ s description, can be seen in nodeinfo and ``/api/v1/instance``
* `limit` : Posts character limit (CW/Subject included in the counter)
2018-11-02 02:32:43 -07:00
* `upload_limit` : File size limit of uploads (except for avatar, background, banner)
* `avatar_upload_limit` : File size limit of user’ s profile avatars
* `background_upload_limit` : File size limit of user’ s profile backgrounds
* `banner_upload_limit` : File size limit of user’ s profile backgrounds
2018-11-08 05:27:21 -08:00
* `registerations_open` : Enable registerations for anyone, invitations can be used when false.
2018-11-02 02:32:43 -07:00
* `federating`
2018-11-08 05:27:21 -08:00
* `allow_relay` : Enable Pleroma’ s Relay, which makes it possible to follow a whole instance
2018-11-08 05:59:44 -08:00
* `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)
2018-11-08 05:27:21 -08:00
* `public` : Makes the client API in authentificated mode-only except for user-profiles. Useful for disabling the Local Timeline and The Whole Known Network.
2018-11-02 02:32:43 -07:00
* `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``
* `allowed_post_formats` : MIME-type list of formats allowed to be posted (transformed into HTML)
2018-11-08 05:27:21 -08:00
* `finmoji_enabled` : Whenether to enable the finmojis in the custom emojis.
2018-11-02 02:32:43 -07:00
* `mrf_transparency` : Make the content of your Message Rewrite Facility settings public (via nodeinfo).
## :fe
2018-11-08 05:27:21 -08:00
This section is used to configure Pleroma-FE, unless ``:managed_config`` in ``:instance`` is set to false.
* `theme` : Which theme to use, they are defined in ``styles.json``
* `logo` : URL of the logo, defaults to Pleroma’ s logo
* `logo_mask` : Whenether to mask the logo
* `logo_margin` : What margin to use around the logo
* `background` : URL of the background, unless viewing a user profile with a background that is set
* `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.
2018-11-08 05:33:05 -08:00
* `scope_options_enabled` : Enable setting an notice visibility and subject/CW when posting
2018-11-02 02:32:43 -07:00
* `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, …)
* `hide_user_stats` : Hide profile statistics(posts, posts per day, followers, followings, …)
## :mrf_simple
* `media_removal` : List of instances to remove medias from
* `media_nsfw` : List of instances to put medias as NSFW(sensitive) from
* `federated_timeline_removal` : List of instances to remove from Federated (aka The Whole Known Network) Timeline
* `reject` : List of instances to reject any activities from
* `accept` : List of instances to accept any activities from
2018-11-08 05:59:44 -08:00
## :mrf_rejectnonpublic
* `allow_followersonly` : whether to allow followers-only posts
* `allow_direct` : whether to allow direct messages
2018-11-02 02:32:43 -07:00
## :media_proxy
* `enabled` : Enables proxying of remote media to the instance’ s proxy
2018-11-30 08:44:42 -08:00
* `base_url` : The base URL to access a user-uploaded file. Useful when you want to proxy the media files via another host/CDN fronts.
* `proxy_opts` : All options defined in `Pleroma.ReverseProxy` documentation, defaults to `[max_body_length: (25*1_048_576)]` .
2018-11-02 02:32:43 -07:00
## :gopher
* `enabled` : Enables the gopher interface
* `ip` : IP address to bind to
* `port` : Port to bind to
2018-11-08 05:59:44 -08:00
## :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
2018-11-10 22:37:18 -08:00
2018-11-12 07:08:02 -08:00
## :http_security
2018-11-10 22:37:18 -08:00
* ``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
2018-11-10 23:27:36 -08:00
* ``ct_max_age``: The maximum age for the `Expect-CT` header if sent
2018-11-12 07:14:46 -08:00
* ``referrer_policy``: The referrer policy to use, either `"same-origin"` or `"no-referrer"` .
2018-11-26 15:54:46 -08:00
## :mrf_user_allowlist
The keys in this section are the domain names that the policy should apply to.
Each key should be assigned a list of users that should be allowed through by
their ActivityPub ID.
An example:
```
config :pleroma, :mrf_user_allowlist,
"example.org": ["https://example.org/users/admin"]
```