selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

Self-Hosted AI Stack logo

Self-host Self-Hosted AI Stack

v2026.10.2

Docker Compose stack for local LLMs, chat, docs, voice

ReleaseOpen SourceMIT
Updated10 hours ago
LanguageShell
Setup difficultyModerate
Stars
172
RAM
8 GB
Ports
3001 (AnythingLLM chat UI), 4000 (GatewayCrate (LiteLLM) AI gateway and Admin UI), 8000 (EmbedCrate (Hugging Face TEI) embeddings API), 9000 (ScribeCrate (Whisper STT) transcription API), 9090 (ScribeCrate Live (real-time STT) WebSocket), 8880 (SpeakCrate (Kokoro TTS) text-to-speech API), 3000 (UplinkCrate (MCPHub) MCP endpoint (disabled by default)), 5001 (ParseCrate (Docling) document parsing API (disabled by default)), 11434 (InferCrate (Ollama) LLM API (disabled by default))
Docker
hwdsl2/ollama-server
Install with Docker Compose

What is Self-Hosted AI Stack?

Self-Hosted AI Stack is a Docker Compose project that bundles multiple AI services into a single deployable stack. It includes InferCrate (Ollama) for running local LLM models, AnythingLLM for a password-protected web chat UI, GatewayCrate (LiteLLM) as an AI gateway with admin UI routing to 100+ providers, EmbedCrate (Hugging Face TEI) for embeddings, ScribeCrate (Whisper) for speech-to-text, ScribeCrate Live for real-time transcription, SpeakCrate (Kokoro) for text-to-speech, UplinkCrate (MCPHub) for MCP tools, and ParseCrate (Docling) for document parsing. Services auto-configure on first start with generated API keys and passwords. The stack supports lightweight variants for lower memory (as low as ~4.5 GB), optional NVIDIA GPU acceleration via CUDA, and an optional Caddy overlay for automatic HTTPS. It runs on Linux (amd64/arm64) with Docker or Podman. The configuration is MIT licensed while included services retain their own licenses.

Should you self-host Self-Hosted AI Stack?

Self-Hosted AI Stack scores 51/100 on selfhost.directory (how scoring works) and ranks #25 of 69 in AI Chat. It has 172 GitHub stars.

It shipped 3 stable releases in the past year. The latest, v2026.10.2, came out on 23 October 2026. New versions land roughly every 2 weeks.

Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is MIT-licensed and written mostly in Shell.

Its closest alternative on selfhost.directory is openhands (87/100, 92 068 stars). It scores higher overall, so compare the two before you pick. See Self-Hosted AI Stack vs openhands side by side.

Features

  • AI Gateway
  • Auto-configuration
  • Document ParsingDisabled by default to reduce memory usage
  • Embeddings
  • GPU AccelerationRequires NVIDIA GPU, driver 575.57.08+, and NVIDIA Container Toolkit
  • HTTPS via CaddyRequires domain and Docker Compose 2.24.4+
  • Local LLM Inference
  • MCP ToolsInternal to Docker network by default; uncomment port 3000 for host access
  • RAG Pipeline
  • Real-time TranscriptionDisabled by default to reduce memory usage
  • Speech-to-Text
  • Text-to-SpeechDisabled by default to reduce memory usage
  • Web Chat UI

Self-Hosted AI Stack README

How to install Self-Hosted AI Stack

Install Self-Hosted AI Stack with Docker Compose

Linux server with Docker installed, lower memory requirements
Environment variables
LITELLM_POSTGRES_PASSWORD, AI_STACK_DISABLE_USAGE_COUNTS, DOMAIN, ACME_EMAIL

git clone https://github.com/hwdsl2/self-hosted-ai-stack cd self-hosted-ai-stack docker compose up -d

Full stack with all services; use docker-compose.cuda.yml for GPU

How to configure Self-Hosted AI Stack

  • ACME_EMAILEmail for Let's Encrypt certificate account notices

    Email for Let's Encrypt certificate account notices

  • AI_STACK_DISABLE_USAGE_COUNTSDisable anonymous usage counts

    Disable anonymous usage counts

    values: 1

  • CADDY_MAX_BODY_SIZE100MBMaximum request body size for Caddy

    Maximum request body size for Caddy

  • CONTAINER_ENGINEOverride container engine (docker or podman)

    Override container engine (docker or podman)

    values: docker, podman

  • DOMAINPublic hostname for Caddy HTTPS overlay

    Public hostname for Caddy HTTPS overlay

  • LITELLM_POSTGRES_PASSWORDPostgreSQL password for GatewayCrate database

    PostgreSQL password for GatewayCrate database

Self-Hosted AI Stack releases & version history

More in LLM Inference

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…