-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathenv.template
More file actions
640 lines (493 loc) · 22.4 KB
/
env.template
File metadata and controls
640 lines (493 loc) · 22.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
# XRDB, eXtended Ratings DataBase, environment template
#
# Copy this file to .env and keep only the values you want to set.
# XRDB, eXtended Ratings DataBase, is the public project name.
# Keep the XRDB prefixed variable names below exactly as written.
# Core runtime
# NODE_ENV
# Sets the runtime mode.
# Use production for servers.
# Use development only for local debugging.
# NODE_ENV=production
# XRDB_LOG_LEVEL
# Server console log threshold for XRDB runtime logs.
# debug and info write to STDOUT.
# warn and error write to STDERR.
# XRDB_LOG_LEVEL=info
# XRDB_REQUEST_LOG_LEVEL
# Optional override for routine image request logs.
# Leave unset to keep request logs off by default.
# Accepted values: off, debug, info, warn, error
# XRDB_REQUEST_LOG_LEVEL=off
# XRDB_HOSTNAME
# Public host name used by the stack compose file and Traefik router rule.
# Needed for compose.yaml.
# Example: xrdb.example.com
# XRDB_HOSTNAME=xrdb.example.com
# XRDB_PORT
# Host port used by local-compose.yaml when you run the app without the stack template.
# The container itself still listens on port 3000.
# XRDB_PORT=3000
# XRDB_DATA_DIR
# Local standalone data folder mounted into /app/data by local-compose.yaml.
# Use this when you run the local compose path.
# XRDB_DATA_DIR=./data
# DOCKER_DATA_DIR
# Shared stack data root used by compose.yaml.
# The stack file mounts ${DOCKER_DATA_DIR}/xrdb into /app/data.
# DOCKER_DATA_DIR=./data
# DOCKER_NETWORK
# Docker network name used by the stack compose file.
# This should usually match the shared Traefik or app network on your VPS.
# DOCKER_NETWORK=aio_default
# DOCKER_NETWORK_EXTERNAL
# Set true when the Docker network already exists outside this repo.
# Set false only if you want compose to create the network itself.
# DOCKER_NETWORK_EXTERNAL=true
# XRDB_PREVIEW_ORIGIN
# Trusted preview origin used by /preview/[slug] when the app calls itself.
# Set this explicitly in production. The legacy PREVIEW_INTERNAL_ORIGIN alias is still accepted during migration.
# XRDB_PREVIEW_ORIGIN=http://127.0.0.1:3000
# PREVIEW_INTERNAL_ORIGIN=http://127.0.0.1:3000
# Proxy networking
# HTTP_PROXY
# HTTPS_PROXY
# Optional outbound proxy settings for XRDB.
# Use these if your server routes traffic through something like gluetun.
# HTTP_PROXY=http://127.0.0.1:8080
# HTTPS_PROXY=http://127.0.0.1:8080
# Traefik stack settings
# XRDB_TRAEFIK_ENTRYPOINTS
# Traefik entrypoints used by the stack compose file.
# websecure is the normal default for HTTPS.
# XRDB_TRAEFIK_ENTRYPOINTS=websecure
# XRDB_TRAEFIK_CERTRESOLVER
# Traefik certificate resolver used by the stack compose file.
# This usually matches the resolver name in your main Traefik deployment.
# XRDB_TRAEFIK_CERTRESOLVER=letsencrypt
# Brand links
# These values control the visible support and community links in the app.
# Leave them blank to use the built in defaults.
# NEXT_PUBLIC_BRAND_GITHUB_URL
# URL for the project GitHub repository link shown in the app.
# NEXT_PUBLIC_BRAND_GITHUB_URL=https://github.com/IbbyLabs/XRDB
# NEXT_PUBLIC_BRAND_GITHUB_LABEL
# Label shown for the GitHub repository link.
# NEXT_PUBLIC_BRAND_GITHUB_LABEL=XRDB Repo
# NEXT_PUBLIC_BRAND_SUPPORT_URL
# URL for the support link shown in the app.
# NEXT_PUBLIC_BRAND_SUPPORT_URL=https://kofi.ibbylabs.dev
# NEXT_PUBLIC_BRAND_UPTIME_URL
# URL for the uptime status page linked from the app.
# NEXT_PUBLIC_BRAND_UPTIME_URL=https://uptime.ibbylabs.dev
# NEXT_PUBLIC_BRAND_DISCORD_AIO_URL
# Invite or direct channel link for AIOMetadata support in the shared AIOStreams community.
# NEXT_PUBLIC_BRAND_DISCORD_AIO_URL=https://discord.gg/DdXgUY7e8z
# NEXT_PUBLIC_BRAND_DISCORD_AIO_LABEL
# Label shown for the AIOMetadata support link.
# NEXT_PUBLIC_BRAND_DISCORD_AIO_LABEL=AIOMetadata on AIOStreams
# NEXT_PUBLIC_BRAND_DISCORD_OFFICIAL_URL
# Invite for the direct project community.
# NEXT_PUBLIC_BRAND_DISCORD_OFFICIAL_URL=https://discord.gg/wPY2pcqjmm
# NEXT_PUBLIC_BRAND_DISCORD_OFFICIAL_LABEL
# Label shown for the direct project community link.
# NEXT_PUBLIC_BRAND_DISCORD_OFFICIAL_LABEL=Join the XRDB Community
# NEXT_PUBLIC_BRAND_DISCORD_DM_URL
# Direct contact link used as a fallback when invite links fail.
# NEXT_PUBLIC_BRAND_DISCORD_DM_URL=https://discord.com/users/947862578682548255
# NEXT_PUBLIC_BRAND_DISCORD_DM_HANDLE
# Visible handle used beside the fallback direct contact link.
# NEXT_PUBLIC_BRAND_DISCORD_DM_HANDLE=@ibbys89
# Request access and CORS
# XRDB_TRUST_PROXY_HEADERS
# Trust forwarded host and protocol headers from a reverse proxy.
# Enable this when XRDB sits behind Traefik or another proxy that sets forwarded headers correctly.
# XRDB_TRUST_PROXY_HEADERS=true
# XRDB_REQUEST_API_KEY
# Single shared request key for render and proxy access.
# Use this when you want to protect a private host with one key.
# XRDB_REQUEST_API_KEY=
# XRDB_REQUEST_API_KEYS
# Comma separated list of valid request keys.
# Use this when you need multiple valid keys instead of one shared key.
# XRDB_REQUEST_API_KEYS=
# XRDB_PROXY_ALLOWED_ORIGINS
# CORS allowlist for proxy responses.
# Use * for an open proxy host or a comma separated list for a stricter setup.
# XRDB_PROXY_ALLOWED_ORIGINS=*
# XRDB_CONFIG_ENCRYPTION_KEY
# 64 hex character string (32 bytes) used to encrypt saved config profile params at rest.
# If not set, a key is auto-generated on first boot and written to data/.config-key.
# Set this explicitly in production and back it up. Losing the key makes existing profiles unreadable.
# Generate with: openssl rand -hex 32
# XRDB_CONFIG_ENCRYPTION_KEY=
# XRDB_INACTIVE_CONFIG_PRUNE_DAYS
# Number of days of inactivity before a saved config profile is automatically deleted on startup.
# Inactivity is measured from the last time the profile was resolved by an image request.
# Set to -1 (default) to disable pruning entirely.
# Example: 7 deletes profiles not hit by any image request in the last 7 days.
# XRDB_INACTIVE_CONFIG_PRUNE_DAYS=-1
# XRDB_EPISODE_CONFIG_PROFILE_ID
# UUID of the saved config profile to apply to episode thumbnail requests by default.
# When set, any thumbnail URL that does not include an explicit ?config= parameter will
# automatically use this profile, so AIOMetadata-generated bare URLs include your configured
# badge and rating settings without requiring manually embedded params.
# Set this to the profile ID shown in the configurator Export section.
# XRDB_EPISODE_CONFIG_PROFILE_ID=
# WEBHOOK_URL
# Optional release webhook target used by the release tooling.
# Leave blank if you do not use release notifications.
# WEBHOOK_URL=
# Metadata providers
# XRDB_TMDB_READ_ACCESS_TOKEN
# Preferred server side TMDB read access token used for image rendering, search, and proxy translation.
# TMDB_READ_ACCESS_TOKEN is also accepted.
# XRDB_TMDB_READ_ACCESS_TOKEN=
# XRDB_TMDB_API_KEY
# Optional server side TMDB v3 API key fallback used for image rendering, search, and proxy translation.
# TMDB_API_KEY and TMDB_KEY are also accepted.
# XRDB_TMDB_API_KEY=
# MDBLIST_API_KEY
# Primary MDBList key used as a server side fallback for rating aggregation on hosted instances.
# MDBLIST_API_KEY=
# MDBLIST_API_KEYS
# Optional comma separated pool of MDBList keys.
# Useful for larger shared hosts that rotate between multiple keys.
# MDBLIST_API_KEYS=
# XRDB_README_PREVIEW_TMDB_KEY
# Dedicated TMDB key used only for fixed README preview routes.
# Keep this separate from your main key if you want isolated preview traffic.
# XRDB_README_PREVIEW_TMDB_KEY=
# XRDB_README_PREVIEW_MDBLIST_KEY
# Dedicated MDBList key used only for fixed README preview routes.
# XRDB_README_PREVIEW_MDBLIST_KEY=
# XRDB_TMDB_API_BASE_URL
# Override for the TMDB API base URL.
# Leave this alone unless you are routing TMDB through a custom gateway.
# XRDB_TMDB_API_BASE_URL=https://api.themoviedb.org/3
# XRDB_ANILIST_GRAPHQL_URL
# Override for the AniList GraphQL endpoint.
# XRDB_ANILIST_GRAPHQL_URL=https://graphql.anilist.co
# XRDB_ANIME_MAPPING_BASE_URL
# Override for the anime mapping service base URL.
# Used for anime id crosswalks and reverse lookup help.
# XRDB_ANIME_MAPPING_BASE_URL=https://animemapping.stremio.dpdns.org
# XRDB_KITSU_API_BASE_URL
# Override for the Kitsu API base URL.
# XRDB_KITSU_API_BASE_URL=https://kitsu.io/api/edge
# XRDB_MAL_CLIENT_ID
# MyAnimeList v2 client id used for direct MAL lookups.
# If blank, XRDB falls back to Jikan where possible.
# XRDB_MAL_CLIENT_ID=
# XRDB_MAL_API_BASE_URL
# Override for the official MyAnimeList API base URL.
# XRDB_MAL_API_BASE_URL=https://api.myanimelist.net/v2
# XRDB_JIKAN_API_BASE_URL
# Override for the Jikan fallback API base URL.
# XRDB_JIKAN_API_BASE_URL=https://api.jikan.moe/v4
# XRDB_TRAKT_CLIENT_ID
# Trakt client id used for direct Trakt rating lookups.
# XRDB_TRAKT_CLIENT_ID=
# XRDB_TRAKT_API_BASE_URL
# Override for the Trakt API base URL.
# XRDB_TRAKT_API_BASE_URL=https://api.trakt.tv
# OMDB_KEY
# OMDb API key used for poster lookups when posterArtworkSource=omdb.
# XRDB_OMDB_API_KEY and OMDB_API_KEY are also supported, but OMDB_KEY is the simplest local name.
# OMDB_KEY=
# XRDB_OMDB_API_BASE_URL
# Override for the OMDb API base URL.
# XRDB_OMDB_API_BASE_URL=https://www.omdbapi.com
# XRDB_FANART_API_KEY
# Server side Fanart API key used as fallback when the user does not supply fanartKey.
# FANART_API_KEY is also accepted.
# XRDB_FANART_API_KEY=
# XRDB_FANART_CLIENT_KEY
# Server side Fanart client key.
# FANART_CLIENT_KEY is also accepted.
# XRDB_FANART_CLIENT_KEY=
# SIMKL_CLIENT_ID
# SIMKL client id used for direct SIMKL rating lookups.
# SIMKL_CLIENT_ID=
# XRDB_SIMKL_APP_NAME
# App name sent to SIMKL in required request parameters.
# Set this to xrdb when you want the outgoing client name to match the new brand.
# XRDB_SIMKL_APP_NAME=xrdb
# XRDB_SIMKL_APP_VERSION
# App version sent to SIMKL in required request parameters.
# XRDB_SIMKL_APP_VERSION=1.0
# Cache windows
# These values control how long source data stays cached before XRDB asks again.
# Longer windows reduce source traffic.
# Shorter windows pick up changes faster.
# XRDB_TMDB_CACHE_TTL_MS
# TMDB metadata cache duration.
# XRDB_TMDB_CACHE_TTL_MS=259200000
# XRDB_MDBLIST_CACHE_TTL_MS
# MDBList ratings cache duration.
# XRDB_MDBLIST_CACHE_TTL_MS=259200000
# XRDB_KITSU_CACHE_TTL_MS
# Kitsu metadata cache duration.
# XRDB_KITSU_CACHE_TTL_MS=259200000
# XRDB_OMDB_CACHE_TTL_MS
# OMDb poster lookup cache duration.
# XRDB_OMDB_CACHE_TTL_MS=259200000
# XRDB_SIMKL_CACHE_TTL_MS
# SIMKL metadata cache duration.
# XRDB_SIMKL_CACHE_TTL_MS=259200000
# XRDB_SIMKL_ID_CACHE_TTL_MS
# SIMKL id resolution cache duration.
# XRDB_SIMKL_ID_CACHE_TTL_MS=15552000000
# XRDB_SIMKL_ID_EMPTY_CACHE_TTL_MS
# Cache duration for empty SIMKL id results.
# XRDB_SIMKL_ID_EMPTY_CACHE_TTL_MS=86400000
# XRDB_TORRENTIO_CACHE_TTL_MS
# Torrentio badge cache duration.
# XRDB_TORRENTIO_CACHE_TTL_MS=21600000
# XRDB_PROVIDER_ICON_CACHE_TTL_MS
# Rating provider icon cache duration.
# XRDB_PROVIDER_ICON_CACHE_TTL_MS=604800000
# XRDB_IMDB_DATASET_CACHE_TTL_MS
# Local IMDb dataset cache duration.
# XRDB_IMDB_DATASET_CACHE_TTL_MS=604800000
# XRDB_MDBLIST_OLD_MOVIE_CACHE_TTL_MS
# Extended MDBList cache duration for older titles.
# XRDB_MDBLIST_OLD_MOVIE_CACHE_TTL_MS=604800000
# XRDB_MDBLIST_OLD_MOVIE_AGE_DAYS
# Age threshold that decides when a title counts as old enough for the longer MDBList cache.
# XRDB_MDBLIST_OLD_MOVIE_AGE_DAYS=365
# XRDB_MDBLIST_RATE_LIMIT_COOLDOWN_MS
# Cooldown window after MDBList rate limiting.
# XRDB_MDBLIST_RATE_LIMIT_COOLDOWN_MS=86400000
# Stream badges
# XRDB_TORRENTIO_BASE_URL
# Base URL for the Torrentio instance used by stream badge lookups.
# Leave unset to use the default instance. Set to a blank value to disable Torrentio lookups.
# XRDB_TORRENTIO_BASE_URL=https://torrentio.strem.fun
# XRDB_TORRENTIO_FALLBACK_BASE_URL
# Optional fallback Torrentio instance used when the primary host times out or returns retryable errors.
# Set to a blank value to disable fallback.
# XRDB_TORRENTIO_FALLBACK_BASE_URL=https://torrentio.stremio.ru
# XRDB_TORRENTIO_CONCURRENCY
# Maximum number of concurrent Torrentio badge lookups.
# Higher values can speed things up but also raise rate limit risk.
# XRDB_TORRENTIO_CONCURRENCY=2
# XRDB_TORRENTIO_TIMEOUT_MS
# Per-request timeout for Torrentio badge fetches before XRDB fails over or gives up.
# XRDB_TORRENTIO_TIMEOUT_MS=4000
# XRDB_TORRENTIO_RATE_LIMIT_COOLDOWN_MS
# Cooldown window after Torrentio rate limits the host.
# XRDB_TORRENTIO_RATE_LIMIT_COOLDOWN_MS=900000
# XRDB_TORRENTIO_BYPASS_PROXY
# When true, Torrentio badge fetches skip shared HTTP(S) proxy routing and connect directly.
# XRDB_TORRENTIO_BYPASS_PROXY=false
# XRDB_TORRENTIO_DIRECT_CANDIDATE_BASE_URL
# Expected direct-host candidate used as the default fallback Torrentio base URL.
# XRDB_TORRENTIO_DIRECT_CANDIDATE_BASE_URL=https://torrentio.stremio.ru
# Adaptive stream cache TTL
# XRDB_TORRENTIO_ADAPTIVE_CACHE_ENABLED
# When true, stream cache TTL is selected based on content recency instead of a single fixed TTL.
# Disabled by default. Enable to reduce upstream load for older catalog content.
# XRDB_TORRENTIO_ADAPTIVE_CACHE_ENABLED=false
# XRDB_TORRENTIO_FRESH_WINDOW_MS
# Age window in ms below which content is classified as fresh. Default 8 hours.
# XRDB_TORRENTIO_FRESH_WINDOW_MS=28800000
# XRDB_TORRENTIO_WARM_WINDOW_MS
# Age window in ms below which content is classified as warm. Default 48 hours.
# Content older than this window is classified as stable.
# XRDB_TORRENTIO_WARM_WINDOW_MS=172800000
# XRDB_TORRENTIO_FRESH_TTL_MS
# Stream cache TTL applied to fresh-bucket content. Default 30 minutes.
# XRDB_TORRENTIO_FRESH_TTL_MS=1800000
# XRDB_TORRENTIO_WARM_TTL_MS
# Stream cache TTL applied to warm-bucket content. Default 6 hours.
# XRDB_TORRENTIO_WARM_TTL_MS=21600000
# XRDB_TORRENTIO_STABLE_TTL_MS
# Stream cache TTL applied to stable-bucket content. Default 7 days.
# XRDB_TORRENTIO_STABLE_TTL_MS=604800000
# Cache hardening
# CACHE_HARDENING_ENABLED
# Global kill switch for all cache hardening features.
# When false, all hardening features below are inactive. Set true to enable individual features.
# CACHE_HARDENING_ENABLED=false
# CACHE_HARDENING_NEGATIVE_CACHE
# When true, empty stream results are cached with a short TTL to reduce retry storms.
# Requires CACHE_HARDENING_ENABLED=true.
# CACHE_HARDENING_NEGATIVE_CACHE=false
# XRDB_TORRENTIO_NEGATIVE_CACHE_TTL_MS
# TTL applied to negative (empty) stream results when negative caching is enabled. Default 5 minutes.
# XRDB_TORRENTIO_NEGATIVE_CACHE_TTL_MS=300000
# CACHE_HARDENING_SWR
# When true, expired cache entries within the SWR window are served stale while a background refresh runs.
# Requires CACHE_HARDENING_ENABLED=true.
# CACHE_HARDENING_SWR=false
# XRDB_TORRENTIO_SWR_WINDOW_MS
# Duration after cache expiry during which stale data is eligible to be served under SWR. Default 1 hour.
# XRDB_TORRENTIO_SWR_WINDOW_MS=3600000
# CACHE_HARDENING_CIRCUIT_BREAKER
# When true, repeated provider failures open a circuit and skip that host during cooldown.
# Requires CACHE_HARDENING_ENABLED=true.
# CACHE_HARDENING_CIRCUIT_BREAKER=false
# XRDB_TORRENTIO_CIRCUIT_FAILURE_THRESHOLD
# Number of failures within the rolling window before the circuit opens. Default 5.
# XRDB_TORRENTIO_CIRCUIT_FAILURE_THRESHOLD=5
# XRDB_TORRENTIO_CIRCUIT_WINDOW_MS
# Rolling window in ms used to count failures for the circuit breaker. Default 5 minutes.
# XRDB_TORRENTIO_CIRCUIT_WINDOW_MS=300000
# XRDB_TORRENTIO_CIRCUIT_COOLDOWN_MS
# Duration in ms the circuit stays open after tripping. Default 2 minutes.
# XRDB_TORRENTIO_CIRCUIT_COOLDOWN_MS=120000
# CACHE_HARDENING_PROVIDER_BUDGETS
# When true, per-provider request budgets are enforced within a sliding time window.
# Requires CACHE_HARDENING_ENABLED=true.
# CACHE_HARDENING_PROVIDER_BUDGETS=false
# XRDB_TORRENTIO_BUDGET_REQUESTS_PER_WINDOW
# Maximum number of upstream Torrentio requests allowed per budget window. Default 200.
# XRDB_TORRENTIO_BUDGET_REQUESTS_PER_WINDOW=200
# XRDB_TORRENTIO_BUDGET_WINDOW_MS
# Time window in ms for the per-provider request budget. Default 60 seconds.
# XRDB_TORRENTIO_BUDGET_WINDOW_MS=60000
# CACHE_HARDENING_PREWARM_POPULARITY
# When true, prewarm targets are sorted by recent demand before scheduling.
# Requires CACHE_HARDENING_ENABLED=true.
# CACHE_HARDENING_PREWARM_POPULARITY=false
# CACHE_HARDENING_SNAPSHOT_RESTORE
# When true, the warm target set is persisted at the end of each warm run and restored on startup.
# Requires CACHE_HARDENING_ENABLED=true.
# CACHE_HARDENING_SNAPSHOT_RESTORE=false
# CACHE_HARDENING_AUTO_TUNE
# When true, observe-only auto-tuning recommendations are logged every 10 minutes.
# No configuration is changed automatically. Requires CACHE_HARDENING_ENABLED=true.
# CACHE_HARDENING_AUTO_TUNE=false
# CACHE_HARDENING_SINGLEFLIGHT
# Informational flag. Request coalescing via singleflight is pre-existing behavior.
# CACHE_HARDENING_SINGLEFLIGHT=false
# CACHE_HARDENING_JITTER
# Informational flag. TTL jitter is pre-existing behavior via deterministic jitter.
# CACHE_HARDENING_JITTER=false
# Poster cache warming
# XRDB_POSTER_WARM_ENABLED
# Enables scheduled poster cache warming when an inline source or source file is configured.
# Warm requests use a lean poster rating profile by default so cache priming does not depend on MDBList-backed providers.
# XRDB_POSTER_WARM_ENABLED=true
# XRDB_POSTER_WARM_SOURCE
# Inline comma-separated or newline-separated poster targets. Supports explicit IDs or full poster URLs.
# URL query params are normalized away before warming.
# XRDB_POSTER_WARM_SOURCE=tt0133093,tmdb:movie:603,tmdb:tv:1396
# XRDB_POSTER_WARM_SOURCE_FILE
# Optional file path for poster warming targets. File entries are merged with XRDB_POSTER_WARM_SOURCE.
# XRDB_POSTER_WARM_SOURCE_FILE=./data/poster-warm-targets.txt
# XRDB_POSTER_WARM_TMDB_ENABLED
# When true, XRDB fetches fresh TMDB popular and now playing ids (6 endpoints) before each warm pass.
# XRDB_POSTER_WARM_TMDB_ENABLED=false
# XRDB_POSTER_WARM_TMDB_LIMIT
# Maximum number of TMDB ids to merge into each warm pass.
# XRDB_POSTER_WARM_TMDB_LIMIT=100
# XRDB_POSTER_WARM_MDBLIST_ENABLED
# When true, XRDB fetches fresh MDBList trending movie and TV ids before each warm pass. No API key required.
# XRDB_POSTER_WARM_MDBLIST_ENABLED=false
# XRDB_POSTER_WARM_MDBLIST_LIMIT
# Maximum number of MDBList ids to merge into each warm pass.
# XRDB_POSTER_WARM_MDBLIST_LIMIT=200
# XRDB_POSTER_WARM_IMDB_ENABLED
# When true, XRDB reads the local IMDb ratings dataset and merges the top voted titles into each warm pass.
# Requires the IMDb ratings dataset to be present on disk (auto-downloaded when XRDB_IMDB_DATASET_AUTO_DOWNLOAD=true).
# XRDB_POSTER_WARM_IMDB_ENABLED=false
# XRDB_POSTER_WARM_IMDB_LIMIT
# Maximum number of IMDb top-rated ids to merge into each warm pass.
# XRDB_POSTER_WARM_IMDB_LIMIT=500
# XRDB_POSTER_WARM_RECENT_ENABLED
# When true, XRDB records recently served poster requests in a bounded ring buffer and replays them
# during the next warm pass using a sanitized version of each request. Auth keys, provider credentials,
# cache-busters, config ids, and MDBList-backed rating providers are stripped before replay.
# Resets on server restart.
# XRDB_POSTER_WARM_RECENT_ENABLED=false
# XRDB_POSTER_WARM_RECENT_LIMIT
# Maximum number of recent poster requests to replay per warm pass.
# XRDB_POSTER_WARM_RECENT_LIMIT=500
# XRDB_POSTER_WARM_INTERVAL_MS
# Intended cadence for poster warming runs.
# XRDB_POSTER_WARM_INTERVAL_MS=21600000
# XRDB_POSTER_WARM_CHECK_INTERVAL_MS
# How often XRDB checks whether another warming run is due.
# XRDB_POSTER_WARM_CHECK_INTERVAL_MS=900000
# XRDB_POSTER_WARM_CONCURRENCY
# Maximum number of poster warm jobs to run in parallel.
# XRDB_POSTER_WARM_CONCURRENCY=2
# XRDB_POSTER_WARM_LOG
# Enable summary logging for poster warming runs.
# XRDB_POSTER_WARM_LOG=false
# Local IMDb datasets
# XRDB_IMDB_DATASET_AUTO_DOWNLOAD
# Automatically download IMDb datasets when they are missing or stale.
# XRDB_IMDB_DATASET_AUTO_DOWNLOAD=true
# XRDB_IMDB_DATASET_AUTO_IMPORT
# Automatically import downloaded IMDb datasets into the local SQLite store.
# XRDB_IMDB_DATASET_AUTO_IMPORT=true
# XRDB_IMDB_DATASET_REFRESH_MS
# How often XRDB should refresh the IMDb datasets.
# XRDB_IMDB_DATASET_REFRESH_MS=259200000
# XRDB_IMDB_DATASET_CHECK_INTERVAL_MS
# How often XRDB checks whether a dataset refresh is due.
# XRDB_IMDB_DATASET_CHECK_INTERVAL_MS=900000
# XRDB_IMDB_DATASET_BASE_URL
# Base URL used for IMDb dataset downloads.
# XRDB_IMDB_DATASET_BASE_URL=https://datasets.imdbws.com
# XRDB_IMDB_RATINGS_DATASET_PATH
# Local file path for title.ratings.tsv.gz.
# XRDB_IMDB_RATINGS_DATASET_PATH=./data/imdb/title.ratings.tsv.gz
# XRDB_IMDB_EPISODES_DATASET_PATH
# Local file path for title.episode.tsv.gz.
# XRDB_IMDB_EPISODES_DATASET_PATH=./data/imdb/title.episode.tsv.gz
# XRDB_IMDB_RATINGS_DATASET_URL
# Full download URL for the ratings dataset if you want to override the default.
# XRDB_IMDB_RATINGS_DATASET_URL=https://datasets.imdbws.com/title.ratings.tsv.gz
# XRDB_IMDB_EPISODES_DATASET_URL
# Full download URL for the episode dataset if you want to override the default.
# XRDB_IMDB_EPISODES_DATASET_URL=https://datasets.imdbws.com/title.episode.tsv.gz
# XRDB_IMDB_DATASET_IMPORT_BATCH
# SQLite import batch size used during dataset loads.
# XRDB_IMDB_DATASET_IMPORT_BATCH=5000
# XRDB_IMDB_DATASET_IMPORT_PROGRESS
# Optional saved progress marker for resumable imports.
# XRDB_IMDB_DATASET_IMPORT_PROGRESS=0
# XRDB_IMDB_DATASET_LOG
# Enable verbose IMDb dataset sync logging.
# XRDB_IMDB_DATASET_LOG=false
# Sharp tuning
# These values control image rendering concurrency and Sharp cache pressure.
# Raise them carefully on stronger hosts.
# XRDB_SHARP_CONCURRENCY
# Maximum Sharp worker threads used for rendering.
# XRDB_SHARP_CONCURRENCY=4
# XRDB_SHARP_CACHE_MEMORY_MB
# Sharp cache memory limit in megabytes.
# XRDB_SHARP_CACHE_MEMORY_MB=512
# XRDB_SHARP_CACHE_ITEMS
# Maximum number of cached Sharp items.
# XRDB_SHARP_CACHE_ITEMS=2000
# XRDB_SHARP_CACHE_FILES
# Maximum number of cached Sharp file handles.
# XRDB_SHARP_CACHE_FILES=20000
# Suggested small host
# XRDB_SHARP_CONCURRENCY=2
# XRDB_SHARP_CACHE_MEMORY_MB=128
# XRDB_SHARP_CACHE_ITEMS=512
# XRDB_SHARP_CACHE_FILES=2000
# Suggested medium host
# XRDB_SHARP_CONCURRENCY=4
# XRDB_SHARP_CACHE_MEMORY_MB=512
# XRDB_SHARP_CACHE_ITEMS=2000
# XRDB_SHARP_CACHE_FILES=20000
# Suggested public host
# XRDB_SHARP_CONCURRENCY=4
# XRDB_SHARP_CACHE_MEMORY_MB=512
# XRDB_SHARP_CACHE_ITEMS=2000
# XRDB_SHARP_CACHE_FILES=20000
# XRDB_TORRENTIO_CACHE_TTL_MS=43200000
# XRDB_TORRENTIO_CONCURRENCY=3
# Suggested large host
# XRDB_SHARP_CONCURRENCY=8
# XRDB_SHARP_CACHE_MEMORY_MB=1024
# XRDB_SHARP_CACHE_ITEMS=4000
# XRDB_SHARP_CACHE_FILES=50000