Repository navigation
Expand file tree
/
Copy path.env.example
More file actions
70 lines (58 loc) · 3.11 KB
/
Copy path.env.example
File metadata and controls
70 lines (58 loc) · 3.11 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
# Nothing here is required to boot except DATABASE_URL. Each block switches on a
# feature, and a block left blank turns its feature off rather than crashing.
NODE_ENV=development
PORT=3000
# Every generated URL is built from this: canonicals, og:image, RSS self-links,
# calendar feed URLs, notification click targets, every link in a reminder email --
# and the passkey rpID. Changing it invalidates every passkey already registered.
SITE_URL=http://localhost:3000
ROLES=web,worker
DATABASE_URL=postgres://genre:genre@localhost:5432/genre
REDIS_URL=redis://localhost:6379
# Which adapters run. Four of the five need no key at all.
CATALOG_PROVIDERS=tvmaze,anilist,tmdb,musicbrainz,spacedevs
CATALOG_HORIZON_DAYS=120
# Or mirror film, tv and anime from nichedb.dev instead of polling TMDB, TVmaze,
# AniList and the IMDb dumps here. Naming `nichedb` is the switch: the three
# local screen adapters, the TMDB enrichment passes and the IMDb backfill all
# stand down for those categories, and music and space carry on as before.
# Take it out again to roll back; nothing is deleted.
# CATALOG_PROVIDERS=nichedb,musicbrainz,spacedevs
# nichedb allows 600 anonymous requests an hour per address. A pass is two
# requests at steady state; the ceiling only matters during the first mirror.
NICHEDB_URL=https://nichedb.dev
NICHEDB_PAGES_PER_PASS=250
NICHEDB_DEADLINE_MS=600000
# The only provider key, and it is free: https://www.themoviedb.org/settings/api
# Without it the film category is skipped rather than failing.
TMDB_API_KEY=
# Artist genre lookups MusicBrainz may be asked for per pass. At one request per
# second this is also the pass duration in seconds. Raising it does not make music
# fill in faster -- most of these artists simply have no tags yet.
MUSIC_LOOKUP_BUDGET=60
# Web push. Generate with: bun -e "import('@profullstack/notifications/server').then(m => console.log(m.generateVapidKeys()))"
# (from packages/notify). The public key is served at /api/push/vapid-public-key.
VAPID_PUBLIC_KEY=
VAPID_PRIVATE_KEY=
VAPID_SUBJECT=mailto:hello@genrewatch.com
# Email
RESEND_API_KEY=
MAIL_FROM=GenreWatch <alerts@genrewatch.com>
# A reader's own channel list is encrypted at rest with this, because the playlist
# URL carries their provider credentials. Without it the feature turns itself off
# rather than storing credentials in the clear. 32 bytes, base64.
PLAYLIST_SECRET=
# Minutes before something with a real start time (an episode, an airing, a launch).
REMINDER_OFFSETS=60,1
# Minutes before something that only has a DATE (a film, an album), measured against
# the noon-UTC anchor those are stored at. 1440 = the day before, 0 = on the day.
REMINDER_DATE_OFFSETS=1440,0
# Sync on the next boot regardless of how recently a pass ran. For shipping code
# that reads a new provider field: on, deploy, off. Note that spaceflight allows
# only fifteen requests an HOUR for the whole deployment, so leaving this on is not
# free.
SYNC_ON_BOOT=false
# Traffic counting. No default: a hardcoded id would make every fork and staging
# copy report into the same dashboard. Not a secret -- it is served to every
# visitor in the HTML.
CRAWLPROOF_SITE_ID=