Repository navigation
Configuration
Syed Ahmer Shah edited this page Nov 1, 2026
·
1 revision
All settings are environment variables with the OFFLINESHELF_ prefix, read from .env by Docker Compose.
| Variable | Default | Meaning |
|---|---|---|
SECRET_KEY |
required | Signs session cookies; 32+ random characters |
ENV |
dev |
prod behind TLS: Secure __Host- cookies and HSTS |
SITE_URL |
http://localhost:8080 |
Public address, used for CSRF origin checks and email links |
TRUSTED_PROXIES |
1 in Compose |
Reverse proxies in front of the API; never more than there are |
MAX_CATEGORY_DEPTH |
5 |
Deepest category walk |
MAX_PASTED_TITLES |
20000 |
Titles per pasted list |
MAX_ARTICLES_PER_LIST |
100000 |
A build with more fails |
MAX_SPARQL_CHARS |
10000 |
Longest SPARQL query |
MAX_TOP_ARTICLES |
1000 |
Largest pageviews list |
MAX_LISTS_PER_USER |
100 |
Lists per account |
MAX_BUNDLE_ARTICLES |
1000 |
Largest HTML bundle or ZIM export |
EXPORT_DAYS |
7 |
Days an export file is kept |
RATE_LIMIT_BUILD |
20 per hour |
Builds and exports per account |
SMTP_HOST |
empty (off) | For example smtp.resend.com; empty turns failure emails off |
SMTP_PORT |
587 |
STARTTLS |
SMTP_USERNAME / SMTP_PASSWORD
|
empty | Send-only credentials |
MAIL_FROM |
OfflineShelf <noreply@ahmershah.dev> |
A sender on a domain verified with your provider |
offlineshelf.ahmershah.dev | MIT | Wikipedia content CC BY-SA 4.0 | Questions: support@ahmershah.dev
OfflineShelf
Use it
Run it
Build it