Environment Variables Reference

Translato is configured primarily through environment variables. This document provides a comprehensive list of all available settings for the API Server and Web Application.

1. API Server (apps/api/.env)

Required for Production

VariableDefaultDescription
NODE_ENVdevelopmentEnvironment mode (production, development, test)
DATABASE_URLPostgreSQL connection string
REDIS_URLredis://localhost:6379Redis connection string
JWT_ACCESS_TOKEN_SECRETSigning secret (≥64 chars)
JWT_REFRESH_TOKEN_SECRETSigning secret (≥64 chars)
CSRF_TOKEN_SECRETCSRF token HMAC secret (≥32 chars)
VCS_ENCRYPTION_KEYAES-256-GCM encryption key (≥32 chars)
ALLOWED_ORIGINSCORS allowed origins (comma-separated)

Server Configuration

VariableDefaultDescription
PORT3003API server port
HOST0.0.0.0Listen address
MAX_UPLOAD_SIZE10485760Max file upload (bytes, default 10MB)
BACKUP_STORAGE_DIR./data/backupsPath for project backups

Authentication & Cookies

VariableDefaultDescription
COOKIE_SECUREfalseRequire HTTPS for cookies (must be true in prod)
COOKIE_SAME_SITElaxCookie SameSite policy
BCRYPT_ROUNDS12Password hashing rounds
MAX_LOGIN_ATTEMPTS5Before lockout (15 min)
EMAIL_VERIFICATION_REQUIREDfalseBlock access for unverified users

External Integrations

VCS (OAuth)

  • GITHUB_CLIENT_ID / GITHUB_CLIENT_SECRET
  • GITLAB_CLIENT_ID / GITLAB_CLIENT_SECRET

Machine Translation

  • DEEPL_API_KEY
  • GOOGLE_TRANSLATE_API_KEY
  • OPENAI_API_KEY
  • ANTHROPIC_API_KEY
  • GEMINI_API_KEY

Email Delivery

  • RESEND_API_KEY
  • SUPPORT_EMAIL (default: support@translato.dev)

2. Web App (apps/web/.env.local)

VariableRequiredDefaultDescription
NEXT_PUBLIC_API_URLYeshttp://localhost:3003Fastify API URL
NEXT_PUBLIC_APP_URLNohttp://localhost:3002Public URL for this app
NEXT_PUBLIC_APP_NAMENoTranslatoDisplay name in UI
API_PROXY_URLNoBackend URL for Next.js rewrites (Docker)

3. Security Notes

  • Secrets: Never commit .env files to version control.
  • Validation: The server will refuse to start in production mode if critical secrets (JWT, VCS, CSRF) are weak or missing.
  • Key Rotation: You can rotate secrets by updating the environment variable. Existing sessions will be invalidated.