4
0

config.default.php 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237
  1. <?php
  2. # Do not modify this file, which defines default values,
  3. # but instead edit `./data/config.php` after the install process is completed,
  4. # or edit `./data/config.custom.php` before the install process.
  5. return [
  6. # Set to `development` to get additional error messages,
  7. # or to `production` to get only the most important messages.
  8. 'environment' => 'production',
  9. # Used to make crypto more unique. Generated during install.
  10. 'salt' => '',
  11. # Specify address of the FreshRSS instance,
  12. # used when building absolute URLs, e.g. for WebSub.
  13. # Examples:
  14. # https://example.net/FreshRSS/p/
  15. # https://freshrss.example.net/
  16. 'base_url' => '',
  17. # Specify address of the FreshRSS auto-update server.
  18. 'auto_update_url' => 'https://update.freshrss.org',
  19. # Natural language of the user interface, e.g. `en`, `fr`.
  20. 'language' => 'en',
  21. # Title of this FreshRSS instance in the Web user interface.
  22. 'title' => 'FreshRSS',
  23. # Meta description used when `allow_robots` is true.
  24. 'meta_description' => '',
  25. # Override logo of this FreshRSS instance in the Web user interface.
  26. # It is rendered inside an <a>...</a> element and must be valid HTML or text.
  27. # Example: '<img class="logo" src="https://example.net/Hello.png" alt="Logo Example" /> Hello'
  28. 'logo_html' => '',
  29. # Name of the default user. Also used as the public user for anonymous reading.
  30. 'default_user' => '_',
  31. # Force users to validate their email address. If `true`, an email with a
  32. # validation URL is sent during registration, and users cannot access their
  33. # feed if they didn’t access this URL.
  34. 'force_email_validation' => false,
  35. # Allow or not visitors without login to see the articles
  36. # of the default user.
  37. 'allow_anonymous' => false,
  38. # Allow or not anonymous users to start the refresh process.
  39. 'allow_anonymous_refresh' => false,
  40. # Login method:
  41. # `none` is without password and shows only the default user;
  42. # `form` is a conventional Web login form;
  43. # `http_auth` is an access controlled by the HTTP Web server (e.g. `/FreshRSS/p/i/.htaccess` for Apache)
  44. # if you use `http_auth`, remember to protect only `/FreshRSS/p/i/`,
  45. # and in particular not protect `/FreshRSS/p/api/` if you would like to use the API (different login system).
  46. 'auth_type' => 'form',
  47. # Whether reauthentication is required for performing sensitive actions e.g. promoting a user or applying an update
  48. 'reauth_required' => true,
  49. # Time before asking for reauth
  50. # Default: 1200s (20 min)
  51. 'reauth_time' => 1200,
  52. # When using http_auth, automatically register any unknown user
  53. 'http_auth_auto_register' => true,
  54. # Optionally, you can specify the $_SERVER key containing the email address used when registering
  55. # the user (e.g. REMOTE_USER_EMAIL).
  56. 'http_auth_auto_register_email_field' => '',
  57. # Allow or not the use of the API, used for mobile apps.
  58. # End-point is https://freshrss.example.net/api/greader.php
  59. # You need to set the user’s API password.
  60. 'api_enabled' => false,
  61. # Allow or not the use of an unsafe login,
  62. # by providing username and password in the login URL:
  63. # https://example.net/FreshRSS/p/i/?c=auth&a=login&u=alice&p=1234
  64. 'unsafe_autologin_enabled' => false,
  65. # By default, FreshRSS will display a warning to logged-in admin users if the CSP policy is insecure.
  66. # This setting can disable the warning.
  67. # For more information see: https://freshrss.github.io/FreshRSS/en/admins/10_ServerConfig.html#security
  68. 'suppress_csp_warning' => false,
  69. # Content-Security-Policy frame-ancestors
  70. 'csp.frame-ancestors' => "'none'",
  71. # Enable or not the use of syslog to log the activity of
  72. # SimplePie, which is retrieving RSS feeds via HTTP requests.
  73. 'simplepie_syslog_enabled' => true,
  74. # Enable or not support of PubSubHubbub.
  75. # /!\ It should NOT be enabled if base_url is not reachable by an external server.
  76. 'pubsubhubbub_enabled' => false,
  77. # Allow or not Web robots (e.g. search engines) in HTML headers.
  78. 'allow_robots' => false,
  79. # If true does nothing, if false restricts HTTP Referer via: meta referrer origin
  80. 'allow_referrer' => false,
  81. # Number of feeds to refresh in parallel from the Web user interface.
  82. # Faster with higher values. Reduce for server with little memory or database issues.
  83. 'nb_parallel_refresh' => 10,
  84. 'limits' => [
  85. # Duration in seconds of the login cookie.
  86. 'cookie_duration' => FreshRSS_Auth::DEFAULT_COOKIE_DURATION,
  87. # Duration in seconds of the SimplePie cache, during which a query to the RSS feed will return the local cached version.
  88. # Especially important for multi-user setups.
  89. # Might be overridden by HTTP response headers.
  90. 'cache_duration' => 800,
  91. # Minimal cache duration (in seconds), overriding HTTP response headers `Cache-Control` and `Expires`.
  92. 'cache_duration_min' => 60,
  93. # Maximal cache duration (in seconds), overriding HTTP response headers `Cache-Control` and `Expires`.
  94. 'cache_duration_max' => 86400,
  95. # Default rate limit duration (in seconds), when HTTP response header `Retry-After` is absent.
  96. 'retry_after_default' => 1500,
  97. # Maximal rate limit duration (in seconds), overriding HTTP response header `Retry-After`.
  98. 'retry_after_max' => 172800,
  99. # SimplePie HTTP request timeout in seconds.
  100. 'timeout' => 20,
  101. # If a user has not used FreshRSS for more than x seconds,
  102. # then its feeds are not refreshed anymore.
  103. 'max_inactivity' => PHP_INT_MAX,
  104. # Max number of feeds for a user.
  105. 'max_feeds' => 131072,
  106. # Max number of categories for a user.
  107. 'max_categories' => 16384,
  108. # Max number of accounts that anonymous users can create (only for Web form login type)
  109. # 0 for an unlimited number of accounts
  110. # 1 is to not allow user registrations (1 is corresponding to the admin account)
  111. 'max_registrations' => 1,
  112. # Max amount of bytes that are allowed for upload of custom favicon
  113. 'max_favicon_upload_size' => 1048576, # 1 MiB
  114. ],
  115. # Options used by cURL when making HTTP requests, e.g. when the SimplePie library retrieves feeds.
  116. # https://php.net/manual/function.curl-setopt
  117. 'curl_options' => [
  118. # Options to disable SSL/TLS certificate check (e.g. for self-signed HTTPS)
  119. //CURLOPT_SSL_VERIFYHOST => 0,
  120. //CURLOPT_SSL_VERIFYPEER => false,
  121. # Options to use a proxy for retrieving feeds.
  122. //CURLOPT_PROXYTYPE => CURLPROXY_HTTP,
  123. //CURLOPT_PROXY => '127.0.0.1',
  124. //CURLOPT_PROXYPORT => 8080,
  125. //CURLOPT_PROXYAUTH => CURLAUTH_BASIC,
  126. //CURLOPT_PROXYUSERPWD => 'user:password',
  127. ],
  128. 'db' => [
  129. # Type of database: `sqlite` or `mysql` or 'pgsql'
  130. 'type' => 'sqlite',
  131. # Database server
  132. 'host' => 'localhost',
  133. # Database user
  134. 'user' => '',
  135. # Database password
  136. 'password' => '',
  137. # Database name
  138. 'base' => '',
  139. # Tables prefix (useful if you use the same database for multiple things)
  140. 'prefix' => 'freshrss_',
  141. # Additional connection string parameters, such as PostgreSQL 'sslmode=??;sslrootcert=??'
  142. # https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-PARAMKEYWORDS
  143. 'connection_uri_params' => '',
  144. # Additional PDO parameters, such as offered by MySQL https://php.net/ref.pdo-mysql
  145. 'pdo_options' => [
  146. //PDO::MYSQL_ATTR_SSL_KEY => '/path/to/client-key.pem',
  147. //PDO::MYSQL_ATTR_SSL_CERT => '/path/to/client-cert.pem',
  148. //PDO::MYSQL_ATTR_SSL_CA => '/path/to/ca-cert.pem',
  149. ],
  150. ],
  151. # Configuration to send emails.
  152. # These options are basically a mapping of the PHPMailer class attributes
  153. # from the PHPMailer library.
  154. #
  155. # See https://phpmailer.github.io/PHPMailer/classes/PHPMailer-PHPMailer-PHPMailer.html#properties
  156. 'mailer' => 'mail', // 'mail' or 'smtp'
  157. 'smtp' => [
  158. 'hostname' => '', // the domain used in the Message-ID header
  159. 'host' => 'localhost', // the SMTP server address
  160. 'port' => 25,
  161. 'auth' => false,
  162. 'auth_type' => '', // 'CRAM-MD5', 'LOGIN', 'PLAIN', 'XOAUTH2' or ''
  163. 'username' => '',
  164. 'password' => '',
  165. 'secure' => '', // '', 'ssl' or 'tls'
  166. 'from' => 'root@localhost',
  167. ],
  168. # List of enabled FreshRSS extensions.
  169. 'extensions_enabled' => [
  170. ],
  171. # Extensions configurations
  172. 'extensions' => [],
  173. # Disable self-update,
  174. 'disable_update' => false,
  175. # Trusted IPs (e.g. of last proxy) that are allowed to send unsafe HTTP headers.
  176. # The connection IP used during FreshRSS setup is automatically added to this list.
  177. # Will be checked against CONN_REMOTE_ADDR (if available, to be robust even when using Apache mod_remoteip)
  178. # or REMOTE_ADDR environment variable.
  179. # This array can be overridden by the TRUSTED_PROXY environment variable.
  180. # Read the documentation before configuring this https://freshrss.github.io/FreshRSS/en/admins/09_AccessControl.html
  181. 'trusted_sources' => [
  182. '127.0.0.0/8',
  183. '::1/128',
  184. ]
  185. ];