Import source: app/backend/.env.example
Import the existing local project snapshot. This commit organizes existing files; it does not represent newly developed functionality.
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
# Backend env — copy to backend/.env and fill in for local dev.
|
||||
# Production secrets live in /etc/teknav/secrets.env on the Debian host (NOT in git).
|
||||
|
||||
DATABASE_URL="postgresql://teknav:teknav_dev@localhost:5432/teknav?schema=public"
|
||||
REDIS_URL="redis://localhost:6379"
|
||||
|
||||
# 32+ random bytes; required even in dev. Generate: `openssl rand -base64 48`
|
||||
SESSION_SECRET="CHANGE_ME_RANDOM_BYTES_AT_LEAST_32_CHARS"
|
||||
|
||||
# Cookie scope. Leave empty in dev; in prod set to your apex domain (e.g. ".teknav.ir").
|
||||
COOKIE_DOMAIN=""
|
||||
|
||||
# Where uploaded images go.
|
||||
UPLOAD_DIR="./uploads"
|
||||
|
||||
# Comma-separated origins allowed by CORS. Use http://localhost:3009 for the Vite dev server.
|
||||
CORS_ORIGINS="http://localhost:3009"
|
||||
|
||||
# Server port (Fastify). Frontend talks to /api/* via the reverse proxy in prod.
|
||||
PORT=3010
|
||||
|
||||
# Pino log level: trace | debug | info | warn | error | fatal
|
||||
LOG_LEVEL=info
|
||||
|
||||
# ── OAuth ────────────────────────────────────────────────────────────────────
|
||||
# Base URL for OAuth callback redirect URIs. In dev: http://localhost:3009
|
||||
OAUTH_CALLBACK_BASE=http://localhost:3009
|
||||
GOOGLE_CLIENT_ID=
|
||||
GOOGLE_CLIENT_SECRET=
|
||||
GITHUB_CLIENT_ID=
|
||||
GITHUB_CLIENT_SECRET=
|
||||
|
||||
# ── Email / SMS ──────────────────────────────────────────────────────────────
|
||||
# In development, blank SMTP logs mail instead of sending it.
|
||||
SMTP_HOST=
|
||||
SMTP_PORT=587
|
||||
SMTP_USER=
|
||||
SMTP_PASS=
|
||||
SMTP_FROM=no-reply@teknav.ir
|
||||
|
||||
# Email to receive daily client error digest (leave empty to disable)
|
||||
ADMIN_ALERT_EMAIL=
|
||||
|
||||
SMS_PROVIDER=
|
||||
SMS_API_KEY=
|
||||
SMS_SENDER=
|
||||
|
||||
# ── Web Push ─────────────────────────────────────────────────────────────────
|
||||
# Blank values make push delivery a no-op.
|
||||
VAPID_PUBLIC_KEY=
|
||||
VAPID_PRIVATE_KEY=
|
||||
VAPID_SUBJECT=mailto:admin@teknav.ir
|
||||
|
||||
# ── Monetization ─────────────────────────────────────────────────────────────
|
||||
# Blank merchant id makes membership subscription return payment_unavailable.
|
||||
ZARINPAL_MERCHANT_ID=
|
||||
ZARINPAL_SANDBOX=1
|
||||
MEMBERSHIP_PRICE_IRR=5000000
|
||||
MEMBERSHIP_DURATION_DAYS=365
|
||||
|
||||
# ── Storage ──────────────────────────────────────────────────────────────────
|
||||
# Local disk is the active implementation.
|
||||
STORAGE_BACKEND=local
|
||||
S3_ENDPOINT=
|
||||
S3_BUCKET=
|
||||
S3_ACCESS_KEY=
|
||||
S3_SECRET_KEY=
|
||||
Reference in New Issue
Block a user