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.

gaia logo

Self-host gaia

cli-v0.7.0

Proactive AI assistant automating your daily work

BetaSource AvailableOther
Docker ComposeFull install guide
npm install -g @heygaia/cli
Updated9 hours ago
LanguagePython
Setup difficultyAdvanced
Stars
320
CPU
2 CPU cores
RAM
4GB RAM
Storage
10GB free disk space
Ports
3000 (Web UI (Next.js)), 80 (Backend API (FastAPI))
Requires
ChromaDB, MongoDB, PostgreSQL, RabbitMQ, Redis
GAIA web app interfaceGAIA CLI self-hosting setup

What is gaia?

GAIA is an open-source personal AI assistant that connects to your email, calendar, and productivity tools to automate routine work. It runs proactive workflows like morning inbox triage, meeting preparation, and follow-up reminders without manual setup. You interact with it through iMessage, WhatsApp, Telegram, Slack, Discord, a web app, desktop apps for macOS/Windows/Linux, and a mobile app (beta), all sharing one account and memory. Features include voice calls with a wake word, sandboxed code execution that produces real documents, deep web research, browser automation, and an open Agent Skills specification for adding capabilities. Self-hosting is done via Docker Compose orchestrating PostgreSQL, MongoDB, Redis, ChromaDB, and RabbitMQ, managed through a CLI wizard. The code uses the PolyForm Noncommercial 1.0.0 license, free for personal and non-profit use; commercial deployment requires an enterprise license.

Should you self-host gaia?

gaia scores 44/100 on selfhost.directory (how scoring works) and ranks #71 of 120 in AI Assistant. It has 320 GitHub stars.

It shipped 21 stable releases in the past year. The latest, desktop-v0.8.0, came out on 26 October 2026.

Setup is advanced: plan for several services and some ongoing maintenance. It is Other-licensed and written mostly in Python.

Its closest alternative on selfhost.directory is AstrBot (88/100, 44 330 stars). It scores higher overall, so compare the two before you pick. See gaia vs AstrBot side by side.

Features

  • Agent Skills extensibility
  • Browser Automation
  • Custom integrations (Enterprise)Only available in Enterprise plan
  • Deep web research
  • Local file/tool access via bridge
  • Memory Management
  • Model Context Protocol (MCP) support
  • Multi-platform Messaging
  • Proactive workflows
  • Sandboxed code execution
  • Self-hostable with own keys/models
  • SSO/SCIM (Enterprise)Only available in Enterprise plan
  • Unified workspace
  • Voice calls with wake word
  • Workflows in plain English

gaia README

How to install gaia

Install gaia with Docker Compose

Environment variables
Configured via gaia init wizard; key variables include MONGO_DB, REDIS_URL, POSTGRES_URL, WORKOS_API_KEY, WORKOS_CLIENT_ID, WORKOS_COOKIE_PASSWORD, OPENAI_API_KEY, GOOGLE_API_KEY
npm install -g @heygaia/cli
gaia init                     # choose "Self-Host (Docker)"
# → http://localhost:3000

That checks prerequisites, clones the repo, walks you through the environment variables, then builds and starts everything. After that:

gaia status   # health-check every service
gaia logs     # stream logs
gaia stop     # stop everything
gaia start    # bring it back up

Requires Docker Engine 20.10+, Compose v2+, Node.js 20+

How to configure gaia

  • CHROMADB_HOSTchromadbChromaDB vector database host

    ChromaDB vector database host

  • CHROMADB_PORT8000ChromaDB port

    ChromaDB port

  • ENVdevelopmentEnvironment mode (development or production)

    Environment mode (development or production)

    values: development, production

  • FIRECRAWL_API_KEYFirecrawl web scraping API key

    Firecrawl web scraping API key

  • GOOGLE_API_KEYGoogle AI API key for Gemini

    Google AI API key for Gemini

  • GOOGLE_CLIENT_IDGoogle OAuth client ID

    Google OAuth client ID

  • GOOGLE_CLIENT_SECRETGoogle OAuth client secret

    Google OAuth client secret

  • LIVEKIT_API_KEYLiveKit API key

    LiveKit API key

  • LIVEKIT_API_SECRETLiveKit API secret

    LiveKit API secret

  • LIVEKIT_URLLiveKit server URL for voice agent

    LiveKit server URL for voice agent

  • MONGO_DBmongodb://mongo:27017/gaiaMongoDB connection string

    MongoDB connection string

  • NEXT_PUBLIC_API_BASE_URLhttp://localhost:8000/api/v1/API endpoint for web app

    API endpoint for web app

  • OPENAI_API_KEYOpenAI API key for GPT models

    OpenAI API key for GPT models

  • POSTGRES_URLpostgresql://postgres:postgres@postgres:5432/langgraphPostgreSQL connection string

    PostgreSQL connection string

  • RABBITMQ_URLamqp://guest:guest@rabbitmq:5672/RabbitMQ message queue URL

    RabbitMQ message queue URL

  • REDIS_URLredis://redis:6379Redis connection string

    Redis connection string

  • TAVILY_API_KEYTavily search API key

    Tavily search API key

  • WORKOS_API_KEYWorkOS API key for authentication

    WorkOS API key for authentication

  • WORKOS_CLIENT_IDWorkOS client ID

    WorkOS client ID

  • WORKOS_COOKIE_PASSWORDSecret for session cookies (min 32 chars)

    Secret for session cookies (min 32 chars)

gaia releases & version history

FAQ

What does self-hosting cost?

The code is free under the PolyForm Noncommercial license. You pay for model API usage, any paid integrations you opt into, and hosting costs.

How do I add an integration that isn't in the list?

Add it as an MCP server from the integrations page by pasting the server URL. Its tools become available immediately. You can also publish it to the community marketplace. For tools running on your own machine, use gaia bridge instead.

Can I use my own API keys and models?

Self-hosted: yes, providers are set via environment variables and the model catalogue is database-driven. Cloud: no, models are managed for you and usage follows your plan, though you can pick between available models in the composer.

What does GAIA store about me, and does it read my email?

GAIA does not copy your actual email content, calendar events, or documents into its database. It fetches them only when needed for a request, uses them, and does not retain them. You control what is stored: memories, chat history, workflows, todos, reminders, and integration tokens (encrypted and revocable).

More in Workflow Automation

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…