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.

Iva logo

Self-host Iva

eve-0.51.1-iva.5

Telegram AI assistant with a self-hosted memory vault

ReleaseOpen SourceMIT
Updated10 hours ago
LanguageTypescript
Setup difficultyModerate
Stars
273
RAM
512MB
Storage
~1.5GB free for Iva itself, plus ~2GB for swapfile on boxes under 1.5GB RAM
Ports
8723 (Local eve HTTP server (loopback only) for Telegram poller bridge and internal API), 8724 (Telegram userbot MCP proxy (optional, opt-in))
Requires
Node.js, Python3, SQLite
Install with Linux
Memory tree visualization: daily leaves, weekly/monthly/yearly branches, CORE.md trunkEight example use cases from voice notes to research and bedtime storiesUserbot secretary reading group chats and replying as you with anti-ban guardrail/menu control panel with toggles for model, thinking, search, language, memory, userbot, timers

What is Iva?

Should you self-host Iva?

Iva scores 49/100 on selfhost.directory (how scoring works) and ranks #51 of 110 in Chat. It has 273 GitHub stars.

It shipped 10 stable releases in the past year. The latest, eve-0.51.1-iva.5, came out on 26 October 2026. New versions land roughly every 1 days.

Setup is moderate: expect some configuration beyond a single command. It is MIT-licensed and written mostly in Typescript.

Its closest alternative on selfhost.directory is Onyx Community Edition (80/100, 33 042 stars). It scores higher overall, so compare the two before you pick. See Iva vs Onyx Community Edition side by side.

Features

  • Decision cards with history
  • Google Workspace integration
  • Layered long-term memory
  • Personal CRM
  • Prompt injection protection
  • Rich Telegram replies
  • Secret redaction
  • Semantic Search
  • Skills and MCP
  • Tasks and reminders
  • Telegram userbotOpt-in, at your own risk (ToS violation possible)
  • Token usage accounting
  • Vision (image description)
  • Voice transcription
  • Web Search

Iva README

How to install Iva

Install Iva with Linux

Environment variables
TELEGRAM_BOT_TOKEN, MODEL_PROVIDER, OLLAMA_API_KEY, DEEPGRAM_API_KEY, SEARCH_PROVIDER, etc. (see .env.example)

One-command installer sets up system dependencies, Node 24+, builds agent, configures systemd user services and timers. Run as normal user, not root.

