config.exs 17 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#                                 .i;;;;i.
#                               iYcviii;vXY:
#                             .YXi       .i1c.
#                            .YC.     .    in7.
#                           .vc.   ......   ;1c.
#                           i7,   ..        .;1;
#                          i7,   .. ...      .Y1i
#                         ,7v     .6MMM@;     .YX,
#                        .7;.   ..IMMMMMM1     :t7.
#                       .;Y.     ;$MMMMMM9.     :tc.
#                       vY.   .. .nMMM@MMU.      ;1v.
#                      i7i   ...  .#MM@M@C. .....:71i
#                     it:   ....   $MMM@9;.,i;;;i,;tti
#                    :t7.  .....   0MMMWv.,iii:::,,;St.
#                   .nC.   .....   IMMMQ..,::::::,.,czX.
#                  .ct:   ....... .ZMMMI..,:::::::,,:76Y.
#                  c2:   ......,i..Y$M@t..:::::::,,..inZY
#                 vov   ......:ii..c$MBc..,,,,,,,,,,..iI9i
#                i9Y   ......iii:..7@MA,..,,,,,,,,,....;AA:
#               iIS.  ......:ii::..;@MI....,............;Ez.
#              .I9.  ......:i::::...8M1..................C0z.
#             .z9;  ......:i::::,.. .i:...................zWX.
#             vbv  ......,i::::,,.      ................. :AQY
#            c6Y.  .,...,::::,,..:t0@@QY. ................ :8bi
#           :6S. ..,,...,:::,,,..EMMMMMMI. ............... .;bZ,
#          :6o,  .,,,,..:::,,,..i#MMMMMM#v.................  YW2.
#         .n8i ..,,,,,,,::,,,,.. tMMMMM@C:.................. .1Wn
#         7Uc. .:::,,,,,::,,,,..   i1t;,..................... .UEi
#         7C...::::::::::::,,,,..        ....................  vSi.
#         ;1;...,,::::::,.........       ..................    Yz:
#          v97,.........                                     .voC.
#           izAotX7777777777777777777777777777777777777777Y7n92:
#             .;CoIIIIIUAA666666699999ZZZZZZZZZZZZZZZZZZZZ6ov.
#
#                          !!! ATTENTION !!!
# DO NOT EDIT THIS FILE! THIS FILE CONTAINS THE DEFAULT VALUES FOR THE CON-
# FIGURATION! EDIT YOUR SECRET FILE (either prod.secret.exs, dev.secret.exs).
#
lain's avatar
lain committed
39
40
41
42
43
44
45
46
# This file is responsible for configuring your application
# and its dependencies with the aid of the Mix.Config module.
#
# This configuration file is loaded before any dependency and
# is restricted to this project.
use Mix.Config

# General application configuration
lain's avatar
lain committed
47
config :pleroma, ecto_repos: [Pleroma.Repo]
lain's avatar
lain committed
48

href's avatar
href committed
49
50
config :pleroma, Pleroma.Repo,
  types: Pleroma.PostgresTypes,
lain's avatar
lain committed
51
  telemetry_event: [Pleroma.Repo.Instrumenter],
52
  migration_lock: nil
href's avatar
href committed
53

54
config :pleroma, Pleroma.Captcha,
55
  enabled: true,
56
  seconds_valid: 300,
57
  method: Pleroma.Captcha.Native
58

59
60
config :pleroma, Pleroma.Captcha.Kocaptcha, endpoint: "https://captcha.kotobank.ch"

href's avatar
href committed
61
# Upload configuration
gled's avatar
gled committed
62
config :pleroma, Pleroma.Upload,
Thurloat's avatar
Thurloat committed
63
  uploader: Pleroma.Uploaders.Local,
rinpatch's avatar
rinpatch committed
64
  filters: [Pleroma.Upload.Filter.Dedupe],
rinpatch's avatar
rinpatch committed
65
  link_name: false,
href's avatar
href committed
66
  proxy_remote: false,
