Remove oembed for now, will submit it in another MR. Fix warnings
[akkoma] / config / config.md
1 # Configuration
2
3 This file describe the configuration, it is recommended to edit the relevant *.secret.exs file instead of the others founds in the ``config`` directory.
4 If you run Pleroma with ``MIX_ENV=prod`` the file is ``prod.secret.exs``, otherwise it is ``dev.secret.exs``.
5
6 ## Pleroma.Upload
7 * `uploader`: Select which `Pleroma.Uploaders` to use
8 * `filters`: List of `Pleroma.Upload.Filter` to use.
9 * `base_url`: The base URL to access a user-uploaded file. Useful when you want to proxy the media files via another host.
10 * `proxy_remote`: If you're using a remote uploader, Pleroma will proxy media requests instead of redirecting to it.
11 * `proxy_opts`: Proxy options, see `Pleroma.ReverseProxy` documentation.
12
13 Note: `strip_exif` has been replaced by `Pleroma.Upload.Filter.Mogrify`.
14
15 ## Pleroma.Uploaders.Local
16 * `uploads`: Which directory to store the user-uploads in, relative to pleroma’s working directory
17
18 ## Pleroma.Upload.Filter.Mogrify
19
20 * `args`: List of actions for the `mogrify` command like `"strip"` or `["strip", {"impode", "1"}]`.
21
22 ## Pleroma.Upload.Filter.Dedupe
23
24 No specific configuration.
25
26 ## Pleroma.Upload.Filter.AnonymizeFilename
27
28 This filter replaces the filename (not the path) of an upload. For complete obfuscation, add
29 `Pleroma.Upload.Filter.Dedupe` before AnonymizeFilename.
30
31 * `text`: Text to replace filenames in links. If empty, `{random}.extension` will be used.
32
33 ## :uri_schemes
34 * `valid_schemes`: List of the scheme part that is considered valid to be an URL
35
36 ## :instance
37 * `name`: The instance’s name
38 * `email`: Email used to reach an Administrator/Moderator of the instance
39 * `description`: The instance’s description, can be seen in nodeinfo and ``/api/v1/instance``
40 * `limit`: Posts character limit (CW/Subject included in the counter)
41 * `upload_limit`: File size limit of uploads (except for avatar, background, banner)
42 * `avatar_upload_limit`: File size limit of user’s profile avatars
43 * `background_upload_limit`: File size limit of user’s profile backgrounds
44 * `banner_upload_limit`: File size limit of user’s profile banners
45 * `registrations_open`: Enable registrations for anyone, invitations can be used when false.
46 * `federating`: Enable federation with other instances
47 * `allow_relay`: Enable Pleroma’s Relay, which makes it possible to follow a whole instance
48 * `rewrite_policy`: Message Rewrite Policy, either one or a list. Here are the ones available by default:
49 * `Pleroma.Web.ActivityPub.MRF.NoOpPolicy`: Doesn’t modify activities (default)
50 * `Pleroma.Web.ActivityPub.MRF.DropPolicy`: Drops all activities. It generally doesn’t makes sense to use in production
51 * `Pleroma.Web.ActivityPub.MRF.SimplePolicy`: Restrict the visibility of activities from certains instances (See ``:mrf_simple`` section)
52 * `Pleroma.Web.ActivityPub.MRF.RejectNonPublic`: Drops posts with non-public visibility settings (See ``:mrf_rejectnonpublic`` section)
53 * `Pleroma.Web.ActivityPub.MRF.EnsureRePrepended`: Rewrites posts to ensure that replies to posts with subjects do not have an identical subject and instead begin with re:.
54 * `public`: Makes the client API in authentificated mode-only except for user-profiles. Useful for disabling the Local Timeline and The Whole Known Network.
55 * `quarantined_instances`: List of ActivityPub instances where private(DMs, followers-only) activities will not be send.
56 * `managed_config`: Whenether the config for pleroma-fe is configured in this config or in ``static/config.json``
57 * `allowed_post_formats`: MIME-type list of formats allowed to be posted (transformed into HTML)
58 * `finmoji_enabled`: Whenether to enable the finmojis in the custom emojis.
59 * `mrf_transparency`: Make the content of your Message Rewrite Facility settings public (via nodeinfo).
60 * `scope_copy`: Copy the scope (private/unlisted/public) in replies to posts by default.
61 * `subject_line_behavior`: Allows changing the default behaviour of subject lines in replies. Valid values:
62 * "email": Copy and preprend re:, as in email.
63 * "masto": Copy verbatim, as in Mastodon.
64 * "noop": Don't copy the subject.
65 * `always_show_subject_input`: When set to false, auto-hide the subject field when it's empty.
66 * `extended_nickname_format`: Set to `true` to use extended local nicknames format (allows underscores/dashes). This will break federation with
67 older software for theses nicknames.
68
69 ## :fe
70 This section is used to configure Pleroma-FE, unless ``:managed_config`` in ``:instance`` is set to false.
71
72 * `theme`: Which theme to use, they are defined in ``styles.json``
73 * `logo`: URL of the logo, defaults to Pleroma’s logo
74 * `logo_mask`: Whenether to mask the logo
75 * `logo_margin`: What margin to use around the logo
76 * `background`: URL of the background, unless viewing a user profile with a background that is set
77 * `redirect_root_no_login`: relative URL which indicates where to redirect when a user isn’t logged in.
78 * `redirect_root_login`: relative URL which indicates where to redirect when a user is logged in.
79 * `show_instance_panel`: Whenether to show the instance’s specific panel.
80 * `scope_options_enabled`: Enable setting an notice visibility and subject/CW when posting
81 * `formatting_options_enabled`: Enable setting a formatting different than plain-text (ie. HTML, Markdown) when posting, relates to ``:instance, allowed_post_formats``
82 * `collapse_message_with_subjects`: When a message has a subject(aka Content Warning), collapse it by default
83 * `hide_post_stats`: Hide notices statistics(repeats, favorites, …)
84 * `hide_user_stats`: Hide profile statistics(posts, posts per day, followers, followings, …)
85
86 ## :mrf_simple
87 * `media_removal`: List of instances to remove medias from
88 * `media_nsfw`: List of instances to put medias as NSFW(sensitive) from
89 * `federated_timeline_removal`: List of instances to remove from Federated (aka The Whole Known Network) Timeline
90 * `reject`: List of instances to reject any activities from
91 * `accept`: List of instances to accept any activities from
92
93 ## :mrf_rejectnonpublic
94 * `allow_followersonly`: whether to allow followers-only posts
95 * `allow_direct`: whether to allow direct messages
96
97 ## :media_proxy
98 * `enabled`: Enables proxying of remote media to the instance’s proxy
99 * `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.
100 * `proxy_opts`: All options defined in `Pleroma.ReverseProxy` documentation, defaults to `[max_body_length: (25*1_048_576)]`.
101
102 ## :gopher
103 * `enabled`: Enables the gopher interface
104 * `ip`: IP address to bind to
105 * `port`: Port to bind to
106
107 ## :activitypub
108 * ``accept_blocks``: Whether to accept incoming block activities from other instances
109 * ``unfollow_blocked``: Whether blocks result in people getting unfollowed
110 * ``outgoing_blocks``: Whether to federate blocks to other instances
111 * ``deny_follow_blocked``: Whether to disallow following an account that has blocked the user in question
112
113 ## :http_security
114 * ``enabled``: Whether the managed content security policy is enabled
115 * ``sts``: Whether to additionally send a `Strict-Transport-Security` header
116 * ``sts_max_age``: The maximum age for the `Strict-Transport-Security` header if sent
117 * ``ct_max_age``: The maximum age for the `Expect-CT` header if sent
118 * ``referrer_policy``: The referrer policy to use, either `"same-origin"` or `"no-referrer"`.
119
120 ## :mrf_user_allowlist
121
122 The keys in this section are the domain names that the policy should apply to.
123 Each key should be assigned a list of users that should be allowed through by
124 their ActivityPub ID.
125
126 An example:
127
128 ```
129 config :pleroma, :mrf_user_allowlist,
130 "example.org": ["https://example.org/users/admin"]
131 ```