A fast and lightweight AI gateway written in Go, providing unified OpenAI-compatible and Anthropic-compatible APIs for OpenAI, Anthropic, Gemini, DeepSeek, xAI, Groq, OpenRouter, Z.ai, Azure OpenAI, Oracle, Ollama, and more.
Quick Start with Docker
Step 1: Start GoModel container
docker run --rm -p 8080:8080 \
-e LOGGING_ENABLED=true \
-e LOGGING_LOG_BODIES=true \
-e LOG_FORMAT=text \
-e LOGGING_LOG_HEADERS=true \
-e OPENAI_API_KEY="your-openai-key" \
enterpilot/gomodelFull list of environment variables (including all available providers): .env.template
-e on the command line in production — they can leak through shell history and process lists. Use docker run --env-file .env to load API keys from a file instead.
Step 2: Make your first API call
curl http://localhost:8080/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{ "model": "gpt-5-chat-latest", "messages": [{"role": "user", "content": "Hello!"}] }'
That's it! GoModel automatically detects which providers are available based on the credentials you supply.
Supported LLM Providers
GoModel supports OpenAI, Anthropic, Google Gemini, Vertex AI, DeepSeek, Groq, OpenRouter, Z.ai, xAI (Grok), Alibaba Cloud Model Studio (Bailian), MiniMax, Xiaomi MiMo, OpenCode Go, Azure OpenAI, Oracle, Ollama, vLLM, Amazon Bedrock, and all OpenAI-compatible providers.
See the Providers Overview for the full
per-provider feature matrix (chat, /responses, embeddings, files, batches,
passthrough), credentials, and configuration notes.
Alternative Setup Methods
Running from Source
Prerequisites: Go 1.26.4+
-
Create a
.envfile: -
Add your API keys to
.env(at least one required). -
Start the server:
Docker Compose
Infrastructure only (Redis, PostgreSQL, MongoDB, Adminer - no image build):
docker compose up -d
# or: make infraFull stack (adds GoModel + Prometheus; builds the app image):
cp .env.template .env # Add your API keys to .env docker compose --profile app up -d # or: make image
| Service | URL |
|---|---|
| GoModel API | http://localhost:8080 |
| Adminer (DB UI) | http://localhost:8081 |
| Prometheus | http://localhost:9090 |
Building the Docker Image Locally
docker build -t gomodel .
docker run --rm -p 8080:8080 --env-file .env gomodelAPI Endpoints
GoModel exposes OpenAI-compatible and Anthropic-compatible APIs, provider-native passthrough, and operations routes. See the API Endpoints reference for the full endpoint tables, and Admin Endpoints for the admin REST API and dashboard.
Gateway Configuration
GoModel is configured through environment variables and an optional config.yaml. Environment variables override YAML values. See the Configuration reference for the full list of settings organized by category, along with .env.template and config/config.example.yaml.
Quick Start - Authentication: By default GOMODEL_MASTER_KEY is unset. Without this key, API endpoints are unprotected and anyone can call them. This is insecure for production. Strongly recommend setting a strong secret before exposing the service. Add GOMODEL_MASTER_KEY to your .env or environment for production deployments.
See DEVELOPMENT.md for testing, linting, and pre-commit setup.
Roadmap
See the Roadmap for commercial features and the public 0.2.0 milestone.
Community
Join our Discord to connect with other GoModel users.