"Pleroma"
]
},
+ %{
+ key: :languages,
+ type: {:list, :string},
+ description: "Languages the instance uses",
+ suggestions: [
+ "en",
+ "ja",
+ "fr"
+ ]
+ },
%{
key: :email,
label: "Admin Email Address",
key_placeholder: "instance",
value_placeholder: "reason",
description:
- "List of ActivityPub instances where private (DMs, followers-only) activities will not be sent and the reason for doing so",
+ "(Deprecated, will be removed in next release) List of ActivityPub instances where activities will not be sent, and the reason for doing so",
suggestions: [
{"quarantined.com", "Reason"},
{"*.quarantined.com", "Reason"}
key: :privileged_staff,
type: :boolean,
description:
- "Let moderators access sensitive data (e.g. updating user credentials, get password reset token, delete users, index and read private statuses and chats)"
+ "Let moderators access sensitive data (e.g. updating user credentials, get password reset token, delete users, index and read private statuses)"
+ },
+ %{
+ key: :local_bubble,
+ type: {:list, :string},
+ description:
+ "List of instances that make up your local bubble (closely-related instances). Used to populate the 'bubble' timeline (domain only)."
}
]
},
}
]
},
- %{
- key: :chat_message,
- type: :keyword,
- descpiption: "Chat message settings",
- children: [
- %{
- key: :enabled,
- type: :boolean,
- description: "Enables sending a chat message to newly registered users"
- },
- %{
- key: :message,
- type: :string,
- description:
- "A message that will be sent to newly registered users as a chat message",
- suggestions: [
- "Hello, welcome on board!"
- ]
- },
- %{
- key: :sender_nickname,
- type: :string,
- description: "The nickname of the local user that sends a welcome chat message",
- suggestions: [
- "lain"
- ]
- }
- ]
- },
%{
key: :email,
type: :keyword,
hideFilteredStatuses: false,
hideMutedPosts: false,
hidePostStats: false,
- hideSitename: false,
hideUserStats: false,
loginMethod: "password",
logo: "/static/logo.svg",
type: :boolean,
description: "Hide notices statistics (repeats, favorites, ...)"
},
- %{
- key: :hideSitename,
- label: "Hide Sitename",
- type: :boolean,
- description: "Hides instance name from PleromaFE banner"
- },
%{
key: :hideUserStats,
label: "Hide user stats",
type: :string,
description: "Which theme to use. Available themes are defined in styles.json",
suggestions: ["pleroma-dark"]
+ },
+ %{
+ key: :showPanelNavShortcuts,
+ label: "Show timeline panel nav shortcuts",
+ type: :boolean,
+ description: "Whether to put timeline nav tabs on the top of the panel"
+ },
+ %{
+ key: :showNavShortcuts,
+ label: "Show navbar shortcuts",
+ type: :boolean,
+ description: "Whether to put extra navigation options on the navbar"
+ },
+ %{
+ key: :showWiderShortcuts,
+ label: "Increase navbar shortcut spacing",
+ type: :boolean,
+ description: "Whether to add extra space between navbar icons"
+ },
+ %{
+ key: :hideSiteFavicon,
+ label: "Hide site favicon",
+ type: :boolean,
+ description: "Whether to hide the instance favicon from the navbar"
+ },
+ %{
+ key: :hideSiteName,
+ label: "Hide site name",
+ type: :boolean,
+ description: "Whether to hide the site name from the navbar"
+ },
+ %{
+ key: :renderMisskeyMarkdown,
+ label: "Render misskey markdown",
+ type: :boolean,
+ description: "Whether to render Misskey-flavoured markdown"
}
]
},
%{
key: :theme_color,
type: :string,
- description: "Describe the theme color of the app",
+ description: "Describe the theme color of the app - this is only used for mastodon-fe",
suggestions: ["#282c37", "mediumpurple"]
},
%{
key: :background_color,
type: :string,
- description: "Describe the background color of the app",
+ description:
+ "Describe the background color of the app - this is only used for mastodon-fe",
suggestions: ["#191b22", "aliceblue"]
}
]
type: :boolean,
description: "Sign object fetches with HTTP signatures"
},
+ %{
+ key: :authorized_fetch_mode,
+ type: :boolean,
+ description: "Require HTTP signatures on AP fetches"
+ },
%{
key: :note_replies_output_limit,
type: :integer,
}
]
},
+ %{
+ group: :pleroma,
+ key: :ldap,
+ label: "LDAP",
+ type: :group,
+ description:
+ "Use LDAP for user authentication. When a user logs in to the Pleroma instance, the name and password" <>
+ " will be verified by trying to authenticate (bind) to a LDAP server." <>
+ " If a user exists in the LDAP directory but there is no account with the same name yet on the" <>
+ " Pleroma instance then a new Pleroma account will be created with the same name as the LDAP user name.",
+ children: [
+ %{
+ key: :enabled,
+ type: :boolean,
+ description: "Enables LDAP authentication"
+ },
+ %{
+ key: :host,
+ type: :string,
+ description: "LDAP server hostname",
+ suggestions: ["localhosts"]
+ },
+ %{
+ key: :port,
+ type: :integer,
+ description: "LDAP port, e.g. 389 or 636",
+ suggestions: [389, 636]
+ },
+ %{
+ key: :ssl,
+ label: "SSL",
+ type: :boolean,
+ description: "Enable to use SSL, usually implies the port 636"
+ },
+ %{
+ key: :sslopts,
+ label: "SSL options",
+ type: :keyword,
+ description: "Additional SSL options",
+ suggestions: [cacertfile: "path/to/file/with/PEM/cacerts", verify: :verify_peer],
+ children: [
+ %{
+ key: :cacertfile,
+ type: :string,
+ description: "Path to file with PEM encoded cacerts",
+ suggestions: ["path/to/file/with/PEM/cacerts"]
+ },
+ %{
+ key: :verify,
+ type: :atom,
+ description: "Type of cert verification",
+ suggestions: [:verify_peer]
+ }
+ ]
+ },
+ %{
+ key: :tls,
+ label: "TLS",
+ type: :boolean,
+ description: "Enable to use STARTTLS, usually implies the port 389"
+ },
+ %{
+ key: :tlsopts,
+ label: "TLS options",
+ type: :keyword,
+ description: "Additional TLS options",
+ suggestions: [cacertfile: "path/to/file/with/PEM/cacerts", verify: :verify_peer],
+ children: [
+ %{
+ key: :cacertfile,
+ type: :string,
+ description: "Path to file with PEM encoded cacerts",
+ suggestions: ["path/to/file/with/PEM/cacerts"]
+ },
+ %{
+ key: :verify,
+ type: :atom,
+ description: "Type of cert verification",
+ suggestions: [:verify_peer]
+ }
+ ]
+ },
+ %{
+ key: :base,
+ type: :string,
+ description: "LDAP base, e.g. \"dc=example,dc=com\"",
+ suggestions: ["dc=example,dc=com"]
+ },
+ %{
+ key: :uid,
+ label: "UID",
+ type: :string,
+ description:
+ "LDAP attribute name to authenticate the user, e.g. when \"cn\", the filter will be \"cn=username,base\"",
+ suggestions: ["cn"]
+ }
+ ]
+ },
%{
group: :pleroma,
key: :auth,
}
]
},
- %{
- group: :pleroma,
- key: :shout,
- type: :group,
- description: "Pleroma shout settings",
- children: [
- %{
- key: :enabled,
- type: :boolean,
- description: "Enables the backend Shoutbox chat feature."
- },
- %{
- key: :limit,
- type: :integer,
- description: "Shout message character limit.",
- suggestions: [
- 5_000
- ]
- }
- ]
- },
%{
group: :pleroma,
key: :http,
%{
key: :proxy_url,
label: "Proxy URL",
- type: [:string, :tuple],
- description: "Proxy URL",
- suggestions: ["localhost:9020", {:socks5, :localhost, 3090}]
+ type: :string,
+ description:
+ "Proxy URL - of the format http://host:port. Advise setting in .exs instead of admin-fe due to this being set at boot-time.",
+ suggestions: ["http://localhost:3128"]
},
%{
key: :user_agent,
}
]
},
- %{
- group: :prometheus,
- key: Pleroma.Web.Endpoint.MetricsExporter,
- type: :group,
- description: "Prometheus app metrics endpoint configuration",
- children: [
- %{
- key: :enabled,
- type: :boolean,
- description: "[Pleroma extension] Enables app metrics endpoint."
- },
- %{
- key: :ip_whitelist,
- label: "IP Whitelist",
- type: [{:list, :string}, {:list, :charlist}, {:list, :tuple}],
- description: "Restrict access of app metrics endpoint to the specified IP addresses."
- },
- %{
- key: :auth,
- type: [:boolean, :tuple],
- description: "Enables HTTP Basic Auth for app metrics endpoint.",
- suggestion: [false, {:basic, "myusername", "mypassword"}]
- },
- %{
- key: :path,
- type: :string,
- description: "App metrics endpoint URI path.",
- suggestions: ["/api/pleroma/app_metrics"]
- },
- %{
- key: :format,
- type: :atom,
- description: "App metrics endpoint output format.",
- suggestions: [:text, :protobuf]
- }
- ]
- },
%{
group: :pleroma,
key: ConcurrentLimiter,
group: :pleroma,
key: Pleroma.Search,
type: :group,
+ label: "Search",
description: "General search settings.",
children: [
%{
key: :module,
- type: :keyword,
+ type: :module,
description: "Selected search module.",
- suggestion: [Pleroma.Search.DatabaseSearch, Pleroma.Search.Meilisearch]
+ suggestions: {:list_behaviour_implementations, Pleroma.Search.SearchBackend}
}
]
},
},
%{
key: :initial_indexing_chunk_size,
- type: :int,
+ type: :integer,
description:
"Amount of posts in a batch when running the initial indexing operation. Should probably not be more than 100000" <>
" since there's a limit on maximum insert size",
%{
group: :pleroma,
key: Pleroma.Search.Elasticsearch.Cluster,
+ label: "Elasticsearch",
type: :group,
description: "Elasticsearch settings.",
children: [
},
%{
key: :bulk_page_size,
- type: :int,
+ type: :integer,
description: "Size for bulk put requests, mostly used on building the index",
suggestion: [5000]
},
%{
key: :bulk_wait_interval,
- type: :int,
+ type: :integer,
description: "Time to wait between bulk put requests (in ms)",
suggestion: [15_000]
}
]
}
]
+ },
+ %{
+ group: :pleroma,
+ key: :translator,
+ type: :group,
+ description: "Translation Settings",
+ children: [
+ %{
+ key: :enabled,
+ type: :boolean,
+ description: "Is translation enabled?",
+ suggestion: [true, false]
+ },
+ %{
+ key: :module,
+ type: :module,
+ description: "Translation module.",
+ suggestions: {:list_behaviour_implementations, Pleroma.Akkoma.Translator}
+ }
+ ]
+ },
+ %{
+ group: :pleroma,
+ key: :deepl,
+ label: "DeepL",
+ type: :group,
+ description: "DeepL Settings.",
+ children: [
+ %{
+ key: :tier,
+ type: {:dropdown, :atom},
+ description: "API Tier",
+ suggestions: [:free, :pro]
+ },
+ %{
+ key: :api_key,
+ type: :string,
+ description: "API key for DeepL",
+ suggestions: [nil]
+ }
+ ]
+ },
+ %{
+ group: :pleroma,
+ key: :libre_translate,
+ type: :group,
+ description: "LibreTranslate Settings.",
+ children: [
+ %{
+ key: :url,
+ type: :string,
+ description: "URL for libretranslate",
+ suggestion: [nil]
+ },
+ %{
+ key: :api_key,
+ type: :string,
+ description: "API key for libretranslate",
+ suggestion: [nil]
+ }
+ ]
}
]