82 lines
2.3 KiB
Bash
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
|