OvertChat

A clean self-hosted chat for your local AI models, with search, voice and family accounts

  • ghcr.io/hsinghhira/overtchat:latest
  • v0.29.0
  • Updated 29 Oct 2026
  • port 6139
  • amd64 · arm64
  • AI
  • 141 stars

Screenshots

OvertChat screenshot 1: ChatOvertChat screenshot 2: VoiceOvertChat screenshot 3: Search with sourcesOvertChat screenshot 4: Agent connections

Open the app

Web App

http://localhost:6139/

About OvertChat

OvertChat is a self-hosted home for everyday AI. Connect vLLM, llama.cpp, SGLang or Ollama-style endpoints, or a hosted provider, and start chatting. Search the web, work with files or talk by voice, with your history on your own server. Search and speech services are not bundled: add your own in the settings.

Features

  • Clean chat with readable answers, collapsible reasoning, projects, reusable files and searchable history
  • Model setup and discovery for vLLM, llama.cpp and SGLang, plus hosted providers and any OpenAI-compatible endpoint
  • Web search with free fallbacks (DuckDuckGo, Exa, Firecrawl), or your own SearXNG or Brave key
  • Two-way voice chat with your own speech services
  • Accounts for your family, each with their own chats
  • Android, iOS and desktop apps that connect to your server
  • Connect coding agents (Codex, Claude Code, OpenCode and more) through the Host Connector

How to use

  1. Open the app log in your dashboard and copy the setup code.
  2. Open OvertChat at http://[ZIMAOS-IP-ADDRESS]:6139 and create your admin account with the setup code.
  3. Add your model endpoint in Settings.
  4. Start chatting. Add accounts for your family in Settings, Users.

Before you install

Nothing has to be set: sign-in works from your home network at http://[ZIMAOS-IP-ADDRESS]:6139 (any 192.168.x, 10.x, 172.x, 100.x or .local address on port 6139). For working share links, change localhost in BETTER_AUTH_URL to your ZimaOS IP, like http://192.168.1.20:6139; behind a reverse proxy, put your https address there. After install, the app log shows "Create your administrator account with setup code ..."; use that code for the first account. A model running on the same ZimaOS is at http://[ZIMAOS-IP-ADDRESS]:<its port>, not localhost. Voice needs https outside localhost. Every other setting is optional and listed in the Variables tab; to use one, add it in the app settings. OvertChat is ready about a minute after install. Each install makes its own sign-in key on first start.

The settings in the first table are already in the app settings. To use any other one, open the app settings, add the variable with your value, save, and the app restarts with it. A setting you leave out uses its default.

In the app settings

VariableDefault valueDescription
TZ$TZYour time zone. It is filled in from your ZimaOS time zone. Leave it unless you need another.
BETTER_AUTH_URLhttp://localhost:6139The address you open OvertChat at. Sign-in already works from your home network at http://[ZIMAOS-IP-ADDRESS]:6139, so you can leave it. Change it to your ZimaOS IP, like http://192.168.1.20:6139, for working share links, or to your https address behind a reverse proxy.

Server

VariableDefault valueDescription
EXTRA_TRUSTED_ORIGINS—More addresses you open OvertChat at, comma-separated, with http(s) and port, like https://chat.example.com. Home-network addresses on port 6139 are added for you.
OVERTCHAT_TRUST_LANtrueSet to false so sign-in only works from BETTER_AUTH_URL, http://localhost:6139 and EXTRA_TRUSTED_ORIGINS, not from every home-network address on port 6139.
HOST_CONNECTOR_URL—The address a Host Connector on another computer uses to reach this server. Leave it out to use BETTER_AUTH_URL.
BETTER_AUTH_SECRET—Your own sign-in key, at least 32 random characters. Leave it out: each install makes its own on first start and keeps it in the data folder as .better_auth_secret. Changing it signs everyone out.
REDIS_URL—A Redis server, like redis://192.168.1.20:6379, so an answer can carry on after a page reload. Leave it out to run without one.
DISABLE_UPDATE_CHECKfalseSet to true so the admin menu doesn't check overtchat.com for new releases.

Sign-in