href's avatar
href committed
67
68
69
70
71
72
73
74
  proxy_opts: [
    redirect_on_failure: false,
    max_body_length: 25 * 1_048_576,
    http: [
      follow_redirect: true,
      pool: :upload
    ]
  ]
href's avatar
href committed
75

href's avatar
href committed
76
config :pleroma, Pleroma.Uploaders.Local, uploads: "uploads"
77

78
79
config :pleroma, Pleroma.Uploaders.S3,
  bucket: nil,
80
  streaming_enabled: true,
href's avatar
href committed
81
  public_endpoint: "https://s3.amazonaws.com"
lain's avatar
lain committed
82

83
84
config :pleroma, :emoji,
  shortcode_globs: ["/emoji/custom/**/*.png"],
85
  pack_extensions: [".png", ".gif"],
86
  groups: [
87
    Custom: ["/emoji/*.png", "/emoji/**/*.png"]
88
  ],
vaartis's avatar
vaartis committed
89
90
  default_manifest: "https://git.pleroma.social/pleroma/emoji-index/raw/master/index.json",
  shared_pack_cache_seconds_per_file: 60
Jorty's avatar
Jorty committed
91

92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
config :pleroma, :uri_schemes,
  valid_schemes: [
    "https",
    "http",
    "dat",
    "dweb",
    "gopher",
    "ipfs",
    "ipns",
    "irc",
    "ircs",
    "magnet",
    "mailto",
    "mumble",
    "ssb",
    "xmpp"
  ]
109

lain's avatar
lain committed
110
111
112
113
114
115
116
117
118
119
120
websocket_config = [
  path: "/websocket",
  serializer: [
    {Phoenix.Socket.V1.JSONSerializer, "~> 1.0.0"},
    {Phoenix.Socket.V2.JSONSerializer, "~> 2.0.0"}
  ],
  timeout: 60_000,
  transport_log: false,
  compress: false
]

lain's avatar
lain committed
121
122
# Configures the endpoint
config :pleroma, Pleroma.Web.Endpoint,
href's avatar
href committed
123
  instrumenters: [Pleroma.Web.Endpoint.Instrumenter],
lain's avatar
lain committed
124
  url: [host: "localhost"],
href's avatar
href committed
125
  http: [
126
    ip: {127, 0, 0, 1},
href's avatar
href committed
127
128
129
    dispatch: [
      {:_,
       [
130
         {"/api/v1/streaming", Pleroma.Web.MastodonAPI.WebsocketHandler, []},
kaniini's avatar
kaniini committed
131
132
133
         {"/websocket", Phoenix.Endpoint.CowboyWebSocket,
          {Phoenix.Transports.WebSocket,
           {Pleroma.Web.Endpoint, Pleroma.Web.UserSocket, websocket_config}}},
134
         {:_, Phoenix.Endpoint.Cowboy2Handler, {Pleroma.Web.Endpoint, []}}
href's avatar
href committed
135
136
137
       ]}
    ]
  ],
lain's avatar
lain committed
138
  protocol: "https",
lain's avatar
lain committed
139
  secret_key_base: "aK4Abxf29xU9TTDKre9coZPUgevcVCFQJe/5xP/7Lt4BEif6idBIbjupVbOrbKxl",
href's avatar
href committed
140
  signing_salt: "CqaoopA2",
lain's avatar
lain committed
141
  render_errors: [view: Pleroma.Web.ErrorView, accepts: ~w(json)],
142
  pubsub: [name: Pleroma.PubSub, adapter: Phoenix.PubSub.PG2],
143
144
145
146
  secure_cookie_flag: true,
  extra_cookie_attrs: [
    "SameSite=Lax"
  ]
lain's avatar
lain committed
147
148
149

# Configures Elixir's Logger
config :logger, :console,
150
  level: :debug,
151
  format: "\n$time $metadata[$level] $message\n",
lain's avatar
lain committed
152
153
  metadata: [:request_id]

154
155
config :logger, :ex_syslogger,
  level: :debug,
156
  ident: "pleroma",
157
  format: "$metadata[$level] $message",
158
159
  metadata: [:request_id]

