Repository navigation
Expand file tree
/
Copy path.env.example
More file actions
88 lines (79 loc) · 4.78 KB
/
Copy path.env.example
File metadata and controls
88 lines (79 loc) · 4.78 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
# .env.example — copy to .env and fill in the values before running locally.
#
# Required vars are needed for the app to boot. Optional vars enable
# specific features (mobile OAuth, webhooks, macOS workarounds) and can
# be left blank during basic development.
#
# Generate secret keys with: bundle exec rails secret
# ─── Database (required) ─────────────────────────────────────────────────────
# config/database.yml reads these discrete vars (NOT a DATABASE_URL).
# Default: PostgreSQL on localhost:5432.
DATABASE_HOST=localhost
DATABASE_PORT=5432
DATABASE_NAME=dawarich_development
DATABASE_USERNAME=postgres
DATABASE_PASSWORD=
# ─── Redis (required) ────────────────────────────────────────────────────────
REDIS_URL=redis://localhost:6379
# ─── JWT / Auth secrets (required) ───────────────────────────────────────────
# Used for subscription tokens and mobile auth challenge/link tokens.
JWT_SECRET_KEY=
AUTH_JWT_SECRET_KEY=
# ─── macOS fork() fix (optional — macOS only) ─────────────────────────────────
# Prevents "objc[…]: +initialize may have been in progress in another thread"
# warnings/crashes when Sidekiq forks on macOS.
OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES
# ─── Background job tuning (optional) ─────────────────────────────────────────
# Seconds the nightly place-visit job pauses between places, to keep it from
# saturating the database and delaying point ingestion. Raise on large databases.
PLACE_VISITS_THROTTLE_SECONDS=0.1
# ─── Map tile tuning (optional) ───────────────────────────────────────────────
# Statement timeout (ms) for the vector tile queries under tiled rendering.
# The default bounds a runaway tile query; raise it on self-hosted instances
# where very large date ranges legitimately exceed it (cancelled tile queries
# show as "canceling statement due to statement timeout" / terminated parallel
# workers in the PostgreSQL log).
VECTOR_TILES_QUERY_TIMEOUT_MS=5000
# ─── SMTP email (optional) ───────────────────────────────────────────────────
# Configure outbound email. SMTP_SSL=true enables implicit TLS (port 465); it
# turns on automatically when SMTP_PORT=465. STARTTLS is the default otherwise.
# SMTP_OPENSSL_VERIFY_MODE=none skips TLS certificate verification, for a LAN
# mail server with a self-signed certificate. Leave unset to keep verifying.
SMTP_SERVER=
SMTP_PORT=
SMTP_USERNAME=
SMTP_PASSWORD=
SMTP_SSL=
SMTP_OPENSSL_VERIFY_MODE=
# ─── Reverse geocoding / place search (optional) ─────────────────────────────
# Optional. Geocoding is configured for the whole instance, either here or by an
# admin in Settings → Instance (/admin/settings). A variable set below pins that
# value: the field is shown read-only there until the variable is removed.
# PHOTON_API_HOST=
# PHOTON_API_KEY=
# PHOTON_API_USE_HTTPS=false
# NOMINATIM_API_HOST=
# NOMINATIM_API_KEY=
# NOMINATIM_API_USE_HTTPS=true
# GEOAPIFY_API_KEY=
# LOCATIONIQ_API_KEY=
# Requests per second ceiling for the provider above. Leave blank for no limit;
# photon.komoot.io is pinned to 1 and app.chibigeo.com defaults to 1 and is
# capped at 25 whatever you set here.
# REVERSE_GEOCODING_RPS=
# How many Sidekiq threads the reverse_geocoding queue may hold. Defaults to a
# third of BACKGROUND_PROCESSING_CONCURRENCY, since threads waiting on the rate
# limit add no throughput. Raise it if your provider has no limit worth
# respecting.
# REVERSE_GEOCODING_CONCURRENCY=
# ─── Route videos (optional) ─────────────────────────────────────────────────
# Route replay videos are rendered in the browser and stored as attachments.
# They are large — roughly 17 MB for a 15-second vertical video, 35 MB for 30
# seconds — so both limits below are on by default. Expiring a video deletes
# only the file: the settings it was made with are kept, and the gallery
# offers a Re-render button that rebuilds it.
#
# Delete video files older than this many days. 0 keeps them forever.
# VIDEO_RETENTION_DAYS=30
# Keep at most this many videos per user, newest first. 0 means no limit.
# VIDEO_MAX_PER_USER=10