Files
temetro/backend/.env.example
T
Khalid Abdi 4e60361f77 fix: use phone-reachable relay URL in wallet-import QR
The "Import from a patient app → QR" code baked the web app's own
API_BASE_URL (typically http://localhost:4000) into the pairing URI, so a
real phone could never reach the relay and "Scan to connect" silently
stalled. Use the backend's server-resolved, device-reachable relay URL
instead (PUBLIC_RELAY_URL, else the request host), surface it on the
WalletPairing type, and document PUBLIC_RELAY_URL in .env.example.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-22 19:39:08 +03:00

50 lines
2.4 KiB
Bash

# --- Database -------------------------------------------------------------
# When running via docker compose, "db" is the Postgres service hostname.
# For running the backend directly on your host, use localhost:5432.
DATABASE_URL=postgres://temetro:temetro@db:5432/temetro
# --- Better Auth ----------------------------------------------------------
# Generate a strong secret (min 32 chars): openssl rand -base64 32
BETTER_AUTH_SECRET=replace-me-with-openssl-rand-base64-32
# Public base URL of THIS backend (used for auth callbacks & cookies).
BETTER_AUTH_URL=http://localhost:4000
# Directory for uploaded patient/lab files. Defaults to ./uploads in local dev;
# in Docker it's a persistent volume (see docker-compose.yml).
UPLOAD_DIR=./uploads
# --- AI ------------------------------------------------------------------
# Key used to encrypt at-rest AI provider API keys (per-user, set in the app's
# Settings → AI). Generate one: openssl rand -base64 32. Rotating it forces
# users to re-enter their provider keys.
AI_CREDENTIALS_KEY=replace-me-with-openssl-rand-base64-32
# --- App ------------------------------------------------------------------
# The frontend origin — used for CORS, Better Auth trustedOrigins, and the
# links embedded in verification / reset / invitation emails.
FRONTEND_URL=http://localhost:3000
PORT=4000
NODE_ENV=development
# Host port Postgres is published on by docker compose. Change it if 5432 is
# already in use on your machine (the app still talks to Postgres internally).
POSTGRES_PORT=5432
# --- Patient wallet relay -------------------------------------------------
# The URL baked into the QR a patient scans to import their record. Their phone
# must be able to reach it — so localhost will NOT work from a real device. If
# unset, the backend derives it from the request host (fine when you open the
# web app over your LAN IP, e.g. http://192.168.1.20:3000). Otherwise set it
# explicitly to a phone-reachable address: your machine's LAN IP or a public
# tunnel URL.
# PUBLIC_RELAY_URL=http://192.168.1.20:4000
# --- Email (optional) -----------------------------------------------------
# If SMTP_HOST is unset, emails (verify/reset/invite) are printed to the
# server console instead of being sent — zero setup for local development.
# SMTP_HOST=smtp.example.com
# SMTP_PORT=587
# SMTP_USER=
# SMTP_PASS=
# SMTP_FROM="temetro <no-reply@temetro.local>"