160
161
162
163
164
config :quack,
  level: :warn,
  meta: [:all],
  webhook_url: "https://hooks.slack.com/services/YOUR-KEY-HERE"

lain's avatar
lain committed
165
config :mime, :types, %{
166
  "application/xml" => ["xml"],
lain's avatar
lain committed
167
  "application/xrd+xml" => ["xrd+xml"],
168
  "application/jrd+json" => ["jrd+json"],
lain's avatar
lain committed
169
170
  "application/activity+json" => ["activity+json"],
  "application/ld+json" => ["activity+json"]
lain's avatar
lain committed
171
172
}

feld's avatar
feld committed
173
config :tesla, adapter: Tesla.Adapter.Gun
jeff's avatar
docs    
jeff committed
174
# Configures http settings, upstream proxy etc.
175
176
config :pleroma, :http,
  proxy_url: nil,
177
  send_user_agent: true,
178
  user_agent: :default,
Alexander Strizhakov's avatar
Alexander Strizhakov committed
179
  adapter: []
180

lain's avatar
lain committed
181
182
config :pleroma, :instance,
  name: "Pleroma",
183
  email: "example@example.com",
184
  notify_email: "noreply@example.com",
185
  description: "A Pleroma instance, an alternative fediverse server",
186
  limit: 5_000,
187
  chat_limit: 5_000,
lain's avatar
lain committed
188
  remote_limit: 100_000,
189
  upload_limit: 16_000_000,
190
191
192
  avatar_upload_limit: 2_000_000,
  background_upload_limit: 4_000_000,
  banner_upload_limit: 4_000_000,
193
194
195
196
197
198
  poll_limits: %{
    max_options: 20,
    max_option_chars: 200,
    min_expiration: 0,
    max_expiration: 365 * 24 * 60 * 60
  },
lain's avatar
lain committed
199
  registrations_open: true,
200
201
  invites_enabled: false,
  account_activation_required: false,
202
  federating: true,
203
  federation_incoming_replies_max_depth: 100,
204
  federation_reachability_timeout_days: 7,
205
  federation_publisher_modules: [
206
    Pleroma.Web.ActivityPub.Publisher
207
  ],
208
  allow_relay: true,
lain's avatar
lain committed
209
  rewrite_policy: Pleroma.Web.ActivityPub.MRF.NoOpPolicy,
210
  public: true,
211
  quarantined_instances: [],
212
  managed_config: true,
href's avatar
href committed
213
  static_dir: "instance/static/",
214
215
216
  allowed_post_formats: [
    "text/plain",
    "text/html",
kaniini's avatar
kaniini committed
217
218
    "text/markdown",
    "text/bbcode"
219
  ],
220
  mrf_transparency: true,
221
  mrf_transparency_exclusions: [],
222
  autofollowed_nicknames: [],
feld's avatar
feld committed
223
  max_pinned_statuses: 1,
224
  attachment_links: false,
lain's avatar
lain committed
225
  welcome_user_nickname: nil,
minibikini's avatar
Reports    
minibikini committed
226
  welcome_message: nil,
lain's avatar
lain committed
227
  max_report_comment_size: 1000,
228
  safe_dm_mentions: false,
229
  healthcheck: false,
Maksim's avatar
Maksim committed
230
  remote_post_retention_days: 90,
231
  skip_thread_containment: true,
232
  limit_to_local_content: :unauthenticated,
233
234
  user_bio_length: 5000,
  user_name_length: 100,
235
236
  max_account_fields: 10,
  max_remote_account_fields: 20,
237
  account_field_name_length: 512,
238
  account_field_value_length: 2048,
239
  external_user_synchronization: true,
240
241
  extended_nickname_format: true,
  cleanup_attachments: false
lain's avatar
lain committed
242

243
244
config :pleroma, :extensions, output_relationships_in_statuses_by_default: true

Maksim's avatar
Maksim committed
245
246
247
config :pleroma, :feed,
  post_title: %{
    max_length: 100,
lain's avatar
lain committed
248
    omission: "..."
Maksim's avatar
Maksim committed
249
250
  }

