Skip to content
Snippets Groups Projects
Forked from Pleroma / pleroma
13355 commits behind the upstream repository.
config.md 12.94 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 which Pleroma.Uploaders to use
  • 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.

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 the mogrify command like "strip" or ["strip", "auto-orient", {"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}.extension will be used.

Pleroma.Mailer

  • adapter: one of the mail adapters listed in Swoosh readme, or Swoosh.Adapters.Local for in-memory mailbox.
  • api_key / password and / 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 name
  • email: Email used to reach an Administrator/Moderator of the instance
  • description: The instance’s description, can be seen in nodeinfo and /api/v1/instance
  • limit: 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 avatars
  • background_upload_limit: File size limit of user’s profile backgrounds
  • banner_upload_limit: File size limit of user’s profile banners
  • registrations_open: Enable registrations for anyone, invitations can be enabled when false.
  • invites_enabled: Enable user invitations for admins (depends on registrations_open: false).
  • account_activation_required: Require users to confirm their emails before signing in.
  • federating: Enable federation with other instances
  • federation_reachability_timeout_days: Timeout (in days) of each external federation target being unreachable prior to pausing federating to it.
  • 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. 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)
    • 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 in static/config.json
  • allowed_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 to true to 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. 0 will 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

:frontend_configurations

This can be used to configure a keyword list that keeps the configuration data for any kind of frontend. By default, settings for pleroma_fe are configured.

Frontends can access these settings at /api/pleroma/frontend_configurations

To add your own configuration for PleromaFE, use it like this: