label: "Render misskey markdown",
type: :boolean,
description: "Whether to render Misskey-flavoured markdown"
+ },
+ %{
+ key: :stopGifs,
+ label: "Stop Gifs",
+ type: :boolean,
+ description: "Whether to pause animated images until they're hovered on"
}
]
},
federator_incoming: 5,
federator_outgoing: 5
]
+ },
+ %{
+ key: :timeout,
+ type: {:keyword, :integer},
+ description: "Timeout for jobs, per `Oban` queue, in ms",
+ suggestions: [
+ activity_expiration: :timer.seconds(5),
+ token_expiration: :timer.seconds(5),
+ filter_expiration: :timer.seconds(5),
+ backup: :timer.seconds(900),
+ federator_incoming: :timer.seconds(10),
+ federator_outgoing: :timer.seconds(10),
+ ingestion_queue: :timer.seconds(5),
+ web_push: :timer.seconds(5),
+ mailer: :timer.seconds(5),
+ transmogrifier: :timer.seconds(5),
+ scheduled_activities: :timer.seconds(5),
+ poll_notifications: :timer.seconds(5),
+ background: :timer.seconds(5),
+ remote_fetcher: :timer.seconds(10),
+ attachments_cleanup: :timer.seconds(900),
+ new_users_digest: :timer.seconds(10),
+ mute_expire: :timer.seconds(5),
+ search_indexing: :timer.seconds(5),
+ nodeinfo_fetcher: :timer.seconds(10)
+ ]
}
]
},
}
]
},
+ %{
+ group: :pleroma,
+ key: :instances_nodeinfo,
+ type: :group,
+ description: "Control favicons for instances",
+ children: [
+ %{
+ key: :enabled,
+ type: :boolean,
+ description: "Allow/disallow getting instance nodeinfo"
+ }
+ ]
+ },
%{
group: :ex_aws,
key: :s3,
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]
+ }
+ ]
}
]