2018-11-10 01:00:06 -05:00
. \" Manpage for miniflux.
2023-11-05 13:37:56 -05:00
.TH "MINIFLUX" "1" "November 5, 2023" "\ \&" "\ \&"
2018-11-10 01:00:06 -05:00
.SH NAME
miniflux \- Minimalist and opinionated feed reader
.SH SYNOPSIS
2023-06-25 14:23:23 -04: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 01:00:06 -05:00
.SH DESCRIPTION
\fB miniflux\fR is a minimalist and opinionated feed reader.
.SH OPTIONS
.PP
2023-06-25 14:23:23 -04:00
.B \- config-dump
2023-06-25 01:06:48 -04:00
.RS 4
2023-06-25 14:23:23 -04:00
Print parsed configuration values. This will include sensitive information like passwords\& .
2023-06-25 01:06:48 -04:00
.RE
.PP
2023-06-25 14:23:23 -04:00
.B \- c /path/to/miniflux.conf
2019-06-02 21:20:59 -04:00
.RS 4
Load configuration file\& .
.RE
.PP
2023-06-25 14:23:23 -04:00
.B \- config-file /path/to/miniflux.conf
2019-06-02 21:20:59 -04:00
.RS 4
Load configuration file\& .
.RE
.PP
2018-11-10 01:00:06 -05:00
.B \- create-admin
.RS 4
Create admin user\& .
.RE
.PP
.B \- debug
.RS 4
2023-09-24 19:32:09 -04:00
Set log level to debug\& .
2018-11-10 01:00:06 -05:00
.RE
.PP
2023-09-28 00:15:32 -04: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 01:00:06 -05:00
.B \- flush-sessions
.RS 4
Flush all sessions (disconnect users)\& .
.RE
.PP
2023-06-25 14:23:23 -04:00
.B \- healthcheck <endpoint>
2021-02-20 15:42:15 -05: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 01:00:06 -05:00
.B \- i
.RS 4
2023-06-25 14:23:23 -04:00
Show build information\& .
2018-11-10 01:00:06 -05:00
.RE
.PP
.B \- info
.RS 4
2023-06-25 14:23:23 -04:00
Show build information\& .
2018-11-10 01:00:06 -05:00
.RE
.PP
.B \- migrate
.RS 4
Run SQL migrations\& .
.RE
.PP
2023-06-25 14:23:23 -04:00
.B \- refresh-feeds
.RS 4
Refresh a batch of feeds and exit\& .
.RE
.PP
2018-11-10 01:00:06 -05: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 14:23:23 -04:00
.B \- run-cleanup-tasks
.RS 4
Run cleanup tasks (delete old sessions and archives old entries)\& .
.RE
.PP
2018-11-10 01:00:06 -05:00
.B \- v
.RS 4
Show application version\& .
.RE
.PP
.B \- version
.RS 4
Show application version\& .
.RE
2019-06-08 20:16:12 -04: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 01:00:06 -05:00
.SH ENVIRONMENT
.TP
2023-03-18 06:13:58 -04: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 07:50:34 -05: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 01:00:06 -05:00
.TP
2023-07-05 11:11:56 -04:00
.B YOUTUBE_EMBED_URL_OVERRIDE
2023-07-21 21:07:13 -04:00
YouTube URL which will be used for embeds\& .
2023-07-05 11:11:56 -04:00
.br
Default is https://www.youtube-nocookie.com/embed/\&
.TP
2020-12-18 18:08:17 -05:00
.B SERVER_TIMING_HEADER
Set the value to 1 to enable server-timing headers\& .
2021-01-22 02:16:05 -05:00
.br
Disabled by default\& .
2020-12-18 18:08:17 -05:00
.TP
2019-06-08 20:16:12 -04:00
.B LOG_DATE_TIME
Display the date and time in log messages\& .
2021-01-22 02:16:05 -05:00
.br
Disabled by default\& .
2019-06-08 20:16:12 -04:00
.TP
2023-09-24 19:32:09 -04: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 01:00:06 -05:00
.B WORKER_POOL_SIZE
2021-01-22 02:16:05 -05:00
Number of background workers\& .
.br
Default is 5 workers\& .
2018-11-10 01:00:06 -05:00
.TP
.B POLLING_FREQUENCY
2021-01-22 02:16:05 -05:00
Refresh interval in minutes for feeds\& .
.br
Default is 60 minutes\& .
2018-11-10 01:00:06 -05:00
.TP
2024-01-02 21:33:15 -05:00
.B FORCE_REFRESH_INTERVAL
The minimum interval for manual refresh\& .
.br
Default is 30 minutes\& .
2024-02-17 16:28:17 -05:00
.TP
2018-11-10 01:00:06 -05:00
.B BATCH_SIZE
2021-01-22 02:16:05 -05:00
Number of feeds to send to the queue for each interval\& .
.br
2021-05-01 01:58:27 -04:00
Default is 100 feeds\& .
2018-11-10 01:00:06 -05:00
.TP
2020-05-25 17:06:56 -04:00
.B POLLING_SCHEDULER
2021-01-22 02:16:05 -05:00
Scheduler used for polling feeds. Possible values are "round_robin" or "entry_frequency"\& .
.br
2020-09-02 01:33:13 -04:00
The maximum number of feeds polled for a given period is subject to POLLING_FREQUENCY and BATCH_SIZE\& .
2021-01-22 02:16:05 -05:00
.br
2020-09-28 23:45:57 -04: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 02:16:05 -05:00
.br
2020-09-28 23:45:57 -04: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 02:16:05 -05:00
.br
Default is "round_robin"\& .
2020-05-25 17:06:56 -04:00
.TP
2020-05-25 17:59:15 -04:00
.B SCHEDULER_ENTRY_FREQUENCY_MAX_INTERVAL
2021-01-22 02:16:05 -05:00
Maximum interval in minutes for the entry frequency scheduler\& .
.br
Default is 24 hours\& .
2020-05-25 17:06:56 -04:00
.TP
2020-05-25 17:59:15 -04:00
.B SCHEDULER_ENTRY_FREQUENCY_MIN_INTERVAL
2021-01-22 02:16:05 -05:00
Minimum interval in minutes for the entry frequency scheduler\& .
.br
Default is 5 minutes\& .
2020-05-25 17:06:56 -04:00
.TP
2023-08-24 06:02:46 -04:00
.B SCHEDULER_ENTRY_FREQUENCY_FACTOR
Factor to increase refresh frequency for the entry frequency scheduler\& .
.br
Default is 1\& .
.TP
2023-11-29 00:14:10 -05: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 00:41:36 -05: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 01:00:06 -05:00
.B DATABASE_URL
Postgresql connection parameters\& .
.br
Default is "user=postgres password=postgres dbname=miniflux2 sslmode=disable"\& .
.TP
2020-06-29 23:49:05 -04:00
.B DATABASE_URL_FILE
Path to a secret key exposed as a file, it should contain $DATABASE_URL value\& .
2021-01-22 02:16:05 -05:00
.br
Default is empty\& .
2020-06-29 23:49:05 -04:00
.TP
2021-05-23 22:32:34 -04: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 01:00:06 -05:00
.B DATABASE_MAX_CONNS
2021-01-22 02:16:05 -05:00
Maximum number of database connections\& .
.br
Default is 20\& .
2018-11-10 01:00:06 -05:00
.TP
.B DATABASE_MIN_CONNS
2021-01-22 02:16:05 -05:00
Minimum number of database connections\& .
.br
Default is 20\& .
2018-11-10 01:00:06 -05:00
.TP
.B LISTEN_ADDR
2021-01-22 02:16:05 -05:00
Address to listen on. Use absolute path to listen on Unix socket (/var/run/miniflux.sock)\& .
2018-11-11 19:21:57 -05:00
.br
2021-01-22 02:16:05 -05:00
Default is 127.0.0.1:8080\& .
2018-11-10 01:00:06 -05:00
.TP
.B PORT
Override LISTEN_ADDR to 0.0.0.0:$PORT\& .
2021-01-22 02:16:05 -05:00
.br
Default is empty\& .
2018-11-10 01:00:06 -05: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 14:55:56 -04:00
.B CLEANUP_FREQUENCY_HOURS
2020-09-28 23:45:57 -04:00
Cleanup job frequency. Remove old sessions and archive entries\& .
2018-11-10 01:00:06 -05:00
.br
Default is 24 hours\& .
.TP
2019-09-15 14:55:56 -04:00
.B CLEANUP_ARCHIVE_READ_DAYS
2021-01-16 21:00:29 -05:00
Number of days after marking read entries as removed\& .
.br
Set to -1 to keep all read entries.
2018-12-28 16:55:12 -05:00
.br
Default is 60 days\& .
.TP
2020-09-12 23:04:06 -04:00
.B CLEANUP_ARCHIVE_UNREAD_DAYS
2021-01-16 21:00:29 -05:00
Number of days after marking unread entries as removed\& .
.br
Set to -1 to keep all unread entries.
2020-09-12 23:04:06 -04:00
.br
Default is 180 days\& .
.TP
2021-05-23 23:45:37 -04:00
.B CLEANUP_ARCHIVE_BATCH_SIZE
Number of entries to archive for each job interval\& .
.br
Default is 10000 entries\& .
.TP
2019-09-15 14:55:56 -04: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 01:00:06 -05:00
.B HTTPS
Forces cookies to use secure flag and send HSTS header\& .
2021-01-22 02:16:05 -05:00
.br
Default is empty\& .
2018-11-10 01:00:06 -05:00
.TP
.B DISABLE_HSTS
Disable HTTP Strict Transport Security header if \fB HTTPS\fR is set\& .
2021-01-22 02:16:05 -05:00
.br
Default is false (The HSTS is enabled)\& .
2018-11-10 01:00:06 -05:00
.TP
2018-11-11 18:54:19 -05:00
.B DISABLE_HTTP_SERVICE
Set the value to 1 to disable the HTTP service\& .
2021-01-22 02:16:05 -05:00
.br
Default is false (The HTTP service is enabled)\& .
2018-11-11 18:54:19 -05:00
.TP
.B DISABLE_SCHEDULER_SERVICE
Set the value to 1 to disable the internal scheduler service\& .
2021-01-22 02:16:05 -05:00
.br
Default is false (The internal scheduler service is enabled)\& .
2018-11-11 18:54:19 -05:00
.TP
2018-11-10 01:00:06 -05:00
.B CERT_FILE
Path to SSL certificate\& .
2021-01-22 02:16:05 -05:00
.br
Default is empty\& .
2018-11-10 01:00:06 -05:00
.TP
.B KEY_FILE
Path to SSL private key\& .
2021-01-22 02:16:05 -05:00
.br
Default is empty\& .
2018-11-10 01:00:06 -05:00
.TP
.B CERT_DOMAIN
Use Let's Encrypt to get automatically a certificate for this domain\& .
2021-01-22 02:16:05 -05:00
.br
Default is empty\& .
2018-11-10 01:00:06 -05:00
.TP
2020-09-27 19:01:06 -04:00
.B METRICS_COLLECTOR
2020-09-28 23:45:57 -04:00
Set to 1 to enable metrics collector. Expose a /metrics endpoint for Prometheus.
.br
Disabled by default\& .
2020-09-27 19:01:06 -04:00
.TP
.B METRICS_REFRESH_INTERVAL
2021-01-22 02:16:05 -05:00
Refresh interval to collect database metrics\& .
.br
Default is 60 seconds\& .
2020-09-27 19:01:06 -04: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-11 23:04:27 -05: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 01:00:06 -05:00
.B OAUTH2_PROVIDER
2020-12-22 00:14:10 -05:00
Possible values are "google" or "oidc"\& .
2021-01-22 02:16:05 -05:00
.br
Default is empty\& .
2018-11-10 01:00:06 -05:00
.TP
.B OAUTH2_CLIENT_ID
OAuth2 client ID\& .
2021-01-22 02:16:05 -05:00
.br
Default is empty\& .
2018-11-10 01:00:06 -05:00
.TP
2020-06-29 23:49:05 -04: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 02:16:05 -05:00
.br
Default is empty\& .
2020-06-29 23:49:05 -04:00
.TP
2018-11-10 01:00:06 -05:00
.B OAUTH2_CLIENT_SECRET
OAuth2 client secret\& .
2021-01-22 02:16:05 -05:00
.br
Default is empty\& .
2018-11-10 01:00:06 -05:00
.TP
2020-06-29 23:49:05 -04: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 02:16:05 -05:00
.br
Default is empty\& .
2020-06-29 23:49:05 -04:00
.TP
2018-11-10 01:00:06 -05:00
.B OAUTH2_REDIRECT_URL
OAuth2 redirect URL\& .
2021-01-22 02:16:05 -05: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 01:00:06 -05:00
.TP
2020-03-28 17:50:11 -04:00
.B OAUTH2_OIDC_DISCOVERY_ENDPOINT
OpenID Connect discovery endpoint\& .
2021-01-22 02:16:05 -05:00
.br
Default is empty\& .
2020-03-28 17:50:11 -04:00
.TP
2018-11-10 01:00:06 -05:00
.B OAUTH2_USER_CREATION
Set to 1 to authorize OAuth2 user creation\& .
2021-01-22 02:16:05 -05:00
.br
Disabled by default\& .
2018-11-10 01:00:06 -05:00
.TP
.B RUN_MIGRATIONS
Set to 1 to run database migrations\& .
2021-01-22 02:16:05 -05:00
.br
Disabled by default\& .
2018-11-10 01:00:06 -05:00
.TP
.B CREATE_ADMIN
Set to 1 to create an admin user from environment variables\& .
2021-01-22 02:16:05 -05:00
.br
Disabled by default\& .
2018-11-10 01:00:06 -05:00
.TP
.B ADMIN_USERNAME
2020-06-29 23:49:05 -04:00
Admin user login, used only if $CREATE_ADMIN is enabled\& .
2021-01-22 02:16:05 -05:00
.br
Default is empty\& .
2020-06-29 23:49:05 -04:00
.TP
.B ADMIN_USERNAME_FILE
Path to a secret key exposed as a file, it should contain $ADMIN_USERNAME value\& .
2021-01-22 02:16:05 -05:00
.br
Default is empty\& .
2018-11-10 01:00:06 -05:00
.TP
.B ADMIN_PASSWORD
2020-06-29 23:49:05 -04:00
Admin user password, used only if $CREATE_ADMIN is enabled\& .
2021-01-22 02:16:05 -05:00
.br
Default is empty\& .
2020-06-29 23:49:05 -04:00
.TP
.B ADMIN_PASSWORD_FILE
Path to a secret key exposed as a file, it should contain $ADMIN_PASSWORD value\& .
2021-01-22 02:16:05 -05:00
.br
Default is empty\& .
2018-11-10 01:00:06 -05:00
.TP
.B POCKET_CONSUMER_KEY
Pocket consumer API key for all users\& .
2021-01-22 02:16:05 -05:00
.br
Default is empty\& .
2018-11-10 01:00:06 -05:00
.TP
2020-06-29 23:49:05 -04: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 02:16:05 -05:00
.br
Default is empty\& .
2020-06-29 23:49:05 -04:00
.TP
2023-02-25 03:36:19 -05:00
.B PROXY_OPTION
Avoids mixed content warnings for external media: http-only, all, or none\& .
2018-11-10 01:00:06 -05:00
.br
Default is http-only\& .
2019-06-02 10:13:35 -04:00
.TP
2023-02-25 03:36:19 -05: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-29 23:33:47 -04:00
.br
Default is empty, miniflux does the proxying\& .
.TP
2019-06-02 10:13:35 -04: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-08 23:13:40 -04:00
Default is 15 MiB\& .
2020-03-28 17:50:11 -04:00
.TP
2020-09-10 02:28:54 -04:00
.B HTTP_CLIENT_PROXY
Proxy URL for HTTP client\& .
.br
Default is empty\& .
.TP
2020-11-29 15:11:38 -05: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 02:16:05 -05:00
When empty, Miniflux uses a default User-Agent that includes the Miniflux version\& .
.br
Default is empty.
2020-11-29 15:11:38 -05:00
.TP
2023-02-25 03:36:19 -05: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 17:50:11 -04:00
.B AUTH_PROXY_HEADER
Proxy authentication HTTP header\& .
2021-01-22 02:16:05 -05:00
.br
Default is empty.
2020-03-28 17:50:11 -04:00
.TP
.B AUTH_PROXY_USER_CREATION
Set to 1 to create users based on proxy authentication information\& .
2021-01-22 02:16:05 -05:00
.br
Disabled by default\& .
2020-09-12 21:31:45 -04:00
.TP
.B MAINTENANCE_MODE
Set to 1 to enable maintenance mode\& .
2021-01-22 02:16:05 -05:00
.br
Disabled by default\& .
2020-09-12 21:31:45 -04:00
.TP
.B MAINTENANCE_MESSAGE
Define a custom maintenance message\& .
2021-01-22 02:16:05 -05:00
.br
2021-05-23 22:32:34 -04:00
Default is "Miniflux is currently under maintenance"\& .
.TP
.B WATCHDOG
Enable or disable Systemd watchdog\& .
.br
Enabled by default\& .
2022-01-05 23:43:03 -05:00
.TP
.B INVIDIOUS_INSTANCE
Set a custom invidious instance to use\& .
.br
Default is yewtu.be\& .
2022-10-15 02:17:17 -04:00
.TP
.B PROXY_PRIVATE_KEY
2023-11-05 13:37:56 -05:00
Set a custom custom private key used to sign proxified media URL\& .
2022-10-15 02:17:17 -04:00
.br
Default is randomly generated at startup\& .
2023-11-05 13:37:56 -05:00
.TP
.B WEBAUTHN
Enable or disable WebAuthn/Passkey authentication\& .
.br
2023-11-06 14:09:10 -05:00
Default is disabled\& .
2018-11-10 01:00:06 -05:00
.SH AUTHORS
2019-07-10 20:27:17 -04:00
.P
2018-11-10 01:00:06 -05:00
Miniflux is written and maintained by Fr\[ 'e]d\[ 'e]ric Guillot\& .
.SH "COPYRIGHT"
2019-07-10 20:27:17 -04:00
.P
2018-11-10 01:00:06 -05:00
Miniflux is released under the Apache 2.0 license\& .