This is a clone of Vercel's AI Chatbot at commit 7d8e713.
In a terminal,
git clone https://github.com/Sindri-Labs/vercel-ai-chatbot.git
cd vercel-ai-chatbot
Configure your environment variable file that will be used with Docker Compose
cp .env.example.sindri .env
Then, edit your new .env
file. Fill out the OPENAI_API_KEY
variable with your Sindri API Key. A Sindri API Key can be generated by first creating a Sindri account then visiting the API Keys page.
Build and run the application (building will take several minutes)
docker compose --env-file .env up --build
You will know it is ready when you see logs similar to
vercel-ai-chatbot-frontend-1 | ✓ Starting...
vercel-ai-chatbot-frontend-1 | ✓ Ready in 542ms
Visit http://localhost:3000 and start chatting as a guest user. Chat history will not be saved between sessions.
Notes:
- All chats are automatically encrypted with Sindri's Trusted Execution Environment (TEE)! The console logs for the
evllmp
container show encrypted/decrypted chats. - Sindri is still in development. File uploads and web searches are still in development and currently do not work.
Visit http://localhost:3000/register and create an account.
You can also visit the Account menu in the bottom of the left sidebar. Here you can create accounts and log into existing accounts.
To bring it all down, run:
docker compose down
You can bring it up again with docker compose --env-file .env up
. This will skip the building phase and existing accounts and their chat histories will be restored.
Variable | Description | Default |
---|---|---|
AUTH_SECRET |
JWT encryption secret | Required (create with openssl rand -base64 32 ) |
BLOB_READ_WRITE_TOKEN |
Vercel Blob Storage key | Required |
MAX_COMPLETION_TOKENS |
Maximum tokens for responses | 1000 |
OPENAI_API_KEY |
Your OpenAI API key | Required |
OPENAI_BASE_URL |
Custom OpenAI-compatible endpoint | https://api.openai.com/v1 |
OPENAI_MODEL |
Model to use for chat completions | gpt-4o-mini |
PORT |
Port the server is exposed | 3000 |
SINDRI_BASE_URL |
Sindri OpenAI-compatible endpoint | https://sindri.app/api/ai/v1/openai |
USE_TOOLS |
Enable AI tools (weather, documents, etc.) | false |
- Docker Deployment: Complete containerized setup with PostgreSQL and Redis
- OpenAI Integration: Switched from xAI to OpenAI with configurable base URL
- PDF Support: Added PDF and JSON file upload support (up to 100MB)
- Authentication: Fixed auth flow and added guest mode
- Environment Variables: All configuration via Docker environment variables
- This Vercel version still uses the OpenAI
/v1/chat/completions
instead of the newer/v1/responses
endpoint. Sindri does not yet support/v1/responses
.