Skip to content

Latest commit

 

History

History
799 lines (523 loc) · 12.9 KB

commafeed.md

File metadata and controls

799 lines (523 loc) · 12.9 KB

🔒: Configuration property fixed at build time - All other configuration properties are overridable at runtime

Configuration property Type Default

commafeed.hide-from-web-crawlers

Whether to expose a robots.txt file that disallows web crawlers and search engine indexers.

Environment variable: COMMAFEED_HIDE_FROM_WEB_CRAWLERS

boolean

true

commafeed.image-proxy-enabled

If enabled, images in feed entries will be proxied through the server instead of accessed directly by the browser.

This is useful if commafeed is accessed through a restricting proxy that blocks some feeds that are followed.

Environment variable: COMMAFEED_IMAGE_PROXY_ENABLED

boolean

false

commafeed.password-recovery-enabled

Enable password recovery via email.

Quarkus mailer will need to be configured.

Environment variable: COMMAFEED_PASSWORD_RECOVERY_ENABLED

boolean

false

commafeed.announcement

Message displayed in a notification at the bottom of the page.

Environment variable: COMMAFEED_ANNOUNCEMENT

string

commafeed.google-analytics-tracking-code

Google Analytics tracking code.

Environment variable: COMMAFEED_GOOGLE_ANALYTICS_TRACKING_CODE

string

commafeed.google-auth-key

Google Auth key for fetching Youtube channel favicons.

Environment variable: COMMAFEED_GOOGLE_AUTH_KEY

string

HTTP client configuration

commafeed.http-client.user-agent

User-Agent string that will be used by the http client, leave empty for the default one.

Environment variable: COMMAFEED_HTTP_CLIENT_USER_AGENT

string

commafeed.http-client.connect-timeout

Time to wait for a connection to be established.

Environment variable: COMMAFEED_HTTP_CLIENT_CONNECT_TIMEOUT

Duration 🛈

5S

commafeed.http-client.ssl-handshake-timeout

Time to wait for SSL handshake to complete.

Environment variable: COMMAFEED_HTTP_CLIENT_SSL_HANDSHAKE_TIMEOUT

Duration 🛈

5S

commafeed.http-client.socket-timeout

Time to wait between two packets before timeout.

Environment variable: COMMAFEED_HTTP_CLIENT_SOCKET_TIMEOUT

Duration 🛈

10S

commafeed.http-client.response-timeout

Time to wait for the full response to be received.

Environment variable: COMMAFEED_HTTP_CLIENT_RESPONSE_TIMEOUT

Duration 🛈

10S

commafeed.http-client.connection-time-to-live

Time to live for a connection in the pool.

Environment variable: COMMAFEED_HTTP_CLIENT_CONNECTION_TIME_TO_LIVE

Duration 🛈

30S

commafeed.http-client.idle-connections-eviction-interval

Time between eviction runs for idle connections.

Environment variable: COMMAFEED_HTTP_CLIENT_IDLE_CONNECTIONS_EVICTION_INTERVAL

Duration 🛈

1M

commafeed.http-client.max-response-size

If a feed is larger than this, it will be discarded to prevent memory issues while parsing the feed.

Environment variable: COMMAFEED_HTTP_CLIENT_MAX_RESPONSE_SIZE

MemorySize 🛈

5M

    HTTP client cache configuration

commafeed.http-client.cache.enabled

Whether to enable the cache. This cache is used to avoid spamming feeds in short bursts (e.g. when subscribing to a feed for the first time or when clicking "fetch all my feeds now").

Environment variable: COMMAFEED_HTTP_CLIENT_CACHE_ENABLED

boolean

true

commafeed.http-client.cache.maximum-memory-size

Maximum amount of memory the cache can use.

Environment variable: COMMAFEED_HTTP_CLIENT_CACHE_MAXIMUM_MEMORY_SIZE

MemorySize 🛈

10M

commafeed.http-client.cache.expiration

Duration after which an entry is removed from the cache.

Environment variable: COMMAFEED_HTTP_CLIENT_CACHE_EXPIRATION

Duration 🛈

1M

Feed refresh engine settings

commafeed.feed-refresh.interval

Amount of time CommaFeed will wait before refreshing the same feed.

Environment variable: COMMAFEED_FEED_REFRESH_INTERVAL

Duration 🛈

5M

commafeed.feed-refresh.interval-empirical

If true, CommaFeed will calculate the next refresh time based on the feed's average time between entries and the time since the last entry was published. The interval will be somewhere between the default refresh interval and 24h.

See FeedRefreshIntervalCalculator for details.

Environment variable: COMMAFEED_FEED_REFRESH_INTERVAL_EMPIRICAL

boolean

false

commafeed.feed-refresh.http-threads