How to configure Iva

  • AGENT_BROWSER_MAX_OUTPUT24000Browser agent output token limit

    Browser agent output token limit

  • AGENT_LANGUAGEruAgent response language: en or ru

    Agent response language: en or ru

    values: en | ru

  • ASSISTANT_BEARERGenerated bearer token for local Eve clients

    Generated bearer token for local Eve clients

  • ASSISTANT_DATA_DIRdataData directory for tasks and usage logs

    Data directory for tasks and usage logs

  • ASSISTANT_HOSThttp://127.0.0.1:8723Host URL for cron/poll clients

    Host URL for cron/poll clients

  • ASSISTANT_TIMEZONEAsia/AlmatyIANA timezone for daily transcripts and timers

    IANA timezone for daily transcripts and timers

  • ASSISTANT_VAULT_DIRvaultLive vault directory (memory + Obsidian + git backup)

    Live vault directory (memory + Obsidian + git backup)

  • BRAVE_API_KEYBrave Search API key

    Brave Search API key

  • CLAUDE_CONTEXT_WINDOW1000000Context window for Claude

    Context window for Claude

  • CLAUDE_MODELclaude-fable-5-1Claude model

    Claude model

    values: Fable 5.1, Opus 5.5, Sonnet 5.5

  • CODEX_CONTEXT_WINDOW272000Context window for Codex

    Context window for Codex

  • CODEX_MODELgpt-5.5Codex (ChatGPT) model

    Codex (ChatGPT) model

  • CUSTOM_API_KEYCustom endpoint API key

    Custom endpoint API key

  • CUSTOM_BASE_URLCustom OpenAI-compatible endpoint base URL

    Custom OpenAI-compatible endpoint base URL

  • CUSTOM_CONTEXT_WINDOW131072Custom endpoint context window

    Custom endpoint context window

  • CUSTOM_MODELCustom endpoint model

    Custom endpoint model

  • CUSTOM_REASONINGWhether custom endpoint supports reasoning_effort

    Whether custom endpoint supports reasoning_effort

    values: 1

  • CUSTOM_VISION_MODELCustom endpoint vision model

    Custom endpoint vision model

  • DEEPGRAM_API_KEYDeepgram API key for voice transcription

    Deepgram API key for voice transcription

  • DEEPGRAM_KEYTERMSCustom keyterms for Deepgram

    Custom keyterms for Deepgram

  • DEEPGRAM_LANGUAGEmultiDeepgram recognition language

    Deepgram recognition language

    values: multi (auto-detect ru/uz/en)

  • DEEPINFRA_API_KEYDeepInfra API key for embeddings

    DeepInfra API key for embeddings

  • EXA_API_KEYExa API key

    Exa API key

  • IVA_PORT8723Local eve server port

    Local eve server port

  • JINA_API_KEYJina AI API key for embeddings

    Jina AI API key for embeddings

  • MEMORY_NIGHT_TIME04:00Nightly memory rollup time (local)

    Nightly memory rollup time (local)

    values: HH:mm

  • MEMORY_SEARCH_MODEgrepMemory search mode

    Memory search mode

    values: grep | hybrid

  • MODEL_PROVIDERollamaModel provider: ollama, opencode, openrouter, codex, claude, or custom

    Model provider: ollama, opencode, openrouter, codex, claude, or custom

    values: ollama | opencode | openrouter | codex | claude | custom

  • OLLAMA_API_KEYOllama Cloud API key

    Ollama Cloud API key

  • OLLAMA_CONTEXT_WINDOW131072Context window size for Ollama

    Context window size for Ollama

  • OLLAMA_MODELdeepseek-v4-proOllama model to use

    Ollama model to use

  • OLLAMA_VISION_MODELgemma4:31bVision model for Ollama

    Vision model for Ollama

  • OPENCODE_API_KEYOpenCode Go API key

    OpenCode Go API key

  • OPENCODE_CONTEXT_WINDOW131072Context window for OpenCode

    Context window for OpenCode

  • OPENCODE_MODELdeepseek-v4-proOpenCode model to use

    OpenCode model to use

  • OPENCODE_PROTOCOLchat-completionsOpenCode protocol

    OpenCode protocol

    values: chat-completions

  • OPENCODE_VISION_MODELqwen3.7-plusVision model for OpenCode

    Vision model for OpenCode

  • OPENCODE_VISION_PROTOCOLchat-completionsVision protocol for OpenCode

    Vision protocol for OpenCode

    values: chat-completions

  • OPENROUTER_API_KEYOpenRouter API key

    OpenRouter API key

  • OPENROUTER_CONTEXT_WINDOW131072Context window for OpenRouter

    Context window for OpenRouter

  • OPENROUTER_MODELopenai/gpt-5.1OpenRouter model slug

    OpenRouter model slug

  • OPENROUTER_VISION_MODELgoogle/gemini-2.5-flashVision model for OpenRouter

    Vision model for OpenRouter

  • PARALLEL_API_KEYParallel API key

    Parallel API key

  • SEARCH_PROVIDERtavilyWeb search provider

    Web search provider

    values: tavily | exa | parallel | brave

  • SUPPORT_CHAT_URLSupport group invite link for issue reporting

    Support group invite link for issue reporting

  • TAVILY_API_KEYTavily API key

    Tavily API key

  • TELEGRAM_ALLOWED_USER_IDSComma-separated list of allowed Telegram user IDs

    Comma-separated list of allowed Telegram user IDs

  • TELEGRAM_API_HASHTelegram API hash for userbot

    Telegram API hash for userbot

  • TELEGRAM_API_IDTelegram API ID for userbot

    Telegram API ID for userbot

  • TELEGRAM_BOT_TOKENTelegram bot token from BotFather

    Telegram bot token from BotFather

  • TELEGRAM_BOT_USERNAMETelegram bot username

    Telegram bot username

  • TELEGRAM_DIGEST_CHAT_IDChat ID for nightly reports and update notifications

    Chat ID for nightly reports and update notifications

  • TELEGRAM_EXPOSED_TOOLSallUserbot tool exposure mode

    Userbot tool exposure mode

    values: all | read-only

  • TELEGRAM_MCP_PORT8724Userbot MCP proxy port

    Userbot MCP proxy port

  • TELEGRAM_REPLAY_RETIRE_THRESHOLD_MS30000Replay threshold before ending Telegram session

    Replay threshold before ending Telegram session

  • TELEGRAM_USERBOT_QR_CHAT_IDChat ID to send QR code for userbot onboarding

    Chat ID to send QR code for userbot onboarding

  • TELEGRAM_WATCH_TOKENBearer token for external Watch proxy

    Bearer token for external Watch proxy

  • TELEGRAM_WATCH_URLExternal telegram-mcp proxy for Watch mode

    External telegram-mcp proxy for Watch mode

  • TELEGRAM_WEBHOOK_SECRET_TOKENSecret token for webhook mode

    Secret token for webhook mode

  • THINKING_EFFORTReasoning effort level

    Reasoning effort level

    values: minimal | low | medium | high | xhigh | max

Iva releases & version history

FAQ

When should I not use Iva?

Not for team/multi-user chat UIs (single-user by design), not if you need local model weights (calls cloud APIs), not if you want a hosted no-ops product (requires VPS ownership).

Can it remember things long-term?

Yes, that's the core feature: daily transcripts, nightly rollups, and an always-on core file the model sees every turn.

Do I need a domain or HTTPS?

No. Iva long-polls the Telegram API and hands updates to the agent on 127.0.0.1, so no port is opened and no certificate is needed.

What models does it support?

Four providers: OpenCode Go and Ollama Cloud (API key, OpenAI-compatible), OpenRouter (300+ models), and Codex (your ChatGPT subscription via OAuth, no API key). Photos use the provider's vision model.

Does it work in Russian?

Yes, both the setup wizard and agent run in Russian or English. Voice notes are transcribed by Deepgram nova-3 with auto-detection across Russian, Uzbek, and English.

How much does it cost to run?

About $9/month: one model subscription plus a small VPS, with voice on Deepgram's free tier.

Is my data private?

Your memory is a plain-markdown vault in a private git repo you own; no third party stores it. Model calls and voice transcription transit provider servers.

Can I run a Telegram AI bot with my own API key?

Yes, Iva runs entirely on your own keys: one model provider key (OpenCode Go, Ollama Cloud, OpenRouter, or ChatGPT subscription), a Deepgram key for voice, and a bot token from BotFather.

What is the best self-hosted Telegram AI assistant?

Iva is a self-hosted Telegram AI assistant with layered memory that turns messages into an Obsidian-compatible vault, installing with one command on a cheap VPS.

More in Personal Productivity

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…