Biến môi trường
Danh sách đầy đủ các biến môi trường trong file .env.
Bắt buộc
| Biến | Mô tả | Ví dụ |
|---|---|---|
DB_PASSWORD | Mật khẩu MySQL cho user CQA | openssl rand -hex 16 |
MYSQL_ROOT_PASSWORD | Mật khẩu root MySQL | openssl rand -hex 16 |
JWT_SECRET | Secret cho JWT tokens, tối thiểu 32 ký tự | openssl rand -hex 32 |
ENCRYPTION_KEY | Key 32 bytes cho mã hóa AES-256-GCM | openssl rand -hex 16 |
Server
| Biến | Mô tả | Mặc định |
|---|---|---|
SERVER_PORT | Port của ứng dụng | 8080 |
SERVER_HOST | Host bind | 0.0.0.0 |
APP_ENV | Môi trường (development / production) | production |
APP_URL | URL công khai (cho links trong notification) |
Database
| Biến | Mô tả | Mặc định |
|---|---|---|
DB_HOST | MySQL host | db |
DB_PORT | MySQL port | 3306 |
DB_USER | MySQL username | cqa |
DB_PASSWORD | MySQL password | |
DB_NAME | Tên database | cqa |
Rate Limiting
| Biến | Mô tả | Mặc định |
|---|---|---|
RATE_LIMIT_PER_IP | Số request/phút cho mỗi IP | 100 |
RATE_LIMIT_PER_USER | Số request/phút cho mỗi user | 300 |
SSL (tùy chọn)
| Biến | Mô tả | Mặc định |
|---|---|---|
LEGO_DOMAIN | Domain cho SSL tự động (Let's Encrypt) | (trống = HTTP mode) |
LEGO_EMAIL | Email cho Let's Encrypt |
TIP
Để trống LEGO_DOMAIN nếu bạn không cần SSL hoặc đã có reverse proxy riêng (Cloudflare, Caddy...).
Tạo giá trị bảo mật
bash
# Mật khẩu database
openssl rand -hex 16
# JWT secret (32+ ký tự)
openssl rand -hex 32
# Encryption key (đúng 32 bytes)
openssl rand -hex 16