diff options
Diffstat (limited to 'Global-Config.md')
| -rw-r--r-- | Global-Config.md | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/Global-Config.md b/Global-Config.md new file mode 100644 index 0000000..9dfbe4b --- /dev/null +++ b/Global-Config.md @@ -0,0 +1,78 @@ +# Global configuration + +All settings (see `_DEFAULTS[]` for default values) are listed here: + +- https://github.com/supahgreg/tt-rss/blob/main/classes/Config.php (source code, including default values) + +It is preferred to adjust tt-rss global configuration through the environment, i.e. defined in `.env` when using docker-compose setup: + +```ini +# Copy this file to .env before building the container. +# Put any local modifications here. + +TTRSS_SESSION_COOKIE_LIFETIME=2592000 +``` + +Alternatively, you can **create** `config.php` in tt-rss root directory (copied from `config.php-dist`), using the following syntax: + +```js +putenv('TTRSS_DB_HOST=myserver'); +putenv('TTRSS_SESSION_COOKIE_LIFETIME='.(86400*30)); +``` + +- Note lack of quotes around values. +- Options should be always prefixed by `TTRSS_`. +- Don't modify `classes/config.php`. +- You don't need to put everything to `config.php`, only the options which you've changed from the defaults. + +Legacy plugin-required constants also go to `config.php`, using `define()`: + +```js +define('LEGACY_CONSTANT', 'value'); +``` + +To set computed values via `putenv()` you have to get them evaluated by PHP, this would work: + +```js +putenv('TTRSS_SESSION_COOKIE_LIFETIME='.(86400*30)); +``` + +However, these won't give you expected results: + +```js +putenv("TTRSS_SESSION_COOKIE_LIFETIME='2592000'"); +// => 0, because quoted '2592000' is an invalid number + +putenv('TTRSS_SESSION_COOKIE_LIFETIME=86400*30'); +// => 86400, right side expression is not evaluated, +// instead you're casting string literal "86400*30" to an integer +``` + +!!! notice + + All values should be precalculated when setting via `.env` because they are not evaluated by PHP and used as-is. + +## Minimal config.php for a non-Docker setup + +Should have at least these options defined: + +```php +<?php + +putenv('TTRSS_DB_HOST=patroni.example.com'); +putenv('TTRSS_DB_USER=mydbuser'); +putenv('TTRSS_DB_PASS=mydbpass'); +putenv('TTRSS_DB_PORT=5432'); +putenv('TTRSS_SELF_URL_PATH=http://example.com/tt-rss/'); # fully-qualified URL of your tt-rss install +putenv('TTRSS_PHP_EXECUTABLE=/path/to/php-cli-binary'); # normally something like /usr/bin/php +``` + +## Migrating from old-style config.php + +For any `config.php` settings you have changed from the defaults (normally this +is the `DB_` group of settings and `SELF_URL_PATH`, replace as follows, using +the rules above: + +`define('DB_PORT', 'xxx')` → `putenv('TTRSS_DB_PORT=xxx')`. + +You can safely omit any settings that were at default values. |