System Requirements
AiHummer is a host-native product: it runs as a release tarball under systemd, so the requirements are deliberately small. The only hard dependency is a Linux host with PostgreSQL. Everything else — sidecars, a real model, a vector store — is optional and can be added later from the admin UI.
[!NOTE] AiHummer is host-native, not Docker. It deploys as a tarball running under systemd from
/home/.aihummer. You do not need a container runtime, Kubernetes or any orchestrator.
Operating system
AiHummer runs on Linux only. There is no Windows or macOS server build — the gateway and its sidecars are packaged as per-architecture Linux artifacts and are deployed with systemd. (The mobile client is a separate app for iOS; that is a channel, not the server.)
- A modern 64-bit Linux distribution with
systemd. x86_64(amd64) orarm64— the installer pulls the matching per-arch bundle.sudo/root access to write the install root and register systemd units.
Database
PostgreSQL is the only hard dependency and the single source of truth for all
state. The pgcrypto extension is required — it backs the encrypted
credential vault. Without a database, the gateway starts in a reduced
health-only mode and serves nothing useful.
[!IMPORTANT] Enable
pgcryptoin the target database before first run:CREATE EXTENSION IF NOT EXISTS pgcrypto;
The gateway connects via a DSN in AIHUMMER_DATABASE_URL. For multitenant
isolation you can additionally point AIHUMMER_DB_APP_URL at a restricted
aihummer_app role to activate Postgres Row-Level Security; local installs set
this up automatically. Database migrations are forward-safe and applied
automatically under an advisory lock on the owner pool.
Hardware
These figures are guidance for a single-host deployment of the gateway plus PostgreSQL. Sidecars (STT/TTS, browser, vector store) add their own footprint and are usually placed on the same host only for small deployments.
| Profile | CPU | RAM | Disk | Notes |
|---|---|---|---|---|
| Minimum (eval) | 2 vCPU | 2 GB | 10 GB | Gateway + Postgres, mock model, no sidecars |
| Recommended | 4 vCPU | 8 GB | 40 GB SSD | Gateway + Postgres + a couple of sidecars |
| Voice / local models | 8+ vCPU (GPU optional) | 16+ GB | 80+ GB SSD | STT/TTS, embedder, local LLM endpoint |
Disk usage grows with conversation history, the media blob directory
(AIHUMMER_BLOB_DIR), knowledge ingestion and audit retention. Plan PostgreSQL
backups (pg_dump + WAL/PITR) accordingly.
Sidecars (optional)
Sidecars are separate HTTP services, each under its own systemd unit. The gateway reaches them by URL, so a sidecar can run on the same host, on another host, or you can point at an existing instance. They are all free/local and never required for a basic deployment.
| Sidecar | Default port | Enables |
|---|---|---|
| STT (faster-whisper) | 8001 | Speech-to-text for voice turns |
| TTS (edge-tts) | 8002 | Text-to-speech for voice turns |
| Diarize (pyannote) | 8003 | Speaker diarization |
| Voiceclone (OpenVoice V2) | 8004 | Voice cloning |
| Video (ffmpeg) | 8005 | Video understanding |
| SearXNG | 8888 | The web_search tool |
| Chrome/CDP | 9222 | The browser / computer tools |
The installer can provision sidecars natively or you can attach an existing one by URL — see Installation.
LLM providers
AiHummer never requires a paid model. It works out of the box on free/local models and a Codex/ChatGPT-subscription transport; per-tenant BYOK keys are strictly optional.
Supported providers:
- Anthropic.
- OpenAI.
- Any OpenAI-API-standard endpoint — local model servers, OpenRouter, or Gemini’s OpenAI-compatible endpoint, for example.
- Codex / ChatGPT-subscription transport — drive a model through a ChatGPT subscription rather than a billed API key.
[!TIP] If you start the gateway without a model wired (
AIHUMMER_LLM_PROVIDER/AIHUMMER_LLM_MODEL/AIHUMMER_LLM_GATEWAY_URL), replies come from a deterministic mock so you can validate channels and routing before connecting a real model.
[!NOTE] AiHummer exposes only the OpenAI-compatible
POST /v1/chat/completionsendpoint. There is no/v1/modelsor/v1/embeddingsHTTP endpoint, and observability is OTLP-push (no Prometheus/metrics).
Where to next
- Ready to deploy? Go to Installation.
- Want to walk the first run step by step? See the Quickstart.
- Want the mental model first? Read the Introduction.