| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615 |
- .\" Manpage for miniflux.
- .TH "MINIFLUX" "1" "March 1, 2026" "\ \&" "\ \&"
- .SH NAME
- miniflux \- Minimalist and opinionated feed reader
- .SH SYNOPSIS
- \fBminiflux\fR [\fBoptions\fR]
- .SH DESCRIPTION
- \fBminiflux\fR is a minimalist and opinionated feed reader.
- .SH OPTIONS
- .PP
- .B \-h, \-help
- .RS 4
- Show usage information and exit\&.
- .RE
- .PP
- .B \-config-dump
- .RS 4
- Print parsed configuration values. This will include sensitive information like passwords\&.
- .RE
- .PP
- .B \-c /path/to/miniflux.conf
- .RS 4
- Load configuration file\&.
- .RE
- .PP
- .B \-config-file /path/to/miniflux.conf
- .RS 4
- Load configuration file\&.
- .RE
- .PP
- .B \-create-admin
- .RS 4
- Create an admin user from an interactive terminal\&.
- .RE
- .PP
- .B \-debug
- .RS 4
- Set log level to debug\&.
- .RE
- .PP
- .B \-export-user-feeds <username>
- .RS 4
- Export user feeds (provide the username as argument)\&.
- .br
- Example:
- .EX
- miniflux -export-user-feeds someone > feeds.xml
- .EE
- .RE
- .PP
- .B \-flush-sessions
- .RS 4
- Flush all sessions (disconnect users)\&.
- .RE
- .PP
- .B \-healthcheck <endpoint>
- .RS 4
- Perform a health check on the given endpoint\&.
- .br
- The value "auto" tries to guess the health check endpoint\&.
- .RE
- .PP
- .B \-i
- .RS 4
- Show build information\&.
- .RE
- .PP
- .B \-info
- .RS 4
- Show build information\&.
- .RE
- .PP
- .B \-migrate
- .RS 4
- Run SQL migrations\&.
- .RE
- .PP
- .B \-refresh-feeds
- .RS 4
- Refresh a batch of feeds and exit\&.
- .RE
- .PP
- .B \-reset-feed-errors
- .RS 4
- Clear all feed errors for all users\&.
- .RE
- .PP
- .B \-reset-feed-next-check-at
- .RS 4
- Reset the next check time for all feeds\&.
- .RE
- .PP
- .B \-reset-password
- .RS 4
- Reset user password\&.
- .RE
- .PP
- .B \-run-cleanup-tasks
- .RS 4
- Run cleanup tasks (delete old sessions and archive old entries)\&.
- .RE
- .PP
- .B \-v
- .RS 4
- Show application version\&.
- .RE
- .PP
- .B \-version
- .RS 4
- Show application version\&.
- .RE
- .SH CONFIGURATION FILE
- The configuration file is a text file that follows 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\&.
- .SH ENVIRONMENT
- .PP
- Boolean options accept the following values (case-insensitive): 1/0, yes/no, true/false, on/off\&.
- .br
- For variables ending in \fB_FILE\fR, the value is a path to a file that contains the corresponding secret value\&.
- .TP
- .B ADMIN_PASSWORD
- Admin user password, used only if \fBCREATE_ADMIN\fR is enabled\&.
- .br
- Default is empty\&.
- .TP
- .B ADMIN_PASSWORD_FILE
- Path to a secret key exposed as a file, it should contain the \fBADMIN_PASSWORD\fR value\&.
- .br
- Default is empty\&.
- .TP
- .B ADMIN_USERNAME
- Admin user login, used only if \fBCREATE_ADMIN\fR is enabled\&.
- .br
- Default is empty\&.
- .TP
- .B ADMIN_USERNAME_FILE
- Path to a secret key exposed as a file, it should contain the \fBADMIN_USERNAME\fR value\&.
- .br
- Default is empty\&.
- .TP
- .B AUTH_PROXY_HEADER
- Proxy authentication HTTP header\&.
- .br
- The option \fBTRUSTED_REVERSE_PROXY_NETWORKS\fR must be configured to allow the proxy to authenticate users\&.
- .br
- Default is empty.
- .TP
- .B AUTH_PROXY_USER_CREATION
- Set to 1 to create users based on proxy authentication information\&.
- .br
- Disabled by default\&.
- .TP
- .B BASE_URL
- Base URL to generate HTML links and base path for cookies\&.
- .br
- Default is http://localhost\&.
- .TP
- .B BATCH_SIZE
- Number of feeds to send to the queue for each interval\&.
- .br
- Default is 100 feeds\&.
- .TP
- .B CERT_DOMAIN
- Use Let's Encrypt to get automatically a certificate for this domain\&.
- .br
- Default is empty\&.
- .TP
- .B CERT_FILE
- Path to SSL certificate\&.
- .br
- Default is empty\&.
- .TP
- .B CLEANUP_ARCHIVE_BATCH_SIZE
- Number of entries to archive for each job interval\&.
- .br
- Default is 10000 entries\&.
- .TP
- .B CLEANUP_ARCHIVE_READ_DAYS
- Number of days after marking read entries as removed\&.
- .br
- Set to -1 to keep all read entries.
- .br
- Default is 60 days\&.
- .TP
- .B CLEANUP_ARCHIVE_UNREAD_DAYS
- Number of days after marking unread entries as removed\&.
- .br
- Set to -1 to keep all unread entries.
- .br
- Default is 180 days\&.
- .TP
- .B CLEANUP_FREQUENCY_HOURS
- Cleanup job frequency. Remove old sessions and archive entries\&.
- .br
- Default is 24 hours\&.
- .TP
- .B CLEANUP_REMOVE_SESSIONS_DAYS
- Number of days after removing old sessions from the database\&.
- .br
- Default is 30 days\&.
- .TP
- .B CREATE_ADMIN
- Set to 1 to create an admin user from environment variables\&.
- .br
- Disabled by default\&.
- .TP
- .B DATABASE_CONNECTION_LIFETIME
- Set the maximum amount of time a connection may be reused\&.
- .br
- Default is 5 minutes\&.
- .TP
- .B DATABASE_MAX_CONNS
- Maximum number of database connections\&.
- .br
- Default is 20\&.
- .TP
- .B DATABASE_MIN_CONNS
- Minimum number of database connections\&.
- .br
- Default is 1\&.
- .TP
- .B DATABASE_URL
- PostgreSQL connection parameters\&.
- .br
- Default is "user=postgres password=postgres dbname=miniflux2 sslmode=disable"\&.
- .TP
- .B DATABASE_URL_FILE
- Path to a secret key exposed as a file, it should contain the \fBDATABASE_URL\fR value\&.
- .br
- Default is empty\&.
- .TP
- .B DISABLE_API
- Disable miniflux's API\&.
- .br
- Default is false (The API is enabled)\&.
- .TP
- .B DISABLE_HSTS
- Disable HTTP Strict Transport Security header if \fBHTTPS\fR is set\&.
- .br
- Default is false (The HSTS is enabled)\&.
- .TP
- .B DISABLE_HTTP_SERVICE
- Set the value to 1 to disable the HTTP service\&.
- .br
- Default is false (The HTTP service is enabled)\&.
- .TP
- .B DISABLE_LOCAL_AUTH
- Disable local authentication\&.
- .br
- When set to true, the username/password form is hidden from the login screen, and the
- options to change username/password or unlink OAuth2 account are hidden from the settings page.
- .br
- Default is false\&.
- .TP
- .B DISABLE_SCHEDULER_SERVICE
- Set the value to 1 to disable the internal scheduler service\&.
- .br
- Default is false (The internal scheduler service is enabled)\&.
- .TP
- .B FETCHER_ALLOW_PRIVATE_NETWORKS
- Set to 1 to allow outgoing fetcher requests to private or loopback networks\&.
- .br
- Disabled by default, private networks are refused\&.
- .TP
- .B FETCH_BILIBILI_WATCH_TIME
- Set the value to 1 to scrape video duration from Bilibili website and
- use it as a reading time\&.
- .br
- Disabled by default\&.
- .TP
- .B FETCH_NEBULA_WATCH_TIME
- Set the value to 1 to scrape video duration from Nebula website and
- use it as a reading time\&.
- .br
- Disabled by default\&.
- .TP
- .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
- .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\&.
- .TP
- .B FORCE_REFRESH_INTERVAL
- The minimum interval for manual refresh\&.
- .br
- Default is 30 minutes\&.
- .TP
- .B HTTP_CLIENT_MAX_BODY_SIZE
- Maximum body size for HTTP requests in Mebibyte (MiB)\&.
- .br
- Default is 15 MiB\&.
- .TP
- .B HTTP_CLIENT_PROXIES
- Enable proxy rotation for outgoing requests by providing a comma-separated list of proxy URLs\&.
- .br
- Default is empty\&.
- .TP
- .B HTTP_CLIENT_PROXY
- Proxy URL to use when the "Fetch via proxy" feed option is enabled\&.
- .br
- Default is empty\&.
- .TP
- .B HTTP_CLIENT_TIMEOUT
- Time limit in seconds before the HTTP client cancels the request\&.
- .br
- Default is 20 seconds\&.
- .TP
- .B HTTP_CLIENT_USER_AGENT
- The default User-Agent header to use for the HTTP client. Can be overridden in per-feed settings\&.
- .br
- When empty, Miniflux uses a default User-Agent that includes the Miniflux version\&.
- .br
- Default is empty.
- .TP
- .B HTTP_SERVER_TIMEOUT
- Read, write, and idle timeout in seconds for the HTTP server\&.
- .br
- Default is 300 seconds\&.
- .TP
- .B HTTPS
- Forces cookies to use secure flag and send HSTS header\&.
- .br
- Default is disabled\&.
- .TP
- .B INTEGRATION_ALLOW_PRIVATE_NETWORKS
- Set to 1 to allow outgoing integration requests to private or loopback networks\&.
- .br
- Disabled by default, private networks are refused\&.
- .TP
- .B INVIDIOUS_INSTANCE
- Set a custom invidious instance to use\&.
- .br
- Default is yewtu.be\&.
- .TP
- .B KEY_FILE
- Path to SSL private key\&.
- .br
- Default is empty\&.
- .TP
- .B LISTEN_ADDR
- Address to listen on. Use absolute path to listen on Unix socket (/var/run/miniflux.sock)\&.
- .br
- Multiple addresses can be specified, separated by commas. For example: 127.0.0.1:8080, 127.0.0.1:8081\&.
- .br
- Default is 127.0.0.1:8080\&.
- .TP
- .B LOG_DATE_TIME
- Display the date and time in log messages\&.
- .br
- Disabled by default\&.
- .TP
- .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
- .B MAINTENANCE_MESSAGE
- Define a custom maintenance message\&.
- .br
- Default is "Miniflux is currently under maintenance"\&.
- .TP
- .B MAINTENANCE_MODE
- Set to 1 to enable maintenance mode\&.
- .br
- Disabled by default\&.
- .TP
- .B MEDIA_PROXY_CUSTOM_URL
- Sets an external server to proxy media through\&.
- .br
- Default is empty, Miniflux does the proxying\&.
- .TP
- .B MEDIA_PROXY_HTTP_CLIENT_TIMEOUT
- Time limit in seconds before the media proxy HTTP client cancels the request\&.
- .br
- Default is 120 seconds\&.
- .TP
- .B MEDIA_PROXY_RESOURCE_TYPES
- A comma-separated list of media types to proxify. Supported values are: image, audio, video\&.
- .br
- Default is image\&.
- .TP
- .B MEDIA_PROXY_MODE
- Possible values: http-only, all, or none\&.
- .br
- Default is http-only\&.
- .TP
- .B MEDIA_PROXY_PRIVATE_KEY
- Set a custom private key used to sign proxified media URLs\&.
- .br
- By default, a secret key is randomly generated during startup\&.
- .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
- .B METRICS_COLLECTOR
- Set to 1 to enable metrics collector. Expose a /metrics endpoint for Prometheus.
- .br
- Disabled by default\&.
- .TP
- .B METRICS_PASSWORD
- Metrics endpoint password for basic HTTP authentication\&.
- .br
- Default is empty\&.
- .TP
- .B METRICS_PASSWORD_FILE
- Path to a file that contains the password for the metrics endpoint HTTP authentication\&.
- .br
- Default is empty\&.
- .TP
- .B METRICS_REFRESH_INTERVAL
- Refresh interval to collect database metrics\&.
- .br
- Default is 60 seconds\&.
- .TP
- .B METRICS_USERNAME
- Metrics endpoint username for basic HTTP authentication\&.
- .br
- Default is empty\&.
- .TP
- .B METRICS_USERNAME_FILE
- Path to a file that contains the username for the metrics endpoint HTTP authentication\&.
- .br
- Default is empty\&.
- .TP
- .B OAUTH2_CLIENT_ID
- OAuth2 client ID\&.
- .br
- Default is empty\&.
- .TP
- .B OAUTH2_CLIENT_ID_FILE
- Path to a secret key exposed as a file, it should contain the \fBOAUTH2_CLIENT_ID\fR value\&.
- .br
- Default is empty\&.
- .TP
- .B OAUTH2_CLIENT_SECRET
- OAuth2 client secret\&.
- .br
- Default is empty\&.
- .TP
- .B OAUTH2_CLIENT_SECRET_FILE
- Path to a secret key exposed as a file, it should contain the \fBOAUTH2_CLIENT_SECRET\fR value\&.
- .br
- Default is empty\&.
- .TP
- .B OAUTH2_OIDC_DISCOVERY_ENDPOINT
- OpenID Connect discovery endpoint\&.
- .br
- Default is empty\&.
- .TP
- .B OAUTH2_OIDC_PROVIDER_NAME
- Name to display for the OIDC provider\&.
- .br
- Default is "OpenID Connect"\&.
- .TP
- .B OAUTH2_PROVIDER
- Possible values are "google" or "oidc"\&.
- .br
- Default is empty\&.
- .TP
- .B OAUTH2_REDIRECT_URL
- OAuth2 redirect URL\&.
- .br
- This URL must be registered with the provider and is something like https://miniflux.example.org/oauth2/oidc/callback\&.
- .br
- Default is empty\&.
- .TP
- .B OAUTH2_USER_CREATION
- Set to 1 to authorize OAuth2 user creation\&.
- .br
- Disabled by default\&.
- .TP
- .B POLLING_FREQUENCY
- Interval for the background job scheduler.
- .br
- Determines how often a batch of feeds is selected for refresh, based on their last refresh time\&.
- .br
- Default is 60 minutes\&.
- .TP
- .B POLLING_LIMIT_PER_HOST
- Limits the number of concurrent requests to the same hostname when polling feeds.
- .br
- This helps prevent overwhelming a single server during batch processing by the worker pool.
- .br
- Default is 0 (disabled)\&.
- .TP
- .B POLLING_PARSING_ERROR_LIMIT
- The maximum number of parsing errors that the program will try before stopping polling a feed.
- .br
- Once the limit is reached, the user must refresh the feed manually. Set to 0 for unlimited.
- .br
- Default is 3\&.
- .TP
- .B POLLING_SCHEDULER
- Determines the strategy used to schedule feed polling.
- .br
- Supported values are "round_robin" and "entry_frequency".
- .br
- - "round_robin": Feeds are polled in a fixed, rotating order.
- .br
- - "entry_frequency": The polling interval for each feed is based on the average update frequency over the past week.
- .br
- The number of feeds polled in a given period is limited by the POLLING_FREQUENCY and BATCH_SIZE settings.
- .br
- Regardless of the scheduler used, the total number of polled feeds will not exceed the maximum allowed per polling cycle.
- .br
- Default is "round_robin"\&.
- .TP
- .B PORT
- Override \fBLISTEN_ADDR\fR to \fB0.0.0.0:$PORT\fR\&.
- .br
- Default is empty\&.
- .TP
- .B RUN_MIGRATIONS
- Set to 1 to run database migrations\&.
- .br
- Disabled by default\&.
- .TP
- .B SCHEDULER_ENTRY_FREQUENCY_FACTOR
- Factor to increase refresh frequency for the entry frequency scheduler\&.
- .br
- Default is 1\&.
- .TP
- .B SCHEDULER_ENTRY_FREQUENCY_MAX_INTERVAL
- Maximum interval in minutes for the entry frequency scheduler\&.
- .br
- Default is 1440 minutes (24 hours)\&.
- .TP
- .B SCHEDULER_ENTRY_FREQUENCY_MIN_INTERVAL
- Minimum interval in minutes for the entry frequency scheduler\&.
- .br
- Default is 5 minutes\&.
- .TP
- .B SCHEDULER_ROUND_ROBIN_MAX_INTERVAL
- Maximum interval in minutes for the round robin scheduler\&.
- .br
- Default is 1440 minutes (24 hours)\&.
- .TP
- .B SCHEDULER_ROUND_ROBIN_MIN_INTERVAL
- Minimum interval in minutes for the round robin scheduler\&.
- .br
- Default is 60 minutes\&.
- .TP
- .B TRUSTED_REVERSE_PROXY_NETWORKS
- List of networks (CIDR notation) allowed to use the proxy authentication header, \fBX-Forwarded-For\fR, \fBX-Forwarded-Proto\fR, and \fBX-Real-Ip\fR headers\&.
- .br
- Default is empty\&.
- .TP
- .B WATCHDOG
- Enable or disable Systemd watchdog\&.
- .br
- Enabled by default\&.
- .TP
- .B WEBAUTHN
- Enable or disable WebAuthn/Passkey authentication\&.
- .br
- You must provide a username on the login page if you are using non-residential keys. However, this is not required for discoverable credentials\&.
- .br
- Default is disabled\&.
- .TP
- .B WORKER_POOL_SIZE
- Number of background workers\&.
- .br
- Default is 16 workers\&.
- .TP
- .B YOUTUBE_API_KEY
- YouTube API key for use with FETCH_YOUTUBE_WATCH_TIME. If nonempty, the duration will be fetched from the YouTube API. Otherwise, the duration will be fetched from the YouTube website\&.
- .br
- Default is empty\&.
- .TP
- .B YOUTUBE_EMBED_URL_OVERRIDE
- YouTube URL which will be used for embeds\&.
- .br
- Default is https://www.youtube-nocookie.com/embed/\&.
- .SH AUTHORS
- .P
- Miniflux is developed and maintained by Fr\['e]d\['e]ric Guillot with contributions from the Miniflux community\&.
- .SH "COPYRIGHT"
- .P
- Miniflux is released under the Apache 2.0 license\&.
|