web-production-saas-starter/go-b2b-starter/example.env
2025-12-16 18:54:41 +04:00

82 lines
2.3 KiB
Bash

# Go B2B SaaS Starter Kit - Environment Configuration Template
# Copy this file to app.env and fill in your actual values
# Environment
ENV=DEV
ALLOW_SELF_APPROVAL=true
# Server
SERVER_ADDRESS=:8080
RATE_LIMIT_PER_SECOND=100
MAX_REQUEST_SIZE=10485760
# Security Settings
TLS_CERT_PATH=/path/to/cert.pem
TLS_KEY_PATH=/path/to/key.pem
TRUSTED_PROXIES=10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
ALLOWED_ORIGINS=http://localhost:3000,http://localhost:3001
# Redis Configuration
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_PASSWORD=
REDIS_DB=0
# Postgres Configuration
POSTGRES_HOST=localhost
POSTGRES_PORT=5432
POSTGRES_DB=mydatabase
POSTGRES_USER=user
POSTGRES_PASSWORD=password
DB_SSL_MODE=disable
MIGRATION_URL=src/pkg/db/postgres/sqlc/migrations
SEED_URL=src/pkg/db/postgres/seed
# Auth Configuration
ACCESS_TOKEN_DURATION=3h
REFRESH_TOKEN_DURATION=72h
TOKEN_SYMMETRIC_KEY=REPLACE_WITH_YOUR_32_CHAR_SECRET_KEY
SESSION_ENCRYPTION_KEY=REPLACE_WITH_YOUR_32_CHAR_SESSION_KEY
PASSWORD_HASH_COST=12
MAX_LOGIN_ATTEMPTS=5
LOCKOUT_DURATION=15m
JWT_ISSUER=go-b2b-starter
# === Stytch B2B configuration ===
STYTCH_PROJECT_ID=project-test-REPLACE_WITH_YOUR_STYTCH_PROJECT_ID
STYTCH_SECRET=secret-test-REPLACE_WITH_YOUR_STYTCH_SECRET
STYTCH_ENV=test
STYTCH_SESSION_DURATION_MINUTES=1440
STYTCH_INVITE_REDIRECT_URL=http://localhost:3000/authenticate
STYTCH_LOGIN_REDIRECT_URL=http://localhost:3000/authenticate
STYTCH_OWNER_ROLE_SLUG=owner
STYTCH_DISABLE_SESSION_VERIFICATION=false
# Cloudflare R2 Configuration
R2_ACCOUNT_ID=REPLACE_WITH_YOUR_R2_ACCOUNT_ID
R2_ACCESS_KEY_ID=REPLACE_WITH_YOUR_R2_ACCESS_KEY
R2_SECRET_ACCESS_KEY=REPLACE_WITH_YOUR_R2_SECRET_KEY
R2_BUCKET=uploads
R2_REGION=auto
S3_API=https://REPLACE_WITH_YOUR_R2_ACCOUNT_ID.r2.cloudflarestorage.com
# OpenAI Configuration
OPENAI_API_KEY=sk-proj-REPLACE_WITH_YOUR_OPENAI_API_KEY
OPENAI_MODEL=gpt-4o-mini
OPENAI_MAX_TOKENS=500
OPENAI_TEMPERATURE=0.0
LLM_TIMEOUT_SEC=30
LLM_MAX_RETRIES=1
LLM_FALLBACK_ENABLED=true
# Mistral Configuration
MISTRAL_API_KEY=REPLACE_WITH_YOUR_MISTRAL_API_KEY
OCR_DEBUG_MODE=true
# Polar Configuration
POLAR_ACCESS_TOKEN=polar_oat_REPLACE_WITH_YOUR_POLAR_ACCESS_TOKEN
POLAR_BASE_URL=https://sandbox-api.polar.sh
POLAR_DEBUG=true
WEBHOOK_SECRET=polar_whs_REPLACE_WITH_YOUR_WEBHOOK_SECRET
NEXT_PUBLIC_POLAR_PRODUCT_ID=REPLACE_WITH_YOUR_PRODUCT_ID
NEXT_PUBLIC_POLAR_BUSINESS_PRODUCT_ID=REPLACE_WITH_YOUR_BUSINESS_PRODUCT_ID