2018-11-10 07:00:06 +01:00
. \" Manpage for miniflux.
2023-11-05 19:37:56 +01:00
.TH "MINIFLUX" "1" "November 5, 2023" "\ \&" "\ \&"
2018-11-10 07:00:06 +01:00
.SH NAME
miniflux \- Minimalist and opinionated feed reader
.SH SYNOPSIS
2023-06-25 20:23:23 +02:00
\fB miniflux\fR [-vic] [-config-dump] [-config-file] [-create-admin] [-debug] [-flush-sessions]
[-healthcheck] [-info] [-migrate] [-refresh-feeds] [-reset-feed-errors] [-reset-password]
[-run-cleanup-tasks] [-version]
2018-11-10 07:00:06 +01:00
.SH DESCRIPTION
\fB miniflux\fR is a minimalist and opinionated feed reader.
.SH OPTIONS
.PP
2023-06-25 20:23:23 +02:00
.B \- config-dump
2023-06-25 07:06:48 +02:00
.RS 4
2023-06-25 20:23:23 +02:00
Print parsed configuration values. This will include sensitive information like passwords\& .
2023-06-25 07:06:48 +02:00
.RE
.PP
2023-06-25 20:23:23 +02:00
.B \- c /path/to/miniflux.conf
2019-06-03 03:20:59 +02:00
.RS 4
Load configuration file\& .
.RE
.PP
2023-06-25 20:23:23 +02:00
.B \- config-file /path/to/miniflux.conf
2019-06-03 03:20:59 +02:00
.RS 4
Load configuration file\& .
.RE
.PP
2018-11-10 07:00:06 +01:00
.B \- create-admin
.RS 4
Create admin user\& .
.RE
.PP
.B \- debug
.RS 4
2023-09-25 01:32:09 +02:00
Set log level to debug\& .
2018-11-10 07:00:06 +01:00
.RE
.PP
2023-09-28 06:15:32 +02:00
.B \- export-user-feeds <username>
.RS 4
Export user feeds (provide the username as argument)\& .
.br
Example: "miniflux -export-user-feeds someone > feeds.xml"\& .
.RE
.PP
2018-11-10 07:00:06 +01:00
.B \- flush-sessions
.RS 4
Flush all sessions (disconnect users)\& .
.RE
.PP
2023-06-25 20:23:23 +02:00
.B \- healthcheck <endpoint>
2021-02-20 21:42:15 +01:00
.RS 4
Perform a health check on the given endpoint\& .
.br
The value "auto" try to guess the health check endpoint\& .
.RE
.PP
2018-11-10 07:00:06 +01:00
.B \- i
.RS 4
2023-06-25 20:23:23 +02:00
Show build information\& .
2018-11-10 07:00:06 +01:00
.RE
.PP
.B \- info
.RS 4
2023-06-25 20:23:23 +02:00
Show build information\& .
2018-11-10 07:00:06 +01:00
.RE
.PP
.B \- migrate
.RS 4
Run SQL migrations\& .
.RE
.PP
2023-06-25 20:23:23 +02:00
.B \- refresh-feeds
.RS 4
Refresh a batch of feeds and exit\& .
.RE
.PP
2018-11-10 07:00:06 +01:00
.B \- reset-feed-errors
.RS 4
Clear all feed errors for all users\& .
.RE
.PP
.B \- reset-password
.RS 4
Reset user password\& .
.RE
.PP
2023-06-25 20:23:23 +02:00
.B \- run-cleanup-tasks
.RS 4
Run cleanup tasks (delete old sessions and archives old entries)\& .
.RE
.PP
2018-11-10 07:00:06 +01:00
.B \- v
.RS 4
Show application version\& .
.RE
.PP
.B \- version
.RS 4
Show application version\& .
.RE
2019-06-09 02:16:12 +02:00
.SH CONFIGURATION FILE
The configuration file is a text file that follow these rules:
.LP
- Miniflux expects each line to be in KEY=VALUE format.
.br
- Lines beginning with # are processed as comments and ignored.
.br
- Blank lines are ignored.
.br
- There is no variable interpolation.
.PP
Keys are the same as the environment variables described below.
.br
Environment variables override the values defined in the config file.
2018-11-10 07:00:06 +01:00
.SH ENVIRONMENT
.TP
2023-03-18 11:13:58 +01:00
.B FETCH_ODYSEE_WATCH_TIME
Set the value to 1 to scrape video duration from Odysee website and
use it as a reading time\& .
.br
Disabled by default\& .
.TP
2021-01-27 13:50:34 +01:00
.B FETCH_YOUTUBE_WATCH_TIME
Set the value to 1 to scrape video duration from YouTube website and
use it as a reading time\& .
.br
Disabled by default\& .
2018-11-10 07:00:06 +01:00
.TP
2023-07-05 17:11:56 +02:00
.B YOUTUBE_EMBED_URL_OVERRIDE
2023-07-22 03:07:13 +02:00
YouTube URL which will be used for embeds\& .
2023-07-05 17:11:56 +02:00
.br
Default is https://www.youtube-nocookie.com/embed/\&
.TP
2020-12-19 00:08:17 +01:00
.B SERVER_TIMING_HEADER
Set the value to 1 to enable server-timing headers\& .
2021-01-22 08:16:05 +01:00
.br
Disabled by default\& .
2020-12-19 00:08:17 +01:00
.TP
2019-06-09 02:16:12 +02:00
.B LOG_DATE_TIME
Display the date and time in log messages\& .
2021-01-22 08:16:05 +01:00
.br
Disabled by default\& .
2019-06-09 02:16:12 +02:00
.TP
2023-09-25 01:32:09 +02:00
.B LOG_FILE
Supported values are "stderr", "stdout", or a file name\& .
.br
Default is "stderr"\& .
.TP
.B LOG_FORMAT
Supported log formats are "text" or "json"\& .
.br
Default is "text"\& .
.TP
.B LOG_LEVEL
Supported values are "debug", "info", "warning", or "error"\& .
.br
Default is "info"\& .
.TP
2018-11-10 07:00:06 +01:00
.B WORKER_POOL_SIZE
2021-01-22 08:16:05 +01:00
Number of background workers\& .
.br
2024-03-14 22:59:38 +01:00
Default is 16 workers\& .
2018-11-10 07:00:06 +01:00
.TP
.B POLLING_FREQUENCY
2021-01-22 08:16:05 +01:00
Refresh interval in minutes for feeds\& .
.br
Default is 60 minutes\& .
2018-11-10 07:00:06 +01:00
.TP
2024-01-03 03:33:15 +01:00
.B FORCE_REFRESH_INTERVAL
The minimum interval for manual refresh\& .
.br
Default is 30 minutes\& .
2024-02-17 22:28:17 +01:00
.TP
2018-11-10 07:00:06 +01:00
.B BATCH_SIZE
2021-01-22 08:16:05 +01:00
Number of feeds to send to the queue for each interval\& .
.br
2021-05-01 07:58:27 +02:00
Default is 100 feeds\& .
2018-11-10 07:00:06 +01:00
.TP
2020-05-25 23:06:56 +02:00
.B POLLING_SCHEDULER
2021-01-22 08:16:05 +01:00
Scheduler used for polling feeds. Possible values are "round_robin" or "entry_frequency"\& .
.br
2020-09-02 07:33:13 +02:00
The maximum number of feeds polled for a given period is subject to POLLING_FREQUENCY and BATCH_SIZE\& .
2021-01-22 08:16:05 +01:00
.br
2020-09-29 05:45:57 +02:00
When "entry_frequency" is selected, the refresh interval for a given feed is equal to the average updating interval of the last week of the feed\& .
2021-01-22 08:16:05 +01:00
.br
2020-09-29 05:45:57 +02:00
The actual number of feeds polled will not exceed the maximum number of feeds that could be polled for a given period\& .
2021-01-22 08:16:05 +01:00
.br
Default is "round_robin"\& .
2020-05-25 23:06:56 +02:00
.TP
2020-05-25 23:59:15 +02:00
.B SCHEDULER_ENTRY_FREQUENCY_MAX_INTERVAL
2021-01-22 08:16:05 +01:00
Maximum interval in minutes for the entry frequency scheduler\& .
.br
Default is 24 hours\& .
2020-05-25 23:06:56 +02:00
.TP
2020-05-25 23:59:15 +02:00
.B SCHEDULER_ENTRY_FREQUENCY_MIN_INTERVAL
2021-01-22 08:16:05 +01:00
Minimum interval in minutes for the entry frequency scheduler\& .
.br
Default is 5 minutes\& .
2020-05-25 23:06:56 +02:00
.TP
2023-08-24 12:02:46 +02:00
.B SCHEDULER_ENTRY_FREQUENCY_FACTOR
Factor to increase refresh frequency for the entry frequency scheduler\& .
.br
Default is 1\& .
.TP
2023-11-29 06:14:10 +01:00
.B SCHEDULER_ROUND_ROBIN_MIN_INTERVAL
Minimum interval in minutes for the round robin scheduler\& .
.br
Default is 60 minutes\& .
.TP
2021-01-26 06:41:36 +01:00
.B POLLING_PARSING_ERROR_LIMIT
The maximum number of parsing errors that the program will try before stopping polling a feed. Once the limit is reached, the user must refresh the feed manually. Set to 0 for unlimited.
.br
Default is 3\& .
.TP
2018-11-10 07:00:06 +01:00
.B DATABASE_URL
Postgresql connection parameters\& .
.br
Default is "user=postgres password=postgres dbname=miniflux2 sslmode=disable"\& .
.TP
2020-06-30 05:49:05 +02:00
.B DATABASE_URL_FILE
Path to a secret key exposed as a file, it should contain $DATABASE_URL value\& .
2021-01-22 08:16:05 +01:00
.br
Default is empty\& .
2020-06-30 05:49:05 +02:00
.TP
2021-05-24 04:32:34 +02:00
.B DATABASE_CONNECTION_LIFETIME
Set the maximum amount of time a connection may be reused\& .
.br
Default is 5 minutes\& .
.TP
2018-11-10 07:00:06 +01:00
.B DATABASE_MAX_CONNS
2021-01-22 08:16:05 +01:00
Maximum number of database connections\& .
.br
Default is 20\& .
2018-11-10 07:00:06 +01:00
.TP
.B DATABASE_MIN_CONNS
2021-01-22 08:16:05 +01:00
Minimum number of database connections\& .
.br
Default is 20\& .
2018-11-10 07:00:06 +01:00
.TP
.B LISTEN_ADDR
2021-01-22 08:16:05 +01:00
Address to listen on. Use absolute path to listen on Unix socket (/var/run/miniflux.sock)\& .
2018-11-12 01:21:57 +01:00
.br
2021-01-22 08:16:05 +01:00
Default is 127.0.0.1:8080\& .
2018-11-10 07:00:06 +01:00
.TP
.B PORT
Override LISTEN_ADDR to 0.0.0.0:$PORT\& .
2021-01-22 08:16:05 +01:00
.br
Default is empty\& .
2018-11-10 07:00:06 +01:00
.TP
.B BASE_URL
Base URL to generate HTML links and base path for cookies\& .
.br
Default is http://localhost/\& .
.TP
2019-09-15 20:55:56 +02:00
.B CLEANUP_FREQUENCY_HOURS
2020-09-29 05:45:57 +02:00
Cleanup job frequency. Remove old sessions and archive entries\& .
2018-11-10 07:00:06 +01:00
.br
Default is 24 hours\& .
.TP
2019-09-15 20:55:56 +02:00
.B CLEANUP_ARCHIVE_READ_DAYS
2021-01-17 03:00:29 +01:00
Number of days after marking read entries as removed\& .
.br
Set to -1 to keep all read entries.
2018-12-28 22:55:12 +01:00
.br
Default is 60 days\& .
.TP
2020-09-13 05:04:06 +02:00
.B CLEANUP_ARCHIVE_UNREAD_DAYS
2021-01-17 03:00:29 +01:00
Number of days after marking unread entries as removed\& .
.br
Set to -1 to keep all unread entries.
2020-09-13 05:04:06 +02:00
.br
Default is 180 days\& .
.TP
2021-05-24 05:45:37 +02:00
.B CLEANUP_ARCHIVE_BATCH_SIZE
Number of entries to archive for each job interval\& .
.br
Default is 10000 entries\& .
.TP
2019-09-15 20:55:56 +02:00
.B CLEANUP_REMOVE_SESSIONS_DAYS
Number of days after removing old sessions from the database\& .
.br
Default is 30 days\& .
.TP
2018-11-10 07:00:06 +01:00
.B HTTPS
Forces cookies to use secure flag and send HSTS header\& .
2021-01-22 08:16:05 +01:00
.br
Default is empty\& .
2018-11-10 07:00:06 +01:00
.TP
.B DISABLE_HSTS
Disable HTTP Strict Transport Security header if \fB HTTPS\fR is set\& .
2021-01-22 08:16:05 +01:00
.br
Default is false (The HSTS is enabled)\& .
2018-11-10 07:00:06 +01:00
.TP
2018-11-12 00:54:19 +01:00
.B DISABLE_HTTP_SERVICE
Set the value to 1 to disable the HTTP service\& .
2021-01-22 08:16:05 +01:00
.br
Default is false (The HTTP service is enabled)\& .
2018-11-12 00:54:19 +01:00
.TP
.B DISABLE_SCHEDULER_SERVICE
Set the value to 1 to disable the internal scheduler service\& .
2021-01-22 08:16:05 +01:00
.br
Default is false (The internal scheduler service is enabled)\& .
2018-11-12 00:54:19 +01:00
.TP
2024-03-20 03:58:53 +01:00
.B FILTER_ENTRY_MAX_AGE_DAYS
Number of days after which new entries should be retained.\& .
.br
Set 7 to fetch only entries 7 days old.\& .
.br
Default is 0\& .
.TP
2018-11-10 07:00:06 +01:00
.B CERT_FILE
Path to SSL certificate\& .
2021-01-22 08:16:05 +01:00
.br
Default is empty\& .
2018-11-10 07:00:06 +01:00
.TP
.B KEY_FILE
Path to SSL private key\& .
2021-01-22 08:16:05 +01:00
.br
Default is empty\& .
2018-11-10 07:00:06 +01:00
.TP
.B CERT_DOMAIN
Use Let's Encrypt to get automatically a certificate for this domain\& .
2021-01-22 08:16:05 +01:00
.br
Default is empty\& .
2018-11-10 07:00:06 +01:00
.TP
2020-09-28 01:01:06 +02:00
.B METRICS_COLLECTOR
2020-09-29 05:45:57 +02:00
Set to 1 to enable metrics collector. Expose a /metrics endpoint for Prometheus.
.br
Disabled by default\& .
2020-09-28 01:01:06 +02:00
.TP
.B METRICS_REFRESH_INTERVAL
2021-01-22 08:16:05 +01:00
Refresh interval to collect database metrics\& .
.br
Default is 60 seconds\& .
2020-09-28 01:01:06 +02:00
.TP
.B METRICS_ALLOWED_NETWORKS
List of networks allowed to access the metrics endpoint (comma-separated values)\& .
.br
Default is 127.0.0.1/8\& .
.TP
2023-03-12 05:04:27 +01:00
.B METRICS_USERNAME
Metrics endpoint username for basic HTTP authentication\& .
.br
Default is emtpty\& .
.TP
.B METRICS_USERNAME_FILE
Path to a file that contains the username for the metrics endpoint HTTP authentication\& .
.br
Default is emtpty\& .
.TP
.B METRICS_PASSWORD
Metrics endpoint password for basic HTTP authentication\& .
.br
Default is emtpty\& .
.TP
.B METRICS_PASSWORD_FILE
Path to a file that contains the password for the metrics endpoint HTTP authentication\& .
.br
Default is emtpty\& .
.TP
2018-11-10 07:00:06 +01:00
.B OAUTH2_PROVIDER
2020-12-22 06:14:10 +01:00
Possible values are "google" or "oidc"\& .
2021-01-22 08:16:05 +01:00
.br
Default is empty\& .
2018-11-10 07:00:06 +01:00
.TP
.B OAUTH2_CLIENT_ID
OAuth2 client ID\& .
2021-01-22 08:16:05 +01:00
.br
Default is empty\& .
2018-11-10 07:00:06 +01:00
.TP
2020-06-30 05:49:05 +02:00
.B OAUTH2_CLIENT_ID_FILE
Path to a secret key exposed as a file, it should contain $OAUTH2_CLIENT_ID value\& .
2021-01-22 08:16:05 +01:00
.br
Default is empty\& .
2020-06-30 05:49:05 +02:00
.TP
2018-11-10 07:00:06 +01:00
.B OAUTH2_CLIENT_SECRET
OAuth2 client secret\& .
2021-01-22 08:16:05 +01:00
.br
Default is empty\& .
2018-11-10 07:00:06 +01:00
.TP
2020-06-30 05:49:05 +02:00
.B OAUTH2_CLIENT_SECRET_FILE
Path to a secret key exposed as a file, it should contain $OAUTH2_CLIENT_SECRET value\& .
2021-01-22 08:16:05 +01:00
.br
Default is empty\& .
2020-06-30 05:49:05 +02:00
.TP
2018-11-10 07:00:06 +01:00
.B OAUTH2_REDIRECT_URL
OAuth2 redirect URL\& .
2021-01-22 08:16:05 +01:00
.br
This URL must be registered with the provider and is something like https://miniflux.example.org/oauth2/oidc/callback\& .
.br
Default is empty\& .
2018-11-10 07:00:06 +01:00
.TP
2020-03-28 22:50:11 +01:00
.B OAUTH2_OIDC_DISCOVERY_ENDPOINT
OpenID Connect discovery endpoint\& .
2021-01-22 08:16:05 +01:00
.br
Default is empty\& .
2020-03-28 22:50:11 +01:00
.TP
2018-11-10 07:00:06 +01:00
.B OAUTH2_USER_CREATION
Set to 1 to authorize OAuth2 user creation\& .
2021-01-22 08:16:05 +01:00
.br
Disabled by default\& .
2018-11-10 07:00:06 +01:00
.TP
.B RUN_MIGRATIONS
Set to 1 to run database migrations\& .
2021-01-22 08:16:05 +01:00
.br
Disabled by default\& .
2018-11-10 07:00:06 +01:00
.TP
.B CREATE_ADMIN
Set to 1 to create an admin user from environment variables\& .
2021-01-22 08:16:05 +01:00
.br
Disabled by default\& .
2018-11-10 07:00:06 +01:00
.TP
.B ADMIN_USERNAME
2020-06-30 05:49:05 +02:00
Admin user login, used only if $CREATE_ADMIN is enabled\& .
2021-01-22 08:16:05 +01:00
.br
Default is empty\& .
2020-06-30 05:49:05 +02:00
.TP
.B ADMIN_USERNAME_FILE
Path to a secret key exposed as a file, it should contain $ADMIN_USERNAME value\& .
2021-01-22 08:16:05 +01:00
.br
Default is empty\& .
2018-11-10 07:00:06 +01:00
.TP
.B ADMIN_PASSWORD
2020-06-30 05:49:05 +02:00
Admin user password, used only if $CREATE_ADMIN is enabled\& .
2021-01-22 08:16:05 +01:00
.br
Default is empty\& .
2020-06-30 05:49:05 +02:00
.TP
.B ADMIN_PASSWORD_FILE
Path to a secret key exposed as a file, it should contain $ADMIN_PASSWORD value\& .
2021-01-22 08:16:05 +01:00
.br
Default is empty\& .
2018-11-10 07:00:06 +01:00
.TP
.B POCKET_CONSUMER_KEY
Pocket consumer API key for all users\& .
2021-01-22 08:16:05 +01:00
.br
Default is empty\& .
2018-11-10 07:00:06 +01:00
.TP
2020-06-30 05:49:05 +02:00
.B POCKET_CONSUMER_KEY_FILE
Path to a secret key exposed as a file, it should contain $POCKET_CONSUMER_KEY value\& .
2021-01-22 08:16:05 +01:00
.br
Default is empty\& .
2020-06-30 05:49:05 +02:00
.TP
2023-02-25 09:36:19 +01:00
.B PROXY_OPTION
Avoids mixed content warnings for external media: http-only, all, or none\& .
2018-11-10 07:00:06 +01:00
.br
Default is http-only\& .
2019-06-02 16:13:35 +02:00
.TP
2023-02-25 09:36:19 +01:00
.B PROXY_MEDIA_TYPES
A list of media types to proxify (comma-separated values): image, audio, video\& .
.br
Default is image only\& .
.TP
.B PROXY_HTTP_CLIENT_TIMEOUT
Time limit in seconds before the proxy HTTP client cancel the request\& .
.br
Default is 120 seconds\& .
.TP
.B PROXY_URL
Sets a server to proxy media through\& .
2022-08-30 05:33:47 +02:00
.br
Default is empty, miniflux does the proxying\& .
.TP
2019-06-02 16:13:35 +02:00
.B HTTP_CLIENT_TIMEOUT
Time limit in seconds before the HTTP client cancel the request\& .
.br
Default is 20 seconds\& .
.TP
.B HTTP_CLIENT_MAX_BODY_SIZE
Maximum body size for HTTP requests in Mebibyte (MiB)\& .
.br
2019-06-09 05:13:40 +02:00
Default is 15 MiB\& .
2020-03-28 22:50:11 +01:00
.TP
2020-09-10 08:28:54 +02:00
.B HTTP_CLIENT_PROXY
Proxy URL for HTTP client\& .
.br
Default is empty\& .
.TP
2020-11-29 21:11:38 +01:00
.B HTTP_CLIENT_USER_AGENT
The default User-Agent header to use for the HTTP client. Can be overridden in per-feed settings\& .
.br
2021-01-22 08:16:05 +01:00
When empty, Miniflux uses a default User-Agent that includes the Miniflux version\& .
.br
Default is empty.
2020-11-29 21:11:38 +01:00
.TP
2023-02-25 09:36:19 +01:00
.B HTTP_SERVER_TIMEOUT
Time limit in seconds before the HTTP client cancel the request\& .
.br
Default is 300 seconds\& .
.TP
2020-03-28 22:50:11 +01:00
.B AUTH_PROXY_HEADER
Proxy authentication HTTP header\& .
2021-01-22 08:16:05 +01:00
.br
Default is empty.
2020-03-28 22:50:11 +01:00
.TP
.B AUTH_PROXY_USER_CREATION
Set to 1 to create users based on proxy authentication information\& .
2021-01-22 08:16:05 +01:00
.br
Disabled by default\& .
2020-09-13 03:31:45 +02:00
.TP
.B MAINTENANCE_MODE
Set to 1 to enable maintenance mode\& .
2021-01-22 08:16:05 +01:00
.br
Disabled by default\& .
2020-09-13 03:31:45 +02:00
.TP
.B MAINTENANCE_MESSAGE
Define a custom maintenance message\& .
2021-01-22 08:16:05 +01:00
.br
2021-05-24 04:32:34 +02:00
Default is "Miniflux is currently under maintenance"\& .
.TP
.B WATCHDOG
Enable or disable Systemd watchdog\& .
.br
Enabled by default\& .
2022-01-06 05:43:03 +01:00
.TP
.B INVIDIOUS_INSTANCE
Set a custom invidious instance to use\& .
.br
Default is yewtu.be\& .
2022-10-15 08:17:17 +02:00
.TP
.B PROXY_PRIVATE_KEY
2023-11-05 19:37:56 +01:00
Set a custom custom private key used to sign proxified media URL\& .
2022-10-15 08:17:17 +02:00
.br
Default is randomly generated at startup\& .
2023-11-05 19:37:56 +01:00
.TP
.B WEBAUTHN
Enable or disable WebAuthn/Passkey authentication\& .
.br
2023-11-06 20:09:10 +01:00
Default is disabled\& .
2018-11-10 07:00:06 +01:00
.SH AUTHORS
2019-07-11 02:27:17 +02:00
.P
2018-11-10 07:00:06 +01:00
Miniflux is written and maintained by Fr\[ 'e]d\[ 'e]ric Guillot\& .
.SH "COPYRIGHT"
2019-07-11 02:27:17 +02:00
.P
2018-11-10 07:00:06 +01:00
Miniflux is released under the Apache 2.0 license\& .