VariableDefault valueDescription
OVERTCHAT_REQUIRE_ADMIN_TWO_FACTORfalseSet to true so admin accounts must turn on two-factor sign-in.

Web search

VariableDefault valueDescription
WEB_SEARCH_PROVIDER—The search service to try first: searxng, brave or disabled. Leave it out to use the free search services, or to pick one in Settings.
SEARXNG_URL—Your SearXNG server, like http://192.168.1.20:6116. It must allow JSON results.
BRAVE_SEARCH_API_KEY—A Brave Search API key, to use Brave as the search service.

Text to speech

VariableDefault valueDescription
TTS_PROVIDER—openai-compatible to use your own text-to-speech server, or disabled. Setting KOKORO_URL alone also picks openai-compatible.
KOKORO_URL—Your Kokoro-FastAPI or other OpenAI-compatible text-to-speech server, like http://192.168.1.20:8880.
TTS_MODELkokoroThe text-to-speech model name for that service. Default kokoro.
TTS_VOICEaf_heartThe voice to speak with, like af_heart for Kokoro.
TTS_API_KEY—The API key for the text-to-speech service, if it needs one.

Speech to text

VariableDefault valueDescription
STT_PROVIDER—openai-compatible to use your own speech-to-text server, or disabled. Setting STT_URL alone also picks openai-compatible.
STT_URL—Your OpenAI-compatible speech-to-text server, like http://192.168.1.20:5092.
STT_MODELparakeet-tdt-0.6b-v3The speech-to-text model name for that service.
STT_API_KEY—The API key for the speech-to-text service, if it needs one.

Code execution

VariableDefault valueDescription
SANDBOX_URL—Your OvertChat code sandbox (ghcr.io/yoloyash/overtchat-sandbox), like http://192.168.1.20:8080, so the AI can run Python.
SANDBOX_TOKEN—The token shared with the sandbox, if you set one there.
docker-compose.yml
name: overtchat

services:
  overtchat:
    image: ghcr.io/hsinghhira/overtchat:latest
    container_name: overtchat
    restart: unless-stopped
    stop_grace_period: 30s
    network_mode: bridge
    environment:
      - TZ=$TZ
      - BETTER_AUTH_URL=http://localhost:6139
    ports:
      - target: 4717
        published: "6139"
        protocol: tcp
    volumes:
      - type: bind
        source: /DATA/AppData/$AppID/data
        target: /app/data
        bind:
          create_host_path: true
    healthcheck:
      test: ["CMD", "node", "-e", "fetch('http://127.0.0.1:4717/').then(r => process.exit(r.status < 500 ? 0 : 1)).catch(() => process.exit(1))"]
      interval: 30s
      timeout: 5s
      retries: 3
      start_period: 60s
    deploy:
      resources:
        limits:
          cpus: "2.00"
          memory: 1024M
        reservations:
          cpus: "0.00"
          memory: 192M
    labels:
      icon: https://cdn.jsdelivr.net/gh/HSinghHira/IceStore@main/Apps/overtchat/icon.png
    x-casaos:
      id: com.icestore.overtchat
      envs:
        - container: TZ
          description:
            en_US: >-
              Your time zone. It is filled in from your ZimaOS time zone.
              Leave it unless you need another.
        - container: BETTER_AUTH_URL
          description:
            en_US: >-
              The address you open OvertChat at. Sign-in already works from
              your home network at http://[ZIMAOS-IP-ADDRESS]:6139, so you can
              leave it. Change it to your ZimaOS IP, like
              http://192.168.1.20:6139, for working share links, or to your
              https address behind a reverse proxy.
      ports:
        - container: "4717"
          description:
            en_US: OvertChat web app and API, published on host as 6139
      volumes:
        - container: /app/data
          description:
            en_US: >-
              The SQLite database with every account, chat, project and file,
              and .better_auth_secret, this install's own sign-in key made on
              first start. Back this folder up.

