Files
lms-sb/.env.example

54 lines
2.3 KiB
Bash

DATABASE_URL="postgresql://lms_user:password@localhost:5432/lms_db"
BETTER_AUTH_SECRET="generate-with: openssl rand -base64 32"
BETTER_AUTH_URL="http://localhost:3000"
RESEND_API_KEY=""
EMAIL_FROM="noreply@school.second-brain.ru"
S3_ENDPOINT="https://nbg1.your-objectstorage.com"
S3_BUCKET="second-brain-lms"
S3_ACCESS_KEY=""
S3_SECRET_KEY=""
S3_REGION="eu-central"
# Cloudflare Turnstile (anti-bot защита на регистрации)
NEXT_PUBLIC_TURNSTILE_SITE_KEY=""
TURNSTILE_SECRET_KEY=""
# Яндекс.Метрика — ID счётчика school.second-brain.ru (цели signup_free/gate_view).
# Build-time (NEXT_PUBLIC_*) — передавать через --build-arg при сборке. Сам счётчик
# (ym init snippet) ставится в admin → Settings → headCode, отдельно от этого ID.
NEXT_PUBLIC_METRIKA_COUNTER_ID=""
# Kinescope API
KINESCOPE_API_KEY=""
# Internal access-provisioning (payment-router → /api/internal/grant)
INTERNAL_GRANT_SECRET=""
# Freemium: slug бесплатного курса, в который авто-записываем новых юзеров при регистрации
FREE_COURSE_SLUG=obsidian-start
# Freemium quiz funnel (Typebot → /api/internal/quiz-lead)
QUIZ_LEAD_SECRET=""
# Listmonk API base — публичный домен (Listmonk живёт на Hetzner, наружу через newsletter.)
LISTMONK_URL="https://newsletter.second-brain.ru"
LISTMONK_USER="apiuser"
LISTMONK_TOKEN=""
LISTMONK_QUIZ_LIST_ID=""
# Freemium gate: ID wow-урока (2.6 «ежедневные заметки») — после его завершения
# показываем лестницу-оффер (трипвайр + полный курс)
WOW_MOMENT_LESSON_ID="obs-start-l2-006"
# Obsidian Toolbox (/tools): "true" — показывать точки входа и роуты (staging);
# не задано/иное — скрыто, /tools редиректит на /dashboard (prod, пока дорабатываем)
TOOLBOX_VISIBLE=""
# Чистый PDF (browserless на staging/prod; локально — SSH-туннель на staging)
BROWSER_WS_URL="ws://localhost:3333"
# Секрет browserless (TOKEN в его env) — на прод/staging генерировать: openssl rand -hex 24
BROWSERLESS_TOKEN=""
PDF_MONTHLY_LIMIT="100"