251
config :pleroma, :markup,
252
253
254
  # XXX - unfortunately, inline images must be enabled by default right now, because
  # of custom emoji.  Issue #275 discusses defanging that somehow.
  allow_inline_images: true,
255
256
257
  allow_headings: false,
  allow_tables: false,
  allow_fonts: false,
258
  scrub_policy: [
259
260
    Pleroma.HTML.Scrubber.Default,
    Pleroma.HTML.Transform.MediaProxy
261
  ]
262

lain's avatar
lain committed
263
264
265
266
config :pleroma, :frontend_configurations,
  pleroma_fe: %{
    theme: "pleroma-dark",
    logo: "/static/logo.png",
lain's avatar
lain committed
267
    background: "/images/city.jpg",
lain's avatar
lain committed
268
269
270
271
272
273
274
275
276
277
278
    redirectRootNoLogin: "/main/all",
    redirectRootLogin: "/main/friends",
    showInstanceSpecificPanel: true,
    scopeOptionsEnabled: false,
    formattingOptionsEnabled: false,
    collapseMessageWithSubject: false,
    hidePostStats: false,
    hideUserStats: false,
    scopeCopy: true,
    subjectLineBehavior: "email",
    alwaysShowSubjectInput: true
Haelwenn's avatar
Haelwenn committed
279
280
281
  },
  masto_fe: %{
    showInstanceSpecificPanel: true
lain's avatar
lain committed
282
283
  }

284
285
286
287
288
289
290
291
292
293
294
295
296
config :pleroma, :assets,
  mascots: [
    pleroma_fox_tan: %{
      url: "/images/pleroma-fox-tan-smol.png",
      mime_type: "image/png"
    },
    pleroma_fox_tan_shy: %{
      url: "/images/pleroma-fox-tan-shy.png",
      mime_type: "image/png"
    }
  ],
  default_mascot: :pleroma_fox_tan

KokaKiwi's avatar
KokaKiwi committed
297
298
299
300
301
302
303
304
305
306
config :pleroma, :manifest,
  icons: [
    %{
      src: "/static/logo.png",
      type: "image/png"
    }
  ],
  theme_color: "#282c37",
  background_color: "#191b22"

307
308
config :pleroma, :activitypub,
  unfollow_blocked: true,
309
  outgoing_blocks: true,
310
  follow_handshake_timeout: 500,
311
  note_replies_output_limit: 5,
312
313
  sign_object_fetches: true,
  authorized_fetch_mode: false
314

315
316
317
318
config :pleroma, :streamer,
  workers: 3,
  overflow_workers: 2

squidboi's avatar
squidboi committed
319
config :pleroma, :user, deny_follow_blocked: true
320

321
322
config :pleroma, :mrf_normalize_markup, scrub_policy: Pleroma.HTML.Scrubber.Default

323
324
325
326
config :pleroma, :mrf_rejectnonpublic,
  allow_followersonly: false,
  allow_direct: false

Karen Konou's avatar
Karen Konou committed
327
config :pleroma, :mrf_hellthread,
328
329
  delist_threshold: 10,
  reject_threshold: 20
Karen Konou's avatar
Karen Konou committed
330

331
332
333
334
config :pleroma, :mrf_simple,
  media_removal: [],
  media_nsfw: [],
  federated_timeline_removal: [],
335
  report_removal: [],
kaniini's avatar
kaniini committed
336
  reject: [],
337
338
339
  accept: [],
  avatar_removal: [],
  banner_removal: []
rinpatch's avatar
rinpatch committed
340

341
342
config :pleroma, :mrf_keyword,
  reject: [],
343
  federated_timeline_removal: [],
344
345
  replace: []

kaniini's avatar
kaniini committed
346
config :pleroma, :mrf_subchain, match_actor: %{}
kaniini's avatar
kaniini committed
347

kaniini's avatar
kaniini committed
348
349
350
351
config :pleroma, :mrf_vocabulary,
  accept: [],
  reject: []

352
353
354
355
config :pleroma, :mrf_object_age,
  threshold: 172_800,
  actions: [:delist, :strip_followers]

