Open WebUI / LibreChat
Open WebUI và LibreChat là self-hosted ChatGPT clones — dùng cho team nội bộ, không cần share OpenAI account. Cả hai support OpenAI-compatible API nên config nexai trực tiếp.
Bạn cần chuẩn bị
·Docker đã cài đặt
·API Key (tạo ở trang API Keys)
·5 phút
Open WebUI — Docker
1
Run container với env vars
Chạy Open WebUI trỏ về nexai endpoint:
docker run -d \
-p 3000:8080 \
-e OPENAI_API_BASE_URL="https://nexai.newdev.net/api/v1" \
-e OPENAI_API_KEY="sk-billing-xxx" \
-v open-webui:/app/backend/data \
--name open-webui \
ghcr.io/open-webui/open-webui:main2
Truy cập UI
Mở http://localhost:3000, đăng ký admin account đầu tiên. Models nexai sẽ tự xuất hiện trong dropdown (Open WebUI gọi /v1/models để fetch list).
Open WebUI lưu các env var
OPENAI_API_BASE_URL + OPENAI_API_KEY vào DB sau lần chạy đầu (PersistentConfig). Đổi env var sau đó không có tác dụng — phải sửa qua Admin UI hoặc set RESET_CONFIG_ON_START=true để reload từ env.LibreChat — Docker Compose
1
Edit librechat.yaml
Trong librechat.yaml, thêm endpoint custom (đặt key trong .env, không hardcode):
version: 1.3.5
cache: true
endpoints:
custom:
- name: "nexai"
apiKey: "${NEXAI_API_KEY}"
baseURL: "https://nexai.newdev.net/api/v1"
models:
default: ["gpt-4o", "gpt-5.5", "gpt-5.3-codex", "DeepSeek-R1"]
fetch: true
titleConvo: true
titleModel: "gpt-4o-mini"
modelDisplayLabel: "nexai"Lưu key vào file
.env của LibreChat: NEXAI_API_KEY=sk-billing-xxx. Field fetch: true auto-populate model list từ /v1/models của nexai.2
Khởi động lại
docker-compose down && docker-compose up -d. Mở UI, chọn nexai từ endpoint dropdown.
Xong! Self-hosted UI đã kết nối với nexai.
Cho team production, set rate limit per user trong app config — tránh 1 user xài hết credit team.