From 59a721ce180aaf0d028c7281475a174267c07ab2 Mon Sep 17 00:00:00 2001 From: Frederic Guillot Date: Mon, 26 Dec 2016 18:01:46 -0500 Subject: [PATCH] Update documentation --- README.markdown | 4 +-- app/templates/help.php | 1 - docs/config.markdown | 63 +++++++++++++++++++++++++++++++----- docs/cronjob.markdown | 19 ++++++++--- docs/faq.markdown | 30 ++++++----------- docs/fever.markdown | 10 +----- docs/installation.markdown | 4 ++- docs/multiple-users.markdown | 19 ----------- docs/upgrade.markdown | 2 ++ 9 files changed, 85 insertions(+), 67 deletions(-) delete mode 100644 docs/multiple-users.markdown diff --git a/README.markdown b/README.markdown index 362c84a..cacf7b2 100644 --- a/README.markdown +++ b/README.markdown @@ -11,7 +11,6 @@ Features - Host almost anywhere - Readability (CSS optimized for readability, responsive design, compatible with mobile and tablet devices) - Easy setup => **copy and paste the source code and you are done!** -- Use a lightweight Sqlite database instead of Mysql or Postgresql - Remove Feedburner Ads and analytic trackers (1x1 pixels) - Open external links inside a new tab with a `rel="noreferrer"` attribute - Use secure HTTP headers (only external images and Youtube/Vimeo/Dailymotion videos are allowed) @@ -22,7 +21,7 @@ Features - Full article download for feeds that display only a summary - Bookmarks - Groups for categorization of feeds (like folders or tags) -- Send your favorite articles to Pinboard and Instapaper +- Send your favorite articles to Pinboard, Instapaper or Wallabag - Enclosure support (videos and podcasts) - Feed updates via a cronjob or with the user interface with one click - Keeps history of read items @@ -49,7 +48,6 @@ Documentation - [Cronjob](docs/cronjob.markdown) - [Advanced configuration](docs/config.markdown) - [Full article download](docs/full-article-download.markdown) -- [Multiple users](docs/multiple-users.markdown) - [Translations](docs/translations.markdown) - [Themes](docs/themes.markdown) - [Json-RPC API](docs/json-rpc-api.markdown) diff --git a/app/templates/help.php b/app/templates/help.php index c12a19d..77a3ffa 100644 --- a/app/templates/help.php +++ b/app/templates/help.php @@ -27,7 +27,6 @@
  • -
  • diff --git a/docs/config.markdown b/docs/config.markdown index b2655fd..9b0748c 100644 --- a/docs/config.markdown +++ b/docs/config.markdown @@ -1,4 +1,4 @@ -Configuration parameters +Configuration Parameters ======================== How do I override application variables? @@ -9,11 +9,46 @@ These parameters are defined with PHP constants. To override them, rename the file `config.default.php` to `config.php`. -Actually, the following constants can be overrided: +Database configuration +---------------------- + +By default, Miniflux uses Sqlite but Postgres is also supported. + +### Sqlite configuration + +You could change the default location of the Sqlite file by changing the default values: ```php - default value is 20 seconds (Maximum time to fetch a feed) define('HTTP_TIMEOUT', '20'); @@ -21,7 +56,7 @@ define('HTTP_TIMEOUT', '20'); define('HTTP_MAX_RESPONSE_SIZE', 2097152); // DATA_DIRECTORY => default is data (writable directory) -define('DATA_DIRECTORY', __DIR__.'/data'); +define('DATA_DIRECTORY', 'data'); // FAVICON_DIRECTORY => default is favicons (writable directory) define('FAVICON_DIRECTORY', DATA_DIRECTORY.DIRECTORY_SEPARATOR.'favicons'); @@ -29,11 +64,20 @@ define('FAVICON_DIRECTORY', DATA_DIRECTORY.DIRECTORY_SEPARATOR.'favicons'); // FAVICON_URL_PATH => default is data/favicons/ define('FAVICON_URL_PATH', 'data/favicons'); -// DB_FILENAME => default value is db.sqlite (default database filename) -define('DB_FILENAME', 'db.sqlite'); +// Database driver: "sqlite" or "postgres", default is sqlite +define('DB_DRIVER', 'sqlite'); -// ENABLE_MULTIPLE_DB => default value is true (multiple users support) -define('ENABLE_MULTIPLE_DB', true); +// Database connection parameters when Postgres is used +define('DB_HOSTNAME', 'localhost'); +define('DB_NAME', 'miniflux'); +define('DB_USERNAME', 'postgres'); +define('DB_PASSWORD', ''); + +// DB_FILENAME => database file when Sqlite is used +define('DB_FILENAME', DATA_DIRECTORY.'/db.sqlite'); + +// Enable/disable debug mode +define('DEBUG_MODE', false); // DEBUG_FILENAME => default is data/debug.log define('DEBUG_FILENAME', DATA_DIRECTORY.'/debug.log'); @@ -59,4 +103,7 @@ define('PROXY_PASSWORD', ''); // SUBSCRIPTION_CONCURRENT_REQUESTS => number of concurrent feeds to refresh at once // Reduce this number on systems with limited processing power define('SUBSCRIPTION_CONCURRENT_REQUESTS', 5); + +// Allow the cronjob to be accessible from the browser +define('ENABLE_CRONJOB_HTTP_ACCESS', true); ``` \ No newline at end of file diff --git a/docs/cronjob.markdown b/docs/cronjob.markdown index 5440e47..e4e2d54 100644 --- a/docs/cronjob.markdown +++ b/docs/cronjob.markdown @@ -1,14 +1,16 @@ -Cronjob -======= +Background Job (cronjob) +======================== The cronjob is a background task to update your feeds automatically. +Command line usage +------------------ + Technically, you just need to be inside the directory `miniflux` and run the script `cronjob.php`. Parameters | Type | Value --------------------|--------------------------------|----------------------------- ---database | optional | Database filename, default is db.sqlite (ex: db2.sqlite) --limit | optional | number of feeds --call-interval | optional, excluded by --limit, require --update-interval | time in minutes < update interval time --update-interval | optional, excluded by --limit, require --call-interval | time in minutes >= call interval time @@ -29,6 +31,13 @@ crontab -e * */4 * * * cd /path/to/miniflux && php cronjob.php --call-interval=4 --update-interval=60 >/dev/null 2>&1 ``` -Note: cronjob.php can also be called from the web, in this case specify the options as GET variables. +Web usage +--------- -Example: +The cronjob script can also be called from the web, in this case specify the options as GET variables. + +Example: + +- The cronjob URL is visible on the page **preferences > about**. +- The access is protected by a private token. +- You can disable the web cronjob by changing the config parameter `ENABLE_CRONJOB_HTTP_ACCESS` to `false`. diff --git a/docs/faq.markdown b/docs/faq.markdown index 3615da8..03eb284 100644 --- a/docs/faq.markdown +++ b/docs/faq.markdown @@ -1,6 +1,11 @@ Frequently Asked Questions ========================== +Does Miniflux supports other databases than Sqlite? +--------------------------------------------------- + +Yes, Sqlite and Postgres are supported since the version 1.2.0. + How does Miniflux update my feeds from the user interface? ---------------------------------------------------------- @@ -10,7 +15,7 @@ By default, there is only 5 feeds updated in parallel. I have 600 subscriptions, can Miniflux handle that? --------------------------------------------------- -Probably, but your life is cluttered. +Probably, but your life is too cluttered. Why is feature X missing? ------------------------- @@ -20,7 +25,7 @@ Miniflux is a minimalist software. _Less is more_. I found a bug, what next? ------------------------- -Report the bug to the [issues tracker](https://github.com/miniflux/miniflux/issues) and I will fix it. +Report the bug to the [issues tracker](https://github.com/miniflux/miniflux/issues). You can report feeds that doesn't works properly too. @@ -29,27 +34,10 @@ What browser is compatible with Miniflux? Miniflux is tested with the latest versions of Mozilla Firefox, Google Chrome and Safari. -Miniflux is also tested on mobile devices Android (Moto G) and Ipad Mini (Retina). - -How to setup Miniflux on OVH shared-hosting? --------------------------------------------- - -OVH shared web-hosting can use different PHP versions. -To have Miniflux working properly you have to use a custom `.htaccess`, for example: - -``` -SetEnv PHP_VER 5_4 -SetEnv ZEND_OPTIMIZER 1 -SetEnv MAGIC_QUOTES 0 - - - RewriteEngine on - RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization},L] - -``` I want to send bookmarks to Pinboard. How do I find my Pinboard API token? -------------------------------------------------------------------------- + You can find your API token by going to [https://api.pinboard.in/v1/user/api_token/](https://api.pinboard.in/v1/user/api_token/). -Miniflux requires you to add your Pinboard username before this, followed by a colon (eg. bobsmith:12FC235692DF53DD1). +The Pinboard token should be formatted like that: `bobsmith:12FC235692DF53DD1`. diff --git a/docs/fever.markdown b/docs/fever.markdown index 22a6aaf..bc00ab9 100644 --- a/docs/fever.markdown +++ b/docs/fever.markdown @@ -2,7 +2,7 @@ Fever API ========= Miniflux support the [Fever API](http://feedafever.com/api). -That means you can use mobile applications compatible with Fever. +That means you can use any mobile applications that is compatible with Fever. This feature has been tested with the following apps: @@ -11,7 +11,6 @@ This feature has been tested with the following apps: - [Reeder 3](http://reederapp.com/) (OS X) - [ReadKit](http://readkitapp.com/) (OS X) - Configuration ------------- @@ -22,13 +21,6 @@ All information are available from the page **preferences > api**. - Username: Your username - Password: random (visible on the settings page) -Multiple databases/users ------------------------- - -Multiple databases can be used with the Fever API if you have Apache and `mod_rewrite` enabled. - -The Fever URL becomes `http://your_miniflux_url/fever/mydatabase.sqlite/`. - Notes ----- diff --git a/docs/installation.markdown b/docs/installation.markdown index d9b43de..f7ef988 100644 --- a/docs/installation.markdown +++ b/docs/installation.markdown @@ -7,7 +7,7 @@ Installation ### From the archive (stable version) 1. You must have a web server with PHP installed (version 5.3.3 minimum) with the Sqlite and XML extensions -2. Download the [latest release](https://github.com/miniflux/miniflux/releases) and copy the directory `miniflux` where you want +2. Download the [latest release](https://miniflux.net/downloads) and copy the directory `miniflux` where you want 3. Check if the directory `data` is writeable (Miniflux stores everything inside a Sqlite database) 4. With your browser go to 5. The default login and password is **admin/admin** @@ -19,6 +19,8 @@ Installation 1. `git clone https://github.com/miniflux/miniflux.git` 2. Go to the third step just above +By default, Miniflux uses Sqlite, if you would like to use Postgres instead you will have to modify your `config.php` file. + Security -------- diff --git a/docs/multiple-users.markdown b/docs/multiple-users.markdown deleted file mode 100644 index f1a4c56..0000000 --- a/docs/multiple-users.markdown +++ /dev/null @@ -1,19 +0,0 @@ -Multiple users -============== - -Since the beginning, Miniflux was a single user software. -However, it is now possible to create multiple databases. -Each user has his own Sqlite database and people can choose which database they want to use before the authentication. - -To create a new database: - -1. Go to the page **preferences > database** -2. Click on the link "Add a new database" -3. Fill the form (db name, the new username and password) and save -4. If you logout, on the login page you can choose the database you want to use - -If you use the cronjob, to select the database, use the parameter `--database` like that: - -```bash -php cronjob.php --database=db2.sqlite -``` diff --git a/docs/upgrade.markdown b/docs/upgrade.markdown index 036d24a..10b753d 100644 --- a/docs/upgrade.markdown +++ b/docs/upgrade.markdown @@ -1,6 +1,8 @@ Upgrade to a new version ======================== +Before to do anything, **you must backup your data!** + ### From the archive (stable version) 1. Close your session (logout)