shumiland-web/.env.example
Vadym Samoilenko 4654bc0e28 feat: Phase 8 — seed, security, loading skeleton, CSP
- src/seed.ts: idempotent seed script (admin, labels, SiteSettings, Navigation, TicketsConfig, homepage, sample blog/event)
- src/app/(frontend)/loading.tsx: page skeleton loader with animate-pulse
- next.config.ts: CSP + security headers (X-Frame-Options, Referrer-Policy, Permissions-Policy), localhost added to image remotePatterns
- src/app/api/tickets/create/route.ts: rate limiting (10 req/min/IP)
- src/app/api/tickets/webhook/route.ts: X-Webhook-Secret or ?secret query param verification
- .env.example: EZY_WEBHOOK_SECRET, SEED_ADMIN_*, portal URLs

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-04 17:40:25 +01:00

64 lines
4.1 KiB
Text
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# ═══════════════════════════════════════════════════════════════
# Shumiland — Environment Variables
# Скопіюйте цей файл в .env та заповніть значення
# ═══════════════════════════════════════════════════════════════
# ─── Database ────────────────────────────────────────────────
POSTGRES_USER=shumiland
POSTGRES_PASSWORD=змініть_на_сильний_пароль
POSTGRES_DB=shumiland
DATABASE_URL=postgresql://shumiland:змініть_на_сильний_пароль@localhost:5432/shumiland
# ─── Payload CMS ─────────────────────────────────────────────
PAYLOAD_SECRET=змініть_на_32_символьний_секрет
# ─── Site ────────────────────────────────────────────────────
NEXT_PUBLIC_SITE_URL=https://shumiland.com.ua
NODE_ENV=production
# ─── Оплата ezy.com.ua ───────────────────────────────────────
EZY_ACTIVITY_KEY=ваш_activity_key
EZY_PARTNER_KEY=ваш_partner_key
# Секрет для верифікації webhook від ezy.com.ua (опціонально, але рекомендовано)
EZY_WEBHOOK_SECRET=змініть_на_секрет
# ─── Twenty CRM ──────────────────────────────────────────────
TWENTY_API_URL=http://localhost:3003
TWENTY_API_KEY=ваш_twenty_api_key
TWENTY_ACCESS_TOKEN_SECRET=змініть_на_секрет
TWENTY_LOGIN_TOKEN_SECRET=змініть_на_секрет
TWENTY_REFRESH_TOKEN_SECRET=змініть_на_секрет
TWENTY_FILE_TOKEN_SECRET=змініть_на_секрет
TWENTY_APP_SECRET=змініть_на_секрет
# ─── Email (SMTP) ─────────────────────────────────────────────
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_SECURE=false
SMTP_USER=ваш_email@gmail.com
SMTP_PASS=ваш_app_password
SMTP_FROM="Шуміленд <info@shumiland.com.ua>"
# ─── Analytics ────────────────────────────────────────────────
NEXT_PUBLIC_GTM_ID=GTM-XXXXXXX
NEXT_PUBLIC_GA4_ID=G-XXXXXXXXXX
# ─── Umami ────────────────────────────────────────────────────
NEXT_PUBLIC_UMAMI_WEBSITE_ID=ваш_website_id
NEXT_PUBLIC_UMAMI_URL=https://analytics.shumiland.com.ua
UMAMI_APP_SECRET=змініть_на_секрет
# ─── Binotel ──────────────────────────────────────────────────
NEXT_PUBLIC_BINOTEL_WIDGET_HASH=ваш_widget_hash
BINOTEL_API_KEY=ваш_binotel_api_key
BINOTEL_API_SECRET=ваш_binotel_api_secret
# ─── Seed ─────────────────────────────────────────────────────
# Використовується лише при запуску: pnpm seed
SEED_ADMIN_EMAIL=admin@shumiland.com.ua
SEED_ADMIN_PASSWORD=змініть_на_сильний_пароль
# ─── Портали ──────────────────────────────────────────────────
NEXT_PUBLIC_TWENTY_URL=http://localhost:3003
NEXT_PUBLIC_UMAMI_URL=http://localhost:3001
NEXT_PUBLIC_METABASE_URL=http://localhost:3002