instance.php 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. <?php
  2. return [
  3. 'force_https_urls' => env('FORCE_HTTPS_URLS', true),
  4. 'description' => env('INSTANCE_DESCRIPTION', 'Pixelfed - Photo sharing for everyone'),
  5. 'contact' => [
  6. 'enabled' => env('INSTANCE_CONTACT_FORM', false),
  7. 'max_per_day' => env('INSTANCE_CONTACT_MAX_PER_DAY', 1),
  8. ],
  9. 'discover' => [
  10. 'public' => env('INSTANCE_DISCOVER_PUBLIC', false),
  11. 'loops' => [
  12. 'enabled' => env('EXP_LOOPS', false),
  13. ],
  14. 'tags' => [
  15. 'is_public' => env('INSTANCE_PUBLIC_HASHTAGS', false)
  16. ],
  17. ],
  18. 'email' => env('INSTANCE_CONTACT_EMAIL'),
  19. 'timeline' => [
  20. 'home' => [
  21. 'cached' => env('PF_HOME_TIMELINE_CACHE', false),
  22. 'cache_ttl' => env('PF_HOME_TIMELINE_CACHE_TTL', 900)
  23. ],
  24. 'local' => [
  25. 'is_public' => env('INSTANCE_PUBLIC_LOCAL_TIMELINE', false)
  26. ],
  27. 'network' => [
  28. 'cached' => env('PF_NETWORK_TIMELINE') ? env('INSTANCE_NETWORK_TIMELINE_CACHED', true) : false,
  29. 'cache_dropoff' => env('INSTANCE_NETWORK_TIMELINE_CACHE_DROPOFF', 100),
  30. 'max_hours_old' => env('INSTANCE_NETWORK_TIMELINE_CACHE_MAX_HOUR_INGEST', 6)
  31. ]
  32. ],
  33. 'page' => [
  34. '404' => [
  35. 'header' => env('PAGE_404_HEADER', 'Sorry, this page isn\'t available.'),
  36. 'body' => env('PAGE_404_BODY', 'The link you followed may be broken, or the page may have been removed. <a href="/">Go back to Pixelfed.</a>')
  37. ],
  38. '503' => [
  39. 'header' => env('PAGE_503_HEADER', 'Service Unavailable'),
  40. 'body' => env('PAGE_503_BODY', 'Our service is in maintenance mode, please try again later.')
  41. ]
  42. ],
  43. 'username' => [
  44. 'banned' => env('BANNED_USERNAMES'),
  45. 'remote' => [
  46. 'formats' => ['@', 'from', 'custom'],
  47. 'format' => in_array(env('USERNAME_REMOTE_FORMAT', '@'), ['@','from','custom']) ? env('USERNAME_REMOTE_FORMAT', '@') : '@',
  48. 'custom' => env('USERNAME_REMOTE_CUSTOM_TEXT', null)
  49. ]
  50. ],
  51. 'polls' => [
  52. 'enabled' => false
  53. ],
  54. 'stories' => [
  55. 'enabled' => env('STORIES_ENABLED', false),
  56. ],
  57. 'restricted' => [
  58. 'enabled' => env('RESTRICTED_INSTANCE', false),
  59. 'level' => 1
  60. ],
  61. 'oauth' => [
  62. 'token_expiration' => env('OAUTH_TOKEN_DAYS', 365),
  63. 'refresh_expiration' => env('OAUTH_REFRESH_DAYS', 400),
  64. 'pat' => [
  65. 'enabled' => env('OAUTH_PAT_ENABLED', false),
  66. 'id' => env('OAUTH_PAT_ID'),
  67. ]
  68. ],
  69. 'label' => [
  70. 'covid' => [
  71. 'enabled' => env('ENABLE_COVID_LABEL', true),
  72. 'url' => env('COVID_LABEL_URL', 'https://www.who.int/emergencies/diseases/novel-coronavirus-2019/advice-for-public'),
  73. 'org' => env('COVID_LABEL_ORG', 'visit the WHO website')
  74. ]
  75. ],
  76. 'enable_cc' => env('ENABLE_CONFIG_CACHE', true),
  77. 'has_legal_notice' => env('INSTANCE_LEGAL_NOTICE', false),
  78. 'embed' => [
  79. 'profile' => env('INSTANCE_PROFILE_EMBEDS', true),
  80. 'post' => env('INSTANCE_POST_EMBEDS', true),
  81. ],
  82. 'hide_nsfw_on_public_feeds' => env('PF_HIDE_NSFW_ON_PUBLIC_FEEDS', false),
  83. 'avatar' => [
  84. 'local_to_cloud' => env('PF_LOCAL_AVATAR_TO_CLOUD', false)
  85. ],
  86. 'admin_invites' => [
  87. 'enabled' => env('PF_ADMIN_INVITES_ENABLED', true)
  88. ],
  89. 'user_filters' => [
  90. 'max_user_blocks' => env('PF_MAX_USER_BLOCKS', 50),
  91. 'max_user_mutes' => env('PF_MAX_USER_MUTES', 50),
  92. 'max_domain_blocks' => env('PF_MAX_DOMAIN_BLOCKS', 50),
  93. ],
  94. 'reports' => [
  95. 'email' => [
  96. 'enabled' => env('INSTANCE_REPORTS_EMAIL_ENABLED', false),
  97. 'to' => env('INSTANCE_REPORTS_EMAIL_ADDRESSES'),
  98. 'autospam' => env('INSTANCE_REPORTS_EMAIL_AUTOSPAM', false)
  99. ]
  100. ],
  101. 'landing' => [
  102. 'show_directory' => env('INSTANCE_LANDING_SHOW_DIRECTORY', true),
  103. 'show_explore' => env('INSTANCE_LANDING_SHOW_EXPLORE', true),
  104. ],
  105. 'banner' => [
  106. 'blurhash' => env('INSTANCE_BANNER_BLURHASH', 'UzJR]l{wHZRjM}R%XRkCH?X9xaWEjZj]kAjt')
  107. ],
  108. 'parental_controls' => [
  109. 'enabled' => env('INSTANCE_PARENTAL_CONTROLS', false),
  110. 'limits' => [
  111. 'respect_open_registration' => env('INSTANCE_PARENTAL_CONTROLS_RESPECT_OPENREG', true),
  112. 'max_children' => env('INSTANCE_PARENTAL_CONTROLS_MAX_CHILDREN', 1),
  113. 'auto_verify_email' => true,
  114. ],
  115. ]
  116. ];