selfhostedworld.com logoselfhostedworld.com

Try describing what you need:

GoModel logo

GoModel

★ 1.2k
MIT License6 Containers — 6 containers — moderate hosting footprintDocker · Compose · SourceNeeds Postgres9+ active committers (12mo)

About

GoModel is an AI gateway built in Go for routing requests to a wide range of model providers through a unified API layer. It is aimed at developers and teams that want a single entry point for...

Community Ratings

No ratings yet

Features

  • OpenAI-compatible API
  • Anthropic-compatible API
  • provider-native passthrough
  • operations routes
  • admin REST API
  • dashboard
  • usage analytics
  • observability panel
  • token tracking
  • cost tracking

Details

Last Updated
Oct 11, 2026
Created
Dec 5, 2025
Install Methods
dockerdocker-composesource
Requirements
Go 1.26.4+RedisPostgreSQLMongoDBPrometheus
Authentication
local
API
REST
Runtime / Stack
GoDocker
Privacy & Independence
Cloud: Optional
Deployment

Deployment: Docker Compose ✓6 Containers — moderate hosting footprintRuns as 6 containers

Run GoModel with Docker Compose

Compose file from the GoModel project repository.

6 services · database: postgres · infra: redis, postgres, mongo · 2 unclassified (adminer, prometheus)

no resource limits declared

needs persistent storage (6 volumes)

docker-compose.yaml · @ 330558a · scanned Sep 23, 2026

# Infra (redis, postgres, mongodb, adminer): `docker compose up -d`
# App + Prometheus: `docker compose --profile app up -d`

services:
  gomodel:
    profiles:
      - app
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - "${PORT:-8080}:8080"
    env_file:
      - .env
    environment:
      # Cache configuration
      - REDIS_URL=redis://redis:6379
      # Metrics
      - METRICS_ENABLED=true
      # Storage configuration (PostgreSQL for audit logs)
      - POSTGRES_URL=postgres://gomodel:gomodel@postgres:5432/gomodel
      # MongoDB configuration (uncomment to use MongoDB instead)
      - MONGODB_URL=mongodb://mongodb:27017/gomodel
      # Audit logging is enabled by default; pick its storage backend below
      # - STORAGE_TYPE=postgresql
      - STORAGE_TYPE=mongodb
    volumes:
      # The gateway's own state: the SQLite database when STORAGE_TYPE is
      # sqlite, the pid file, and the install identity. Without this the
      # directory is part of the container and is lost when it is recreated.
      - gomodel_data:/app/data
    depends_on:
      redis:
        condition: service_healthy
      postgres:
        condition: service_healthy
      mongodb:
        condition: service_healthy
    restart: unless-stopped

  redis:
    image: redis:7-alpine
    ports:
      - "6379:6379"
    volumes:
      - redis_data:/data
    command: redis-server --appendonly yes
    restart: unless-stopped
    healthcheck:
      test: ["CMD", "redis-cli", "ping"]
      interval: 10s
      timeout: 5s
      retries: 5

  postgres:
    image: postgres:18-alpine
    ports:
      - "5432:5432"
    environment:
      - POSTGRES_USER=gomodel
      - POSTGRES_PASSWORD=gomodel
      - POSTGRES_DB=gomodel
    volumes:
      - postgres_data:/var/lib/postgresql/data
    restart: unless-stopped
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U gomodel -d gomodel"]
      interval: 10s
      timeout: 5s
      retries: 5
      start_period: 10s

  mongodb:
    image: mongo:8
    ports:
      - "27017:27017"
    volumes:
      - mongodb_data:/data/db
    command: ["--replSet", "rs0", "--bind_ip_all"]
    restart: unless-stopped
    healthcheck:
      test: ["CMD", "mongosh", "--quiet", "--eval", "try { rs.status() } catch(e) { rs.initiate({_id:'rs0',members:[{_id:0,host:'localhost:27017'}]}) }; if (!db.hello().isWritablePrimary) { quit(1) }"]
      interval: 5s
      timeout: 10s
      retries: 10
      start_period: 10s

  adminer:
    image: adminer:5
    ports:
      - "8081:8080"
    depends_on:
      - postgres
    restart: unless-stopped

  prometheus:
    profiles:
      - app
    image: prom/prometheus:latest
    ports:
      - "9090:9090"
    volumes:
      - ./prometheus.yml:/etc/prometheus/prometheus.yml:ro
      - prometheus_data:/prometheus
    command:
      - "--config.file=/etc/prometheus/prometheus.yml"
      - "--storage.tsdb.path=/prometheus"
      - "--web.enable-lifecycle"
    depends_on:
      - gomodel
    restart: unless-stopped

