Run your own AI agent with a browser interface using Docker. No Python, Node.js, or code setup needed.
- Docker installed on your computer (get Docker)
- A terminal (Command Prompt, PowerShell, or Terminal)
Create a folder for nanobot and copy these two files into it:
docker-compose.yml- Create an empty folder named
data
Then open a terminal in that folder and follow the steps below.
docker compose pulldocker compose run --rm nanobot onboardThis creates the folder data/.nanobot/ with a file called config.json inside — that's where your settings live.
docker compose run --rm nanobot onboard --wizardA menu will appear. Choose Quick Start, then sign up with a provider (like OpenAI or Google) and pick a model.
Running a local model (like llama.cpp on your computer)? Choose "Other OpenAI-compatible" instead, and enter your server address.
⚠️ Don't usehttp://localhost:...— inside the container, "localhost" points to the container itself, not your computer. Use your computer's actual IP address instead (e.g.http://192.168.1.5:8000/v1), or tryhttp://host.docker.internal:8000/v1. On Linux,host.docker.internaldoes not resolve automatically — uncomment theextra_hostssection indocker-compose.ymlto enable it.
docker compose up -dOpen your browser and go to http://localhost:8765.
That's it. You can now chat with your AI agent.
docker compose down- A WebUI to chat with your agent (at port 8765)
- Support for chat apps: Telegram, Discord, Slack, Mattermost, WeChat, Email, and more
- A health-check endpoint at port 18790
- All your data saved in the
data/folder
- Official nanobot repo: https://github.com/HKUDS/nanobot
- Documentation: https://nanobot.wiki
- Pre-built image:
ghcr.io/openmtx/nanobot:latest
This image is built from a fork at https://github.com/openmtx/nanobot, which adds Mattermost support (not yet merged upstream).