-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
65 lines (60 loc) · 2.95 KB
/
Copy path.env.example
File metadata and controls
65 lines (60 loc) · 2.95 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
# --- Core (required) ---
DATABASE_URL="postgres://root:mysecretpassword@localhost:5432/local"
POSTGRES_USER="root"
POSTGRES_PASSWORD="mysecretpassword"
# Where image derivatives live (content-addressed). Mounted volume in prod.
BLOB_DIR="./data/blobs"
PUBLIC_ORIGIN="http://localhost:5173"
# Folder containing drizzle migrations, run on boot. Default is fine.
#MIGRATIONS_DIR="./drizzle"
# --- Pocket ID OIDC ---
# Issuer is the Pocket ID instance's base URL, no trailing slash, no path.
# Pocket ID does not show an "Issuer URL" field in its UI; it is just the base domain.
POCKET_ID_ISSUER="https://id.example.com"
POCKET_ID_CLIENT_ID=""
POCKET_ID_CLIENT_SECRET=""
OIDC_REDIRECT_URI="https://budget.example.com/auth/callback"
OIDC_SCOPES="openid profile email"
# --- Web Push ---
# Generate once with: bun x web-push generate-vapid-keys
# Rotating these invalidates every subscription. Do not regenerate casually.
VAPID_PUBLIC_KEY=""
VAPID_PRIVATE_KEY=""
VAPID_SUBJECT="mailto:you@example.com"
# --- ntfy ---
NTFY_SERVER_URL="https://ntfy.example.com"
NTFY_DEFAULT_TOKEN=""
# --- Barcode product lookup ---
# Required for "Scan a barcode" to return product names/categories.
# Example Open Food Facts proxy: https://world.openfoodfacts.org/api/v2/product
BARCODE_LOOKUP_URL=""
# --- Places ---
# In Docker, all of these pass straight through compose.yaml to the container.
# To self-host the geocoder there: set NOMINATIM_IMPORT_URL below, run
# `docker compose --profile geocoder up -d`, and point GEOCODER_URL at
# http://geocoder:8080 (the compose network name; no port is published).
#
# Raster tile template. Fetched by the SERVER and re-served from this origin, so
# the browser never talks to the tile provider and the app's CSP stays at
# 'self'. Must contain {z}, {x} and {y}.
MAP_TILE_URL="https://tile.openstreetmap.org/{z}/{x}/{y}.png"
# Printed as a permanent caption under the map. OSM's licence requires it.
MAP_TILE_ATTRIBUTION="© OpenStreetMap contributors"
# Disposable third-party bytes, deliberately outside BLOB_DIR so backups don't
# carry hundreds of megabytes of somebody else's map. Safe to delete any time.
# (Docker overrides this to /data/tiles, its own named volume.)
TILE_CACHE_DIR="./data/tiles"
# Nominatim-compatible geocoder for turning a typed address into a pin. Called
# server-side only. Self-host it if you can: the public instance's usage policy
# forbids autocomplete-style querying and will ban your IP. With the compose
# geocoder profile this is http://geocoder:8080.
GEOCODER_URL=""
# Contact address for the geocoder's and tile server's User-Agent. The public
# Nominatim and OSM tile instances block anonymous clients.
GEOCODER_EMAIL=""
# Only for `docker compose --profile geocoder`: the .osm.pbf the bundled
# Nominatim imports on its first start. Defaults to Monaco, Geofabrik's
# smallest extract, so a forgotten var is a one-minute import that finds
# nothing instead of the planet. Point it at your region:
# https://download.geofabrik.de
NOMINATIM_IMPORT_URL=""