volumes:
  gomodel_data:
  redis_data:
  postgres_data:
  mongodb_data:
  prometheus_data:

This file may be out of date. Check the GoModel documentation for current setup steps.

Track your self-hosted stack

Bookmark software to try, rate tools you've used, and keep your collection in one place.

Metadata extracted from README on Jul 14, 2026

Related Software

LiteLLM logo

LiteLLM

61.0k
LiteLLM is an open source AI gateway and Python SDK for calling 100+ LLM providers through a unified OpenAI-compatible interface.
API ManagementProxy ServersArtificial Intelligence+2
3 ContainersOpen Core
Details
Opik logo

Opik

22.5k
Opik is an open-source platform for observability, evaluation, monitoring, and optimization of LLM applications and agentic systems.
API ManagementArtificial IntelligenceAI Tooling+6
Details
Manifest logo

Manifest

7.6k
Manifest is an OpenClaw plugin that routes requests to the most cost-effective LLM and provides a dashboard for tracking usage and costs.
Low Code DevelopmentArtificial IntelligencePermissive License+4
Telemetry: Opt-Out
Details
Kong logo

Kong

44.3k
Kong Gateway is a cloud-native API, LLM, and MCP gateway for proxying, routing, load balancing, authentication, and plugin-based traffic control.
API ManagementArtificial IntelligencePermissive License+3
2 ContainersOpen Core
Details
ollaya logo

ollaya

1.3k
Ollaya runs open decision models locally and provides Ollama-like CLI, daemon, and API access for model serving.
Artificial IntelligenceLocal LLMsInference Serving+2
Details
LLMKube logo

LLMKube

232
Kubernetes operator for self-hosted LLM inference with pluggable runtimes (llama.cpp, vLLM, TGI, Ollama, vllm-swift), multi-GPU sharding, NVIDIA CUDA + Apple Silicon Metal support, and OpenAI-compatible API.
Artificial IntelligenceLocal LLMsInference Serving+2
Details
Text Generation Inference logo

Text Generation Inference

10.9k
A Rust, Python, and gRPC server for deploying and serving large language models with high-performance text generation.
Inference ServingArtificial IntelligenceLocal LLMs+1
2 Containers
Details
Langfuse logo

Langfuse

35.7k
Langfuse is an open source LLM engineering platform for teams to develop, monitor, evaluate, and debug AI applications.
IDE ToolsArtificial IntelligenceFOSS with Issues+5
6 ContainersFOSS with Issues
Details
Tyk logo

Tyk

10.9k
Tyk Gateway is an open source, cloud-native API gateway for managing, securing, and monitoring APIs across REST, GraphQL, TCP, and gRPC protocols.
API ManagementProxy ServersAnalytics Tools+2
Details
vLLM logo

vLLM

93.6k
A fast, easy-to-use library for LLM inference and serving.
Inference ServingLocal LLMsAI Tooling
2 Containers
Details
Netron logo

Netron

33.6k
Netron is a viewer for neural network, deep learning, and machine learning models.
Analytics ToolsPermissive LicenseArtificial Intelligence+2
Details
Agenta logo

Agenta

4.8k
Agenta is an open-source LLMOps platform for building production-grade LLM applications with prompt management, evaluation, and observability.
Artificial IntelligenceGenerative AIPermissive License+4
Details