11 KiB
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 whichPleroma.Uploadersto usefilters: List ofPleroma.Upload.Filterto 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, seePleroma.ReverseProxydocumentation.
Note: strip_exif has been replaced by Pleroma.Upload.Filter.Mogrify.
Pleroma.Uploaders.Local
uploads: Which directory to store the user-uploads in, relative to pleroma’s working directory
Pleroma.Upload.Filter.Mogrify
args: List of actions for themogrifycommand like"strip"or["strip", {"impode", "1"}].
Pleroma.Upload.Filter.Dedupe
No specific configuration.
Pleroma.Upload.Filter.AnonymizeFilename
This filter replaces the filename (not the path) of an upload. For complete obfuscation, add
Pleroma.Upload.Filter.Dedupe before AnonymizeFilename.
text: Text to replace filenames in links. If empty,{random}.extensionwill be used.
Pleroma.Mailer
adapter: one of the mail adapters listed in Swoosh readme, orSwoosh.Adapters.Localfor in-memory mailbox.api_key/passwordand / or other adapter-specific settings, per the above documentation.
An example for Sendgrid adapter:
config :pleroma, Pleroma.Mailer,
adapter: Swoosh.Adapters.Sendgrid,
api_key: "YOUR_API_KEY"
An example for SMTP adapter:
config :pleroma, Pleroma.Mailer,
adapter: Swoosh.Adapters.SMTP,
relay: "smtp.gmail.com",
username: "YOUR_USERNAME@gmail.com",
password: "YOUR_SMTP_PASSWORD",
port: 465,
ssl: true,
tls: :always,
auth: :always
:uri_schemes
valid_schemes: List of the scheme part that is considered valid to be an URL
:instance
name: The instance’s nameemail: Email used to reach an Administrator/Moderator of the instancedescription: The instance’s description, can be seen in nodeinfo and/api/v1/instancelimit: Posts character limit (CW/Subject included in the counter)remote_limit: Hard character limit beyond which remote posts will be dropped.upload_limit: File size limit of uploads (except for avatar, background, banner)avatar_upload_limit: File size limit of user’s profile avatarsbackground_upload_limit: File size limit of user’s profile backgroundsbanner_upload_limit: File size limit of user’s profile bannersregistrations_open: Enable registrations for anyone, invitations can be enabled when false.invites_enabled: Enable user invitations for admins (depends onregistrations_open: false).account_activation_required: Require users to confirm their emails before signing in.federating: Enable federation with other instancesallow_relay: Enable Pleroma’s Relay, which makes it possible to follow a whole instancerewrite_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 productionPleroma.Web.ActivityPub.MRF.SimplePolicy: Restrict the visibility of activities from certains instances (See:mrf_simplesection)Pleroma.Web.ActivityPub.MRF.RejectNonPublic: Drops posts with non-public visibility settings (See:mrf_rejectnonpublicsection)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:.
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 instatic/config.jsonallowed_post_formats: MIME-type list of formats allowed to be posted (transformed into HTML)finmoji_enabled: Whenether to enable the finmojis in the custom emojis.mrf_transparency: Make the content of your Message Rewrite Facility settings public (via nodeinfo).scope_copy: Copy the scope (private/unlisted/public) in replies to posts by default.subject_line_behavior: Allows changing the default behaviour of subject lines in replies. Valid values:- "email": Copy and preprend re:, as in email.
- "masto": Copy verbatim, as in Mastodon.
- "noop": Don't copy the subject.
always_show_subject_input: When set to false, auto-hide the subject field when it's empty.extended_nickname_format: Set totrueto use extended local nicknames format (allows underscores/dashes). This will break federation with older software for theses nicknames.max_pinned_statuses: The maximum number of pinned statuses.0will disable the feature.autofollowed_nicknames: Set to nicknames of (local) users that every new user should automatically follow.no_attachment_links: Set to true to disable automatically adding attachment link text to statuses
:logger
backends::consoleis used to send logs to stdout,{ExSyslogger, :ex_syslogger}to log to syslog See: logger’s documentation and ex_syslogger’s documentation
:fe
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 instyles.jsonlogo: URL of the logo, defaults to Pleroma’s logologo_mask: Whenether to mask the logologo_margin: What margin to use around the logobackground: URL of the background, unless viewing a user profile with a background that is setredirect_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 and subject/CW when postingformatting_options_enabled: Enable setting a formatting different than plain-text (ie. HTML, Markdown) when posting, relates to:instance, allowed_post_formatscollapse_message_with_subjects: When a message has a subject(aka Content Warning), collapse it by defaulthide_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 frommedia_nsfw: List of instances to put medias as NSFW(sensitive) fromfederated_timeline_removal: List of instances to remove from Federated (aka The Whole Known Network) Timelinereject: List of instances to reject any activities fromaccept: List of instances to accept any activities from
:mrf_rejectnonpublic
allow_followersonly: whether to allow followers-only postsallow_direct: whether to allow direct messages
:mrf_hellthread
threshold: Number of mentioned users after which the message gets discarded as spam
:media_proxy
enabled: Enables proxying of remote media to the instance’s proxybase_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 inPleroma.ReverseProxydocumentation, defaults to[max_body_length: (25*1_048_576)].
:gopher
enabled: Enables the gopher interfaceip: IP address to bind toport: Port to bind to
:activitypub
accept_blocks: Whether to accept incoming block activities from other instancesunfollow_blocked: Whether blocks result in people getting unfollowedoutgoing_blocks: Whether to federate blocks to other instancesdeny_follow_blocked: Whether to disallow following an account that has blocked the user in question
:http_security
enabled: Whether the managed content security policy is enabledsts: Whether to additionally send aStrict-Transport-Securityheadersts_max_age: The maximum age for theStrict-Transport-Securityheader if sentct_max_age: The maximum age for theExpect-CTheader if sentreferrer_policy: The referrer policy to use, either"same-origin"or"no-referrer".
: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"]
:web_push_encryption, :vapid_details
Web Push Notifications configuration. You can use the mix task mix web_push.gen.keypair to generate it.
subject: a mailto link for the administrative contact. It’s best if this email is not a personal email address, but rather a group email so that if a person leaves an organization, is unavailable for an extended period, or otherwise can’t respond, someone else on the list can.public_key: VAPID public keyprivate_key: VAPID private key
Pleroma.Captcha
enabled: Whether the captcha should be shown on registrationmethod: The method/service to use for captchaseconds_valid: The time in seconds for which the captcha is valid
Pleroma.Captcha.Kocaptcha
Kocaptcha is a very simple captcha service with a single API endpoint,
the source code is here: https://github.com/koto-bank/kocaptcha. The default endpoint
https://captcha.kotobank.ch is hosted by the developer.
endpoint: the kocaptcha endpoint to use
:admin_token
Allows to set a token that can be used to authenticate with the admin api without using an actual user by giving it as the 'admin_token' parameter. Example:
config :pleroma, :admin_token, "somerandomtoken"
You can then do
curl "http://localhost:4000/api/pleroma/admin/invite_token?admin_token=somerandomtoken"
Pleroma.Web.Federator
max_jobs: The maximum amount of parallel federation jobs running at the same time.
Pleroma.Web.Federator.RetryQueue
enabled: If set totrue, failed federation jobs will be retriedmax_jobs: The maximum amount of parallel federation jobs running at the same time.initial_timeout: The initial timeout in secondsmax_retries: The maximum number of times a federation job is retried
Pleroma.Web.Metadata
providers: a list of metadata providers to enable. Providers availible:- Pleroma.Web.Metadata.Providers.OpenGraph
- Pleroma.Web.Metadata.Providers.TwitterCard
unfurl_nsfw: If set totruensfw attachments will be shown in previews