config :pleroma, Pleroma.Repo,
telemetry_event: [Pleroma.Repo.Instrumenter],
+ queue_target: 20_000,
migration_lock: nil
config :pleroma, Pleroma.Captcha,
format: "$metadata[$level] $message",
metadata: [:request_id]
-config :quack,
- level: :warn,
- meta: [:all],
- webhook_url: "https://hooks.slack.com/services/YOUR-KEY-HERE"
-
config :mime, :types, %{
"application/xml" => ["xml"],
"application/xrd+xml" => ["xrd+xml"],
# Configures http settings, upstream proxy etc.
config :pleroma, :http,
+ pool_timeout: :timer.seconds(5),
+ receive_timeout: :timer.seconds(15),
proxy_url: nil,
user_agent: :default,
+ pool_size: 50,
adapter: []
config :pleroma, :instance,
- name: "Pleroma",
+ name: "Akkoma",
email: "example@example.com",
notify_email: "noreply@example.com",
description: "Akkoma: The cooler fediverse server",
avatar_upload_limit: 2_000_000,
background_upload_limit: 4_000_000,
banner_upload_limit: 4_000_000,
+ languages: ["en"],
poll_limits: %{
max_options: 20,
max_option_chars: 200,
federation_publisher_modules: [
Pleroma.Web.ActivityPub.Publisher
],
- allow_relay: true,
+ allow_relay: false,
public: true,
- quarantined_instances: [],
static_dir: "instance/static/",
allowed_post_formats: [
"text/plain",
show_reactions: true,
password_reset_token_validity: 60 * 60 * 24,
profile_directory: true,
- privileged_staff: false
+ privileged_staff: false,
+ local_bubble: [],
+ max_frontend_settings_json_chars: 100_000,
+ export_prometheus_metrics: true
config :pleroma, :welcome,
direct_message: [
sender_nickname: nil,
message: nil
],
- chat_message: [
- enabled: false,
- sender_nickname: nil,
- message: nil
- ],
email: [
enabled: false,
sender: nil,
logo: "/static/logo.svg",
logoMargin: ".1em",
logoMask: true,
- minimalScopesMode: false,
noAttachmentLinks: false,
nsfwCensorImage: "",
postContentType: "text/plain",
redirectRootLogin: "/main/friends",
- redirectRootNoLogin: "/main/all",
+ redirectRootNoLogin: "/main/public",
scopeCopy: true,
sidebarRight: false,
showFeaturesPanel: true,
showInstanceSpecificPanel: false,
subjectLineBehavior: "email",
theme: "pleroma-dark",
- webPushNotifications: false
+ webPushNotifications: false,
+ conversationDisplay: "linear"
},
masto_fe: %{
showInstanceSpecificPanel: true
accept: [],
avatar_removal: [],
banner_removal: [],
- reject_deletes: []
+ reject_deletes: [],
+ handle_threads: true
config :pleroma, :mrf_keyword,
reject: [],
accept: [],
reject: []
+config :pleroma, :mrf_inline_quote, prefix: "RE"
+
# threshold of 7 days
config :pleroma, :mrf_object_age,
threshold: 604_800,
Pleroma.Web.RichMedia.Parsers.TwitterCard,
Pleroma.Web.RichMedia.Parsers.OEmbed
],
- failure_backoff: 60_000,
+ failure_backoff: :timer.minutes(20),
ttl_setters: [Pleroma.Web.RichMedia.Parser.TTL.AwsSignedUrl]
config :pleroma, :media_proxy,
config :pleroma, :http_security,
enabled: true,
sts: false,
- sts_max_age: 31_536_000,
- ct_max_age: 2_592_000,
+ sts_max_age: 63_072_000,
referrer_policy: "same-origin"
config :cors_plug,
"~",
"about",
"activities",
- "akkoma",
"api",
"auth",
"check_password",
attachments_cleanup: 1,
new_users_digest: 1,
mute_expire: 5,
- search_indexing: 10
+ search_indexing: 10,
+ nodeinfo_fetcher: 1,
+ database_prune: 1
+ ],
+ plugins: [
+ Oban.Plugins.Pruner,
+ {Oban.Plugins.Reindexer, schedule: "@weekly"}
],
- plugins: [Oban.Plugins.Pruner],
crontab: [
{"0 0 * * 0", Pleroma.Workers.Cron.DigestEmailsWorker},
- {"0 0 * * *", Pleroma.Workers.Cron.NewUsersDigestWorker}
+ {"0 0 * * *", Pleroma.Workers.Cron.NewUsersDigestWorker},
+ {"0 3 * * *", Pleroma.Workers.Cron.PruneDatabaseWorker}
]
config :pleroma, :workers,
federator_incoming: 5,
federator_outgoing: 5,
search_indexing: 2
+ ],
+ timeout: [
+ 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),
+ database_prune: :timer.minutes(10)
]
config :pleroma, Pleroma.Formatter,
extra: true,
validate_tld: :no_scheme
+config :pleroma, :ldap,
+ enabled: System.get_env("LDAP_ENABLED") == "true",
+ host: System.get_env("LDAP_HOST") || "localhost",
+ port: String.to_integer(System.get_env("LDAP_PORT") || "389"),
+ ssl: System.get_env("LDAP_SSL") == "true",
+ sslopts: [],
+ tls: System.get_env("LDAP_TLS") == "true",
+ tlsopts: [],
+ base: System.get_env("LDAP_BASE") || "dc=example,dc=com",
+ uid: System.get_env("LDAP_UID") || "cn"
+
oauth_consumer_strategies =
"OAUTH_CONSUMER_STRATEGIES"
|> System.get_env()
config :pleroma, Pleroma.Emails.Mailer, adapter: Swoosh.Adapters.Sendmail, enabled: false
+config :swoosh,
+ api_client: Swoosh.ApiClient.Finch,
+ finch_name: MyFinch
+
config :pleroma, Pleroma.Emails.UserEmail,
logo: nil,
styling: %{
config :pleroma, Pleroma.Emails.NewUsersDigestEmail, enabled: false
-config :prometheus, Pleroma.Web.Endpoint.MetricsExporter,
- enabled: false,
- auth: false,
- ip_whitelist: [],
- path: "/api/pleroma/app_metrics",
- format: :text
-
config :pleroma, Pleroma.ScheduledActivity,
daily_user_limit: 25,
total_user_limit: 300,
config :pleroma, :frontends,
primary: %{"name" => "pleroma-fe", "ref" => "stable"},
admin: %{"name" => "admin-fe", "ref" => "stable"},
+ mastodon: %{"name" => "mastodon-fe", "ref" => "akkoma"},
swagger: %{
"name" => "swagger-ui",
"ref" => "stable",
"mastodon-fe" => %{
"name" => "mastodon-fe",
"git" => "https://akkoma.dev/AkkomaGang/masto-fe",
- "build_url" => "https://akkoma-updates.s3-website.fr-par.scw.cloud/frontend/masto-fe.zip",
+ "build_url" =>
+ "https://akkoma-updates.s3-website.fr-par.scw.cloud/frontend/${ref}/masto-fe.zip",
+ "build_dir" => "distribution",
+ "ref" => "akkoma"
+ },
+ "fedibird-fe" => %{
+ "name" => "fedibird-fe",
+ "git" => "https://akkoma.dev/AkkomaGang/fedibird-fe",
+ "build_url" =>
+ "https://akkoma-updates.s3-website.fr-par.scw.cloud/frontend/${ref}/fedibird-fe.zip",
"build_dir" => "distribution",
- "ref" => "develop"
+ "ref" => "akkoma"
},
"admin-fe" => %{
"name" => "admin-fe",
"https://akkoma-updates.s3-website.fr-par.scw.cloud/frontend/${ref}/admin-fe.zip",
"ref" => "stable"
},
- "soapbox-fe" => %{
- "name" => "soapbox-fe",
- "git" => "https://gitlab.com/soapbox-pub/soapbox-fe",
- "build_url" =>
- "https://gitlab.com/soapbox-pub/soapbox-fe/-/jobs/artifacts/${ref}/download?job=build-production",
- "ref" => "v1.0.0",
- "build_dir" => "static"
- },
# For developers - enables a swagger frontend to view the openapi spec
"swagger-ui" => %{
"name" => "swagger-ui",
config :pleroma, :mrf,
policies: [Pleroma.Web.ActivityPub.MRF.ObjectAgePolicy, Pleroma.Web.ActivityPub.MRF.TagPolicy],
transparency: true,
- transparency_exclusions: []
+ transparency_exclusions: [],
+ transparency_obfuscate_domains: []
config :ex_aws, http_client: Pleroma.HTTP.ExAws
config :web_push_encryption, http_client: Pleroma.HTTP.WebPush
-config :pleroma, :instances_favicons, enabled: false
+config :pleroma, :instances_favicons, enabled: true
+config :pleroma, :instances_nodeinfo, enabled: true
config :floki, :html_parser, Floki.HTMLParser.FastHtml
{Pleroma.Search, [max_running: 30, max_waiting: 50]}
]
+config :pleroma, Pleroma.Web.WebFinger, domain: nil, update_nickname_on_user_fetch: true
+
config :pleroma, Pleroma.Search, module: Pleroma.Search.DatabaseSearch
config :pleroma, Pleroma.Search.Meilisearch,
}
}
+config :pleroma, :translator,
+ enabled: false,
+ module: Pleroma.Akkoma.Translators.DeepL
+
+config :pleroma, :deepl,
+ # either :free or :pro
+ tier: :free,
+ api_key: ""
+
+config :pleroma, :libre_translate,
+ url: "http://127.0.0.1:5000",
+ api_key: nil
+
# Import environment specific config. This must remain at the bottom
# of this file so it overrides the configuration defined above.
import_config "#{Mix.env()}.exs"