Hujjatlardan qidirish

Sahifa yoki bo‘lim nomini kiriting

Reference

Environment o‘zgaruvchilari

Application, database, security, S3, worker, frontend, test, seed va Caddy sozlamalari.

Application va data

VariableTalab / defaultMaqsad
APP_ENVMajburiy: development | test | productionMuhitni va production invariantlarini belgilaydi
APP_URLdev: http://localhost:8080Public API/application origin
WEB_URLdev: http://localhost:3000Frontend origin
API_ADDR:8080API bind address
WORKER_ADDR:8081Worker health bind
CORS_ALLOWED_ORIGINSDefault: WEB_URL; productionda explicitRuxsat etilgan browser originlari
POSTGRES_HOSTComposePostgreSQL host
POSTGRES_PORT5432PostgreSQL port
POSTGRES_DBRequiredDatabase nomi
POSTGRES_USERRequiredDatabase user
POSTGRES_PASSWORDSecretDatabase parol
DATABASE_URLRequiredGo servislar DSN’i
REDIS_URLdev localhostRedis DSN
REDIS_MAXMEMORYCompose tunableRedis memory ceiling

Security va S3

VariableTalabMaqsad
SESSION_SECRETKuchli, uniqueSession security
TRUSTED_PROXY_SECRETProd ≥32 belgi, uniqueCaddy → API trust
MASTER_ENCRYPTION_KEYBase64 32 baytProvider credential AES-256-GCM
AWS_REGIONdev: us-east-1S3 region
AWS_S3_BUCKETRequiredPrivate bucket
AWS_ACCESS_KEY_IDSecret/IAMS3 credential
AWS_SECRET_ACCESS_KEYSecret/IAMS3 credential
AWS_SESSION_TOKENOptionalTemporary credential
AWS_S3_ENDPOINTOptional; prod HTTPSS3-compatible endpoint
AWS_S3_FORCE_PATH_STYLEDefault: falsePath-style addressing

Worker

VariableDefaultMaqsad
JOB_CONCURRENCY4 (1–128)Parallel joblar
JOB_POLL_INTERVAL1sQueue polling
JOB_LEASE_DURATION30sOwnership lease
JOB_HEARTBEAT_INTERVAL10sLease heartbeat
JOB_TIMEOUT2mBitta job deadline
JOB_SHUTDOWN_GRACE15sGraceful stop
JOB_BACKOFF_BASE2sRetry boshlanishi
JOB_BACKOFF_MAX5mRetry maksimumi

Seed, image va edge

VariableTalabMaqsad
INITIAL_ADMIN_EMAILSeed uchunBirinchi admin email
INITIAL_ADMIN_PASSWORDSeed secretVaqtinchalik parol
SEED_IMAGEOptionalSeed command image override
CADDY_DOMAINProduction FQDNTLS virtual host
CADDY_EMAILACME emailCertificate notifications
CADDY_HTTP_PORT80Host HTTP port
CADDY_HTTPS_PORT443Host HTTPS port

Frontend va test runtime

VariableTalab / defaultMaqsad
API_INTERNAL_URLhttp://localhost:8080Next.js server rewrite va root auth probe uchun ichki API origin
E2E_BASE_URLhttp://127.0.0.1:3200Playwright tekshiradigan frontend URL; berilsa lokal web server ko‘tarilmaydi
E2E_IGNORE_HTTPS_ERRORSDefault: falseSelf-signed TLS ishlatilgan E2E muhitida HTTPS xatolarini e’tiborsiz qoldirish
E2E_ADMIN_EMAILAdmin E2E uchunAuthenticated sidebar va admin oqimlarida login email
E2E_ADMIN_PASSWORDAdmin E2E uchunAuthenticated E2E login paroli
TEST_DATABASE_URLFallback: DATABASE_URLGo integration testlari uchun alohida PostgreSQL DSN
TEST_REDIS_URLFallback: REDIS_URLRedisga bog‘liq integration testlar uchun DSN
CICI runner belgilaydiPlaywright retry soni va web server reuse siyosatini o‘zgartiradi

Minimal production skeleti

.env (secret qiymatlar placeholder)
APP_ENV=production
APP_URL=https://ai.example.uz
WEB_URL=https://ai.example.uz
CORS_ALLOWED_ORIGINS=https://ai.example.uz
DATABASE_URL=postgres://…
REDIS_URL=redis://redis:6379/0
SESSION_SECRET=<secret-manager-value>
TRUSTED_PROXY_SECRET=<different-32+-char-secret>
MASTER_ENCRYPTION_KEY=<canonical-base64-32-byte-key>
AWS_REGION=us-east-1
AWS_S3_BUCKET=edubase-ai-prod
CADDY_DOMAIN=ai.example.uz
CADDY_EMAIL=ops@example.uz