x-casaos:
  id: com.icestore.overtchat
  architectures:
    - amd64
    - arm64
  main: overtchat
  author: HSinghHira
  category: AI
  developer: yoloyash
  icon: https://cdn.jsdelivr.net/gh/HSinghHira/IceStore@main/Apps/overtchat/icon.png
  thumbnail: https://cdn.jsdelivr.net/gh/HSinghHira/IceStore@main/Apps/overtchat/screenshot-1.png
  screenshot_link:
    - https://cdn.jsdelivr.net/gh/HSinghHira/IceStore@main/Apps/overtchat/screenshot-1.png
    - https://cdn.jsdelivr.net/gh/HSinghHira/IceStore@main/Apps/overtchat/screenshot-2.png
    - https://cdn.jsdelivr.net/gh/HSinghHira/IceStore@main/Apps/overtchat/screenshot-3.png
    - https://cdn.jsdelivr.net/gh/HSinghHira/IceStore@main/Apps/overtchat/screenshot-4.png
  title:
    en_US: OvertChat
  tagline:
    en_US: A clean self-hosted chat for your local AI models, with search, voice and family accounts
  description:
    en_US: >-
      Visit: [https://icestore.hsinghhira.me/app/overtchat/](https://icestore.hsinghhira.me/app/overtchat/) for full details


      OvertChat is a self-hosted home for everyday AI. Connect vLLM,
      llama.cpp, SGLang or Ollama-style endpoints, or a hosted provider, and
      start chatting. Search the web, work with files or talk by voice, with
      your history on your own server. Search and speech services are not
      bundled: add your own in the settings.


      **Features**


      - Clean chat with readable answers, collapsible reasoning, projects,
        reusable files and searchable history

      - Model setup and discovery for vLLM, llama.cpp and SGLang, plus hosted
        providers and any OpenAI-compatible endpoint

      - Web search with free fallbacks (DuckDuckGo, Exa, Firecrawl), or your
        own SearXNG or Brave key

      - Two-way voice chat with your own speech services

      - Accounts for your family, each with their own chats

      - Android, iOS and desktop apps that connect to your server

      - Connect coding agents (Codex, Claude Code, OpenCode and more) through
        the Host Connector


      **How to use?**


      1. Open the app log in ZimaOS and copy the setup code.


      2. Open OvertChat at http://[ZIMAOS-IP-ADDRESS]:6139 and create your
         admin account with the setup code.


      3. Add your model endpoint in Settings.


      4. Start chatting. Add accounts for your family in Settings, Users.
  tips:
    before_install:
      en_US: >-
        1. You don't have to set anything. Want working share links? Change
           localhost in BETTER_AUTH_URL to your ZimaOS IP, like
           http://192.168.1.20:6139.


        2. Using an https address through a reverse proxy? Put that address
           in BETTER_AUTH_URL instead.


        3. Start the installation. Wait about one minute.


        4. Open the app log in ZimaOS. Find the line that says "Create your
           administrator account with setup code". Copy the code.


        5. Open http://[ZIMAOS-IP-ADDRESS]:6139 and make your admin account
           with that code.


        6. Add your AI model in Settings. A model on this ZimaOS is at
           http://[ZIMAOS-IP-ADDRESS]:<its port>, not localhost.


        7. More settings, like web search, speech, voice and two-factor sign-in,
           are listed on the OvertChat page at
           https://icestore.hsinghhira.me/app/overtchat/ (Variables tab). You
           can add them now or later in the app settings.
  index: /
  port_map: "6139"
  scheme: http
  is_uncontrolled: false
  version: "0.29.0"
  update_at: "2026-10-29"
  release_notes:
    en_US: |-
      - First version in IceStore, on port 6139
      - Built on ghcr.io/yoloyash/overtchat-app 0.29.0, plus a start script that makes each install's own BETTER_AUTH_SECRET
      - Sign-in works from any home-network address on port 6139 (192.168.x, 10.x, 172.x, 100.x and .local); BETTER_AUTH_URL is now optional and defaults to http://localhost:6139
      - Single container: upstream's optional Redis, SearXNG, Kokoro and speech-to-text services are not bundled; add your own in Settings
  repo: "https://github.com/yoloyash/overtchat"
  support: "https://github.com/yoloyash/overtchat/issues"
  docs: "https://github.com/yoloyash/overtchat/blob/main/docs/deploy.md"

Install OvertChat

Something not working with OvertChat? Report a problem or request another app.

More AI apps

See all