feat: production deployment - full update with providers, admin, glossaries, pricing, tests
Major changes across backend, frontend, infrastructure: - Provider system with model selection (Google, DeepL, OpenAI, Ollama, Google Cloud) - Admin panel: user management, pricing, settings - Glossary system with CSV import/export - Subscription and tier quota management - Security hardening (rate limiting, API key auth, path traversal fixes) - Docker compose for dev, prod, and IONOS deployment - Alembic migrations for new tables - Frontend: dashboard, pricing page, landing page, i18n (en/fr) - Test suite and verification scripts Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -58,7 +58,18 @@ RATE_LIMIT_TRANSLATIONS_PER_DAY=500
|
||||
# Security (CHANGE THESE!)
|
||||
# ===========================================
|
||||
ADMIN_USERNAME=admin
|
||||
ADMIN_PASSWORD=CHANGE_THIS_SECURE_PASSWORD
|
||||
|
||||
# Use bcrypt hash — NEVER store plaintext password in production
|
||||
# Generate with: python -c "from passlib.context import CryptContext; print(CryptContext(schemes=['bcrypt']).hash('YOUR_PASSWORD'))"
|
||||
ADMIN_PASSWORD_HASH=
|
||||
|
||||
# JWT secret key — REQUIRED, generates random key at startup if not set (breaks auth on restart)
|
||||
# Generate with: python -c "import secrets; print(secrets.token_urlsafe(64))"
|
||||
JWT_SECRET_KEY=
|
||||
|
||||
# Admin token secret — REQUIRED, generates random key at startup if not set (breaks admin sessions on restart)
|
||||
# Generate with: python -c "import secrets; print(secrets.token_hex(32))"
|
||||
ADMIN_TOKEN_SECRET=
|
||||
|
||||
# CORS Configuration
|
||||
CORS_ORIGINS=https://translate.yourdomain.com
|
||||
|
||||
Reference in New Issue
Block a user