356
357
358
config :pleroma, :rich_media,
  enabled: true,
  ignore_hosts: [],
Alexander Strizhakov's avatar
Alexander Strizhakov committed
359
360
361
362
363
  ignore_tld: ["local", "localdomain", "lan"],
  parsers: [
    Pleroma.Web.RichMedia.Parsers.TwitterCard,
    Pleroma.Web.RichMedia.Parsers.OGP,
    Pleroma.Web.RichMedia.Parsers.OEmbed
364
365
  ],
  ttl_setters: [Pleroma.Web.RichMedia.Parser.TTL.AwsSignedUrl]
366

href's avatar
href committed
367
368
369
370
371
372
373
374
375
config :pleroma, :media_proxy,
  enabled: false,
  proxy_opts: [
    redirect_on_failure: false,
    max_body_length: 25 * 1_048_576,
    http: [
      follow_redirect: true,
      pool: :media
    ]
feld's avatar
feld committed
376
377
  ],
  whitelist: []
lain's avatar
lain committed
378
379

config :pleroma, :chat, enabled: true
380

lain's avatar
lain committed
381
config :phoenix, :format_encoders, json: Jason
lain's avatar
lain committed
382

rinpatch's avatar
rinpatch committed
383
384
config :phoenix, :json_library, Jason

385
386
config :phoenix, :filter_parameters, ["password", "confirm"]

lain's avatar
lain committed
387
388
389
390
391
config :pleroma, :gopher,
  enabled: false,
  ip: {0, 0, 0, 0},
  port: 9999

Alexander Strizhakov's avatar
Alexander Strizhakov committed
392
config :pleroma, Pleroma.Web.Metadata,
393
394
395
  providers: [
    Pleroma.Web.Metadata.Providers.OpenGraph,
    Pleroma.Web.Metadata.Providers.TwitterCard,
396
397
    Pleroma.Web.Metadata.Providers.RelMe,
    Pleroma.Web.Metadata.Providers.Feed
398
  ],
Alexander Strizhakov's avatar
Alexander Strizhakov committed
399
  unfurl_nsfw: false
400

kaniini's avatar
kaniini committed
401
config :pleroma, :http_security,
402
403
  enabled: true,
  sts: false,
404
  sts_max_age: 31_536_000,
405
406
  ct_max_age: 2_592_000,
  referrer_policy: "same-origin"
407

kaniini's avatar
kaniini committed
408
409
410
411
412
413
414
415
416
417
418
419
420
421
config :cors_plug,
  max_age: 86_400,
  methods: ["POST", "PUT", "DELETE", "GET", "PATCH", "OPTIONS"],
  expose: [
    "Link",
    "X-RateLimit-Reset",
    "X-RateLimit-Limit",
    "X-RateLimit-Remaining",
    "X-Request-Id",
    "Idempotency-Key"
  ],
  credentials: true,
  headers: ["Authorization", "Content-Type", "Idempotency-Key"]

lain's avatar
lain committed
422
423
config :pleroma, Pleroma.User,
  restricted_nicknames: [
feld's avatar
feld committed
424
    ".well-known",
lain's avatar
lain committed
425
    "~",
feld's avatar
feld committed
426
    "about",
lain's avatar
lain committed
427
428
    "activities",
    "api",
feld's avatar
feld committed
429
    "auth",
feld's avatar
feld committed
430
    "check_password",
feld's avatar
feld committed
431
432
433
434
435
436
437
    "dev",
    "friend-requests",
    "inbox",
    "internal",
    "main",
    "media",
    "nodeinfo",
lain's avatar
lain committed
438
439
    "notice",
    "oauth",
feld's avatar
feld committed
440
441
442
443
    "objects",
    "ostatus_subscribe",
    "pleroma",
    "proxy",
lain's avatar
lain committed
444
    "push",
feld's avatar
feld committed
445
    "registration",
lain's avatar
lain committed
446
    "relay",
feld's avatar
feld committed
447
448
449
450
    "settings",
    "status",
    "tag",
    "user-search",
feld's avatar
feld committed
451
    "user_exists",
feld's avatar
feld committed
452
453
    "users",
    "web"
lain's avatar
lain committed
454
455
  ]