Amount of http threads used to fetch feeds.

Environment variable: COMMAFEED_FEED_REFRESH_HTTP_THREADS

int

3

commafeed.feed-refresh.database-threads

Amount of threads used to insert new entries in the database.

Environment variable: COMMAFEED_FEED_REFRESH_DATABASE_THREADS

int

1

commafeed.feed-refresh.user-inactivity-period

Duration after which a user is considered inactive. Feeds for inactive users are not refreshed until they log in again.

0 to disable.

Environment variable: COMMAFEED_FEED_REFRESH_USER_INACTIVITY_PERIOD

Duration 🛈

0S

commafeed.feed-refresh.filtering-expression-evaluation-timeout

Duration after which the evaluation of a filtering expresion to mark an entry as read is considered to have timed out.

Environment variable: COMMAFEED_FEED_REFRESH_FILTERING_EXPRESSION_EVALUATION_TIMEOUT

Duration 🛈

500MS

commafeed.feed-refresh.force-refresh-cooldown-duration

Duration after which the "Fetch all my feeds now" action is available again after use to avoid spamming feeds.

Environment variable: COMMAFEED_FEED_REFRESH_FORCE_REFRESH_COOLDOWN_DURATION

Duration 🛈

0S

Database settings

commafeed.database.query-timeout

Timeout applied to all database queries.

0 to disable.

Environment variable: COMMAFEED_DATABASE_QUERY_TIMEOUT

Duration 🛈

0S

    Database cleanup settings

commafeed.database.cleanup.entries-max-age

Maximum age of feed entries in the database. Older entries will be deleted.

0 to disable.

Environment variable: COMMAFEED_DATABASE_CLEANUP_ENTRIES_MAX_AGE

Duration 🛈

365D

commafeed.database.cleanup.statuses-max-age

Maximum age of feed entry statuses (read/unread) in the database. Older statuses will be deleted.

0 to disable.

Environment variable: COMMAFEED_DATABASE_CLEANUP_STATUSES_MAX_AGE

Duration 🛈

0S

commafeed.database.cleanup.max-feed-capacity

Maximum number of entries per feed to keep in the database.

0 to disable.

Environment variable: COMMAFEED_DATABASE_CLEANUP_MAX_FEED_CAPACITY

int

500

commafeed.database.cleanup.max-feeds-per-user

Limit the number of feeds a user can subscribe to.

0 to disable.

Environment variable: COMMAFEED_DATABASE_CLEANUP_MAX_FEEDS_PER_USER

int

0

commafeed.database.cleanup.batch-size

Rows to delete per query while cleaning up old entries.

Environment variable: COMMAFEED_DATABASE_CLEANUP_BATCH_SIZE

int

100

Users settings

commafeed.users.allow-registrations

Whether to let users create accounts for themselves.

Environment variable: COMMAFEED_USERS_ALLOW_REGISTRATIONS

boolean

false

commafeed.users.strict-password-policy

Whether to enable strict password validation (1 uppercase char, 1 lowercase char, 1 digit, 1 special char).

Environment variable: COMMAFEED_USERS_STRICT_PASSWORD_POLICY

boolean

true

commafeed.users.create-demo-account

Whether to create a demo account the first time the app starts.

Environment variable: COMMAFEED_USERS_CREATE_DEMO_ACCOUNT

boolean

false

Websocket settings

commafeed.websocket.enabled

Enable websocket connection so the server can notify web clients that there are new entries for feeds.

Environment variable: COMMAFEED_WEBSOCKET_ENABLED

boolean

true

commafeed.websocket.ping-interval

Interval at which the client will send a ping message on the websocket to keep the connection alive.

Environment variable: COMMAFEED_WEBSOCKET_PING_INTERVAL

Duration 🛈

15M

commafeed.websocket.tree-reload-interval

If the websocket connection is disabled or the connection is lost, the client will reload the feed tree at this interval.

Environment variable: COMMAFEED_WEBSOCKET_TREE_RELOAD_INTERVAL

Duration 🛈

30S

Note

About the Duration format

To write duration values, use the standard java.time.Duration format. See the Duration#parse() Java API documentation] for more information.

You can also use a simplified format, starting with a number:

  • If the value is only a number, it represents time in seconds.
  • If the value is a number followed by ms, it represents time in milliseconds.

In other cases, the simplified format is translated to the java.time.Duration format for parsing:

  • If the value is a number followed by h, m, or s, it is prefixed with PT.
  • If the value is a number followed by d, it is prefixed with P.

Note

About the MemorySize format

A size configuration option recognizes strings in this format (shown as a regular expression): [0-9]+[KkMmGgTtPpEeZzYy]?.

If no suffix is given, assume bytes.