Biến môi trường
Danh sách đầy đủ các cấu hình trong tệp .env để vận hành toàn bộ hệ thống Data Explorer.
Cách đọc phần env này
Data Explorer hiện có hai lớp tài liệu env đáng chú ý trong repo: `.env.example` ở root để nhìn toàn hệ thống theo kiểu Docker-friendly, và `server/.env.example` để nhìn backend runtime trực tiếp. Bảng dưới đây gộp cả hai góc nhìn để bạn không phải nhảy qua lại giữa nhiều file khi cấu hình local, staging, hoặc production.
Lưu ý thực tế: hiện code fallback và example env trong repo đều đang dùng 90000ms. Nếu local/dev của bạn muốn fail sớm hơn để debug, bạn có thể tự hạ riêng giá trị này.
Phân biệt hai lớp cấu hình AI: `server/.env` dùng cho các lane dựng sẵn và dùng chung ở backend, còn custom OpenAI-compatible providers cùng lựa chọn model theo vai trò (`Assistant`, `Explain`, `AI SQL`, `AI NoSQL`, `Autocomplete`) được lưu cục bộ trong `Cấu hình AI` trên từng máy người dùng.
Cơ sở hạ tầng (Infrastructure)
| Biến | Mô tả | Ví dụ |
|---|---|---|
| PORT | Cổng server backend chạy (mặc định 3001) | 3001 |
| NODE_ENV | Môi trường chạy app | development | production |
| REDIS_URL | URL kết nối tới Redis cho caching, presence, notification, queue, và search flows | redis://localhost:6379 |
Bảo mật & Quản trị (Security & Admin)
| Biến | Mô tả | Ví dụ |
|---|---|---|
| JWT_SECRET | Secret mạnh để ký access token; backend sẽ từ chối placeholder yếu | replace-with-a-random-secret-at-least-32-bytes-long |
| REFRESH_TOKEN_SECRET | Secret riêng cho refresh token; nếu bỏ trống app có thể fallback về JWT_SECRET | another-very-long-secret |
| ENCRYPTION_KEY | Khóa đúng 32 ký tự để mã hóa saved connection passwords (AES-256) | 12345678901234567890123456789012 |
| LEGACY_ENCRYPTION_KEYS | Danh sách khóa cũ để đọc lại dữ liệu đã mã hóa từ các phiên bản trước | |
| ALLOW_INTERNAL_IPS | Cho phép kết nối tới IP nội bộ / localhost; mặc định false để giảm rủi ro SSRF | true | false |
| ADMIN_EMAIL | Email khởi tạo cho tài khoản admin đầu tiên | admin@example.com |
| ADMIN_PASSWORD | Mật khẩu admin khởi tạo | strong-password |
Metastore & URL nội bộ
| Biến | Mô tả | Ví dụ |
|---|---|---|
| DATABASE_URL | Connection URL cho PostgreSQL metastore của app | postgresql://postgres:postgres@localhost:5435/data_explorer |
| FRONTEND_URL | Origin thật của frontend, dùng cho CORS, cookie, và redirect flows | http://localhost:5173 |
| API_PUBLIC_URL | Public API base URL, hiện được dùng bởi các billing return / webhook flows | http://localhost:3001/api |
| ALLOW_INSECURE_DATABASE_TLS | Đặt 'false' để bật verify certificate TLS cho mọi kết nối database remote (Postgres, MySQL/MariaDB, CockroachDB, Redis, ClickHouse, MSSQL). Mặc định chấp nhận certificate tự ký cho dễ dev. | false |
| VITE_API_URL | API base URL mà frontend Vite sẽ gọi tới | http://localhost:3001/api |
AI Providers & LLM
| Biến | Mô tả | Ví dụ |
|---|---|---|
| GEMINI_API_KEY | Google Gemini key cho lane chất lượng cao và vision | AIzaSy... |
| AI_PROVIDER_TIMEOUT_MS | Timeout tổng cho provider requests. Hiện code fallback và file example trong repo đều đang dùng 90000ms | 90000 |
| AI_STREAM_IDLE_TIMEOUT_MS | Timeout khi stream bị stall. Nếu không đặt riêng, service sẽ fallback về AI_PROVIDER_TIMEOUT_MS; mặc định hiện tại cũng là 90000ms | 90000 |
| CEREBRAS_API_KEY | Cerebras key cho lane chi phí thấp hơn | cbr-... |
| CEREBRAS_BASE_URL | Base URL của Cerebras OpenAI-compatible endpoint | https://api.cerebras.ai/v1 |
| CEREBRAS_CHAT_MODEL | Model mặc định của lane Cerebras | llama3.1-8b |
| OPENROUTER_API_KEY | OpenRouter key cho default auto chain, fallback đa model, và một số lane vision hoặc web-backed search tùy model | sk-or-... |
| OPENROUTER_BASE_URL | Base URL của OpenRouter | https://openrouter.ai/api/v1 |
| OPENROUTER_CHAT_MODEL | Model mặc định của lane OpenRouter | |
| GROQ_API_KEY | Groq key cho lane phản hồi nhanh | gsk-... |
| GROQ_BASE_URL | Base URL của Groq OpenAI-compatible endpoint | https://api.groq.com/openai/v1 |
| GROQ_CHAT_MODEL | Model mặc định của lane Groq | openai/gpt-oss-120b |
| BEEKNOEE_API_KEY | Beeknoee key để bật explicit provider routing trong model catalog | sk-bee-... |
| BEEKNOEE_BASE_URL | Base URL của Beeknoee API | https://platform.beeknoee.com/api/v1 |
| BEEKNOEE_CHAT_MODEL | Fallback model mặc định của Beeknoee khi bạn không khóa model cụ thể | glm-4.7-flash |
Social Login (OAuth)
| Biến | Mô tả | Ví dụ |
|---|---|---|
| GOOGLE_CLIENT_ID | Google OAuth Client ID | xxx.apps.googleusercontent.com |
| GOOGLE_CLIENT_SECRET | Google OAuth Client Secret | GOCSPX-... |
| GOOGLE_CALLBACK_URL | Google callback URL trỏ về backend thật | http://localhost:3001/api/auth/google/callback |
| GITHUB_CLIENT_ID | GitHub OAuth Client ID | Ov23... |
| GITHUB_CLIENT_SECRET | GitHub OAuth Client Secret | git-... |
| GITHUB_CALLBACK_URL | GitHub callback URL trỏ về backend thật | http://localhost:3001/api/auth/github/callback |
Email (Brevo/Auth)
| Biến | Mô tả | Ví dụ |
|---|---|---|
| MAIL_USER | Email sender dùng cho Brevo REST API và auth notifications | your-email@gmail.com |
| MAIL_PASS | Brevo API key hoặc mail service key; nếu thiếu app sẽ log email ra console | xkeysib-... |
Billing providers
| Biến | Mô tả | Ví dụ |
|---|---|---|
| MOMO_PARTNER_CODE | Partner code cho MoMo checkout | |
| MOMO_ACCESS_KEY | Access key cho MoMo | |
| MOMO_SECRET_KEY | Secret key cho MoMo signature | |
| MOMO_CREATE_URL | Endpoint tạo payment của MoMo (sandbox/local nên dùng test URL) | https://test-payment.momo.vn/v2/gateway/api/create |
| ZALOPAY_APP_ID | App ID cho ZaloPay | |
| ZALOPAY_KEY1 | Primary signing key cho ZaloPay | |
| ZALOPAY_KEY2 | Secondary verification key cho ZaloPay | |
| ZALOPAY_CREATE_URL | Endpoint tạo payment của ZaloPay sandbox | https://sb-openapi.zalopay.vn/v2/create |
Sẵn sàng khám phá dữ liệu?
Tham gia cộng đồng trên GitHub để đóng góp cho IDE cơ sở dữ liệu địa phương thông minh nhất.
Mở Ứng dụng