456
457
458
config :pleroma, Oban,
  repo: Pleroma.Repo,
  verbose: false,
459
  prune: {:maxlen, 1500},
460
  queues: [
461
    activity_expiration: 10,
462
463
464
465
466
467
    federator_incoming: 50,
    federator_outgoing: 50,
    web_push: 50,
    mailer: 10,
    transmogrifier: 20,
    scheduled_activities: 10,
468
    background: 5,
469
    remote_fetcher: 2,
470
    attachments_cleanup: 5,
minibikini's avatar
minibikini committed
471
    new_users_digest: 1
472
473
  ],
  crontab: [
474
    {"0 0 * * *", Pleroma.Workers.Cron.ClearOauthTokenWorker},
475
    {"0 * * * *", Pleroma.Workers.Cron.StatsWorker},
476
    {"* * * * *", Pleroma.Workers.Cron.PurgeExpiredActivitiesWorker},
477
    {"0 0 * * 0", Pleroma.Workers.Cron.DigestEmailsWorker},
478
    {"0 0 * * *", Pleroma.Workers.Cron.NewUsersDigestWorker}
479
  ]
minibikini's avatar
minibikini committed
480

481
482
483
484
485
486
config :pleroma, :workers,
  retries: [
    federator_incoming: 5,
    federator_outgoing: 5
  ]

minibikini's avatar
minibikini committed
487
488
489
config :auto_linker,
  opts: [
    extra: true,
rinpatch's avatar
rinpatch committed
490
491
    # TODO: Set to :no_scheme when it works properly
    validate_tld: true,
minibikini's avatar
minibikini committed
492
493
494
    class: false,
    strip_prefix: false,
    new_window: false,
minibikini's avatar
minibikini committed
495
    rel: "ugc"
minibikini's avatar
minibikini committed
496
497
  ]

link0ff's avatar
link0ff committed
498
499
500
501
502
503
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: [],
link0ff's avatar
link0ff committed
504
505
  tls: System.get_env("LDAP_TLS") == "true",
  tlsopts: [],
link0ff's avatar
link0ff committed
506
507
508
  base: System.get_env("LDAP_BASE") || "dc=example,dc=com",
  uid: System.get_env("LDAP_UID") || "cn"

lain's avatar
lain committed
509
510
511
config :esshd,
  enabled: false

512
513
514
515
516
oauth_consumer_strategies =
  System.get_env("OAUTH_CONSUMER_STRATEGIES")
  |> to_string()
  |> String.split()
  |> Enum.map(&hd(String.split(&1, ":")))
517
518
519

ueberauth_providers =
  for strategy <- oauth_consumer_strategies do
520
    strategy_module_name = "Elixir.Ueberauth.Strategy.#{String.capitalize(strategy)}"
521
522
523
    strategy_module = String.to_atom(strategy_module_name)
    {String.to_atom(strategy), {strategy_module, [callback_params: ["state"]]}}
  end
524

Ivan Tashkinov's avatar
Ivan Tashkinov committed
525
526
527
config :ueberauth,
       Ueberauth,
       base_path: "/oauth",
528
529
       providers: ueberauth_providers

530
531
config :pleroma,
       :auth,
532
       enforce_oauth_admin_scope_usage: true,
533
       oauth_consumer_strategies: oauth_consumer_strategies
Ivan Tashkinov's avatar
Ivan Tashkinov committed
534

535
config :pleroma, Pleroma.Emails.Mailer, adapter: Swoosh.Adapters.Sendmail, enabled: false
536

537
538
539
540
541
542
543
544
545
546
547
config :pleroma, Pleroma.Emails.UserEmail,
  logo: nil,
  styling: %{
    link_color: "#d8a070",
    background_color: "#2C3645",
    content_background_color: "#1B2635",
    header_color: "#d8a070",
    text_color: "#b9b9ba",
    text_muted_color: "#b9b9ba"
  }

