Prostředí
Proměnné prostředí
Konfigurace environment proměnných
Turtor používá environment proměnné pro konfiguraci všech služeb. Výchozí hodnoty pro lokální vývoj jsou v apps/api/.env.example.
Produkční .env.production nesmí být commitován do repozitáře. Na VPS se nahrává přes pnpm deploy:env.
| Proměnná | Výchozí (dev) | Popis |
|---|
NODE_ENV | development | Prostředí (development / production) |
PORT | 4405 | Port API serveru |
FRONTEND_URL | http://localhost:4000 | URL veřejného webu (pro CORS, emaily) |
ADMIN_URL | http://localhost:4001 | URL admin dashboardu (pro CORS) |
CORS_ORIGIN | - | Povolené CORS origin (produkce) |
| Proměnná | Výchozí (dev) | Popis |
|---|
DATABASE_HOST | localhost | Hostname databáze |
DATABASE_PORT | 5433 | Port (offsetovaný pro dev) |
DATABASE_NAME | turtor | Název databáze |
DATABASE_USER | turtor | Uživatel databáze |
DATABASE_PASSWORD | turtor_secret | Heslo databáze |
| Proměnná | Výchozí (dev) | Popis |
|---|
REDIS_HOST | localhost | Hostname Redis |
REDIS_PORT | 6380 | Port (offsetovaný pro dev) |
REDIS_PASSWORD | (prázdné) | Heslo Redis |
| Proměnná | Výchozí (dev) | Popis |
|---|
JWT_SECRET | testovací klíč | Tajný klíč pro JWT access tokeny |
JWT_REFRESH_SECRET | testovací klíč | Tajný klíč pro refresh tokeny |
JWT_EXPIRATION | 24h | Platnost access tokenu |
JWT_REFRESH_EXPIRATION | 30d | Platnost refresh tokenu |
| Proměnná | Výchozí (dev) | Popis |
|---|
WORKOS_API_KEY | sk_test_xxxxx | WorkOS API klíč |
WORKOS_CLIENT_ID | client_xxxxx | WorkOS Client ID |
WORKOS_REDIRECT_URI | http://localhost:4001/auth/callback | Callback URL po OAuth |
| Proměnná | Výchozí (dev) | Popis |
|---|
STRIPE_SECRET_KEY | sk_test_xxxxx | Stripe tajný klíč |
STRIPE_WEBHOOK_SECRET | whsec_xxxxx | Stripe webhook signing secret |
MOCK_PAYMENTS | false | Mock mód (přeskočí Stripe volání) |
| Proměnná | Výchozí (dev) | Popis |
|---|
AWS_REGION | eu-central-1 | AWS region |
AWS_ACCESS_KEY_ID | minioadmin | S3 access key |
AWS_SECRET_ACCESS_KEY | minioadmin | S3 secret key |
AWS_S3_BUCKET | turtor-uploads | Název bucketu |
AWS_S3_ENDPOINT | http://localhost:9002 | MinIO endpoint (jen dev) |
| Proměnná | Výchozí (dev) | Popis |
|---|
SMTP_HOST | localhost | SMTP server (MailHog pro dev) |
SMTP_PORT | 1026 | SMTP port |
RESEND_API_KEY | re_xxxxx | Resend API klíč (produkce) |
EMAIL_FROM | noreply@turtor.cz | Odesílatel emailů |
| Proměnná | Popis |
|---|
TWILIO_ENABLED | Zapnutí SMS (true/false) |
TWILIO_ACCOUNT_SID | Twilio Account SID |
TWILIO_AUTH_TOKEN | Twilio Auth Token |
TWILIO_PHONE_NUMBER | Odesílací telefonní číslo |
Frontend aplikace používají proměnné s prefixem VITE_, které se kompilují do statického bundlu při buildu:
| Proměnná | Popis |
|---|
VITE_API_URL | URL API backendu |
VITE_WORKOS_CLIENT_ID | WorkOS Client ID pro OAuth |
VITE_STRIPE_PUBLISHABLE_KEY | Stripe publishable key |
VITE_ADMIN_URL | URL admin dashboardu |
Změna VITE_* proměnných vyžaduje nový build Docker obrazu, protože jsou zapečeny do statického JavaScriptu.
Klíčové rozdíly v konfiguraci:
| Aspekt | Development | Production |
|---|
| PostgreSQL port | 5433 | 5432 (interní Docker) |
| Redis port | 6380 | 6379 (interní Docker) |
| Database host | localhost | postgres (Docker service name) |
| Redis host | localhost | redis (Docker service name) |
| Email | MailHog (SMTP) | Resend API |
| S3 | MinIO (localhost:9002) | AWS S3 |
| Platby | Mock nebo Stripe test | Stripe live |
# Aktualizace .env.production na VPS
pnpm deploy:env
Toto nahraje lokální .env.production do /opt/apps/turtor/.env na VPS.