548
549
config :pleroma, Pleroma.Emails.NewUsersDigestEmail, enabled: false

550
551
config :prometheus, Pleroma.Web.Endpoint.MetricsExporter, path: "/api/pleroma/app_metrics"

552
553
554
555
556
config :pleroma, Pleroma.ScheduledActivity,
  daily_user_limit: 25,
  total_user_limit: 300,
  enabled: true

Roman Chvanikov's avatar
Roman Chvanikov committed
557
558
config :pleroma, :email_notifications,
  digest: %{
559
    active: false,
Roman Chvanikov's avatar
Roman Chvanikov committed
560
561
562
563
    interval: 7,
    inactivity_threshold: 7
  }

564
565
config :pleroma, :notifications, enable_follow_request_notifications: false

Maksim's avatar
Maksim committed
566
567
config :pleroma, :oauth2,
  token_expires_in: 600,
568
  issue_new_refresh_token: true,
569
  clean_expired_tokens: false
Maksim's avatar
Maksim committed
570

571
572
config :pleroma, :database, rum_enabled: false

573
574
config :pleroma, :env, Mix.env()

575
576
577
config :http_signatures,
  adapter: Pleroma.Signature

578
579
config :pleroma, :rate_limit,
  authentication: {60_000, 15},
580
  timeline: {500, 3},
581
582
583
584
585
586
587
588
589
  search: [{1000, 10}, {1000, 30}],
  app_account_creation: {1_800_000, 25},
  relations_actions: {10_000, 10},
  relation_id_action: {60_000, 2},
  statuses_actions: {10_000, 15},
  status_id_action: {60_000, 3},
  password_reset: {1_800_000, 5},
  account_confirmation_resend: {8_640_000, 5},
  ap_routes: {60_000, 15}
590

Mike Verdone's avatar
Mike Verdone committed
591
config :pleroma, Pleroma.ActivityExpiration, enabled: true
592

593
config :pleroma, Pleroma.Plugs.RemoteIp, enabled: true
minibikini's avatar
minibikini committed
594

595
596
config :pleroma, :static_fe, enabled: false

minibikini's avatar
minibikini committed
597
598
599
600
config :pleroma, :web_cache_ttl,
  activity_pub: nil,
  activity_pub_question: 30_000

601
602
config :pleroma, :modules, runtime_dir: "instance/modules"

603
604
config :pleroma, configurable_from_database: false

605
606
607
config :pleroma, Pleroma.Repo,
  parameters: [gin_fuzzy_search_limit: "500"],
  prepare: :unnamed
608

Alexander Strizhakov's avatar
Alexander Strizhakov committed
609
config :pleroma, :connections_pool,
610
  checkin_timeout: 250,
Alexander Strizhakov's avatar
Alexander Strizhakov committed
611
  max_connections: 250,
612
613
  retry: 1,
  retry_timeout: 1000,
Alexander Strizhakov's avatar
Alexander Strizhakov committed
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
  await_up_timeout: 5_000

config :pleroma, :pools,
  federation: [
    size: 50,
    max_overflow: 10,
    timeout: 150_000
  ],
  media: [
    size: 50,
    max_overflow: 10,
    timeout: 150_000
  ],
  upload: [
    size: 25,
    max_overflow: 5,
    timeout: 300_000
  ],
  default: [
    size: 10,
    max_overflow: 2,
    timeout: 10_000
  ]

config :pleroma, :hackney_pools,
  federation: [
    max_connections: 50,
    timeout: 150_000
  ],
  media: [
    max_connections: 50,
    timeout: 150_000
  ],
  upload: [
    max_connections: 25,
    timeout: 300_000
  ]

652
653
654
655
656
config :pleroma, :restrict_unauthenticated,
  timelines: %{local: false, federated: false},
  profiles: %{local: false, remote: false},
  activities: %{local: false, remote: false}

lain's avatar
lain committed
657
658
# Import environment specific config. This must remain at the bottom
# of this file so it overrides the configuration defined above.
lain's avatar
lain committed
659
import_config "#{Mix.env()}.exs"