← Back to blog
Tutorials#odysseus-ai

Odysseus AI Setup: Self-Host Your First Chat on Windows, macOS, or Linux

Learn what Odysseus AI does, install its curated branch, connect a local model, and keep your first workspace private.

9 min readby the editors
Odysseus AI Setup: Self-Host Your First Chat on Windows, macOS, or Linux cover illustration

Odysseus AI is a free, self-hosted workspace for model chat, agents, research, documents, and more. If you want to try it, start with the official repository's curated main branch, keep the app on localhost, and connect one model before exploring the extra tools. This guide gets a first chat working on Docker, native Windows, or an Apple Silicon Mac.

Before you start

System requirements

Source

Git and the official odysseus-dev repository

odysseusai.dev is an independent guide. Get the code and current commands from github.com/odysseus-dev/odysseus.

Docker route

Docker Engine with Compose or Docker Desktop

The maintainers recommend Docker for a first install. On Windows, use Docker Desktop with WSL2. The default web address is localhost:7000.

Native route

Python 3.11+ on Windows, macOS, or Linux

Native Windows has a PowerShell launcher. The Apple Silicon launcher uses port 7860 and allows Metal-backed local serving.

Model and cost

A local model server or a provider API key

Odysseus is free software under AGPL-3.0-or-later. Local models need your own RAM, disk, and compute; hosted APIs can charge separately. A GPU is optional for the app, but affects model speed and size.

01

Verify the Odysseus AI source and choose the main branch

The linked setup site is independent. The maintainers publish the code and setup guide under odysseus-dev on GitHub.

The repository's default dev branch receives changes first and may be unstable. Clone main for a first installation. Read the repository page before running scripts, especially if you found a command on a third-party guide or video.

Windows PowerShell, macOS, or Linux
git clone --branch main https://github.com/odysseus-dev/odysseus.git
cd odysseus

Tip
The shared code block wraps visually on a narrow screen. Copy keeps the clone command on one line on every platform.

02

Start Odysseus AI with Docker

Docker is the maintainers' recommended first route on Windows, Linux, and Intel Macs.

From the cloned repository, run Compose and wait for the containers to become healthy. The stack includes Odysseus plus its bundled services. It binds the web app to 127.0.0.1 by default. Open http://localhost:7000 in a browser on the same machine.

On Apple Silicon, Docker cannot pass the Metal GPU to Cookbook. Use the native Mac route in the next step if you want GPU-backed local model serving. Docker is still usable there for the app with a separately running model endpoint.

Docker Desktop or Docker Engine, from the repository
docker compose up -d --build
docker compose ps
03

Use a native launcher when it fits your machine

Windows has a PowerShell launcher; Apple Silicon gets Metal support through the native Mac launcher.

Choose one route. Do not start the native app and Docker stack together on the same port. On Windows, the launcher creates an environment, installs dependencies, and starts the server at localhost:7000. Python 3.11 or newer is required; Git for Windows supplies bash.exe for the full Cookbook and agent shell features.

On an Apple Silicon Mac, start-macos.sh opens the app at 127.0.0.1:7860. Linux users who prefer a native install can create a Python environment and run uvicorn on port 7000. The Linux Cookbook also needs tmux for background model jobs.

Windows PowerShell, from the repository
powershell -ExecutionPolicy Bypass -File .\launch-windows.ps1
Apple Silicon macOS, from the repository
./start-macos.sh
Linux native, from the repository
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python setup.py
python -m uvicorn app:app \
  --host 127.0.0.1 --port 7000
04

Find the first admin password and sign in

Odysseus creates an admin account on first boot and prints a temporary password in the terminal or container log.

For Docker, inspect the Odysseus service log on your own machine. For a native launch, look in the launcher terminal. Sign in as admin unless you set ODYSSEUS_ADMIN_USER, then change the temporary password in Settings. Treat the password line as a secret when sharing logs.

Docker: inspect the local first-run log
docker compose logs odysseus
05

Connect one model and send a first chat

Choose a local model for offline inference, or a hosted provider if your machine cannot serve one comfortably.

If you already run Ollama on native Windows, add http://localhost:11434/v1 as a model endpoint in Odysseus Settings. If Odysseus runs in Docker while Ollama runs on the host, use http://host.docker.internal:11434/v1 instead. The Docker connection also requires Ollama to listen beyond its own loopback address, so keep that model port inside a trusted host network.

Install Ollama from its official download page if you do not have a local model server. To make a small first test, download Qwen3 1.7B, select that model in Odysseus, and ask a plain chat question. The model download is about 1.4 GB. It proves the connection, but a small model may struggle with agent tools and long research tasks. If you use a cloud API instead, model requests leave your machine and the provider's pricing applies.

Ollama: download a small test model
ollama pull qwen3:1.7b
ollama list
Native Windows endpoint in Settings
http://localhost:11434/v1
Ollama on host, Odysseus in Docker
http://host.docker.internal:11434/v1
06

Check the boundary before enabling agents or remote access

A working local chat is enough for day one. Review what agent tools can reach before giving them shell or file access.

Keep authentication enabled and the app bound to localhost for your first run. Do not publish port 7000 or raw Ollama and bundled service ports to the internet. If you later need access from another device, follow the maintainer's HTTPS and private access guidance.

The maintainer's threat model says the agent shell and file tools run as the app process user without a filesystem sandbox. Use a dedicated machine or restricted account for experiments with untrusted documents and web content. This matters more than a polished login screen.

Docker: check service state and recent app logs
docker compose ps
docker compose logs --tail=120 odysseus

What can Odysseus AI do after the first chat?

The workspace brings model chat, agents with tools, Deep Research, model comparison, documents, memory, email, notes, and calendar into one self-hosted app. Cookbook scans hardware and helps with local model downloads and serving. Those features need more setup than a basic chat, so turn them on as you need them.

The trade-offs worth knowing

  • Privacy depends on the backend. A local model can keep inference on your machine. Cloud APIs, web search, email, and calendar integrations send data to their respective services.
  • The app is free under AGPL-3.0-or-later, but hardware, electricity, storage, and optional API calls still cost money.
  • The curated main branch is a better starting point than the faster-moving dev branch. The project roadmap still calls out fresh-install and Cookbook reliability work across machines.
  • Small local models are useful for checking the connection. The roadmap says agent prompts and tools can consume too much context on smaller models.
  • Agent shell and file tools have no filesystem sandbox in the current threat model. Keep the deployment private and give the app process only the access it needs.
Personal verdict

I would try Odysseus if I wanted one private workspace for local chat and was willing to maintain a self-hosted app. Start with main, localhost, and one model. I would wait before relying on its agent and integration features for sensitive work until I had tested them under a restricted account.

Frequently asked questions

Is odysseusai.dev the official Odysseus AI site?+

No. It identifies itself as an independent setup guide. The maintainer's repository is github.com/odysseus-dev/odysseus, and the official project site is odysseus-dev.github.io/odysseus.

Is Odysseus AI free?+

The software is free and AGPL-3.0-or-later licensed. Your hardware and electricity have costs, and a hosted model API can bill you separately.

Does Odysseus AI work offline?+

Basic local chat can work without a cloud model when Odysseus and a local model server are already installed and running. Web research, cloud APIs, and external email or calendar services need network access.

Do I need a GPU?+

No GPU is required to run the workspace or a small CPU-served model, but local inference can be slow. Larger models and long agent sessions need more RAM or VRAM. You can also use a hosted model API.

Why can I open Odysseus but see no model?+

The app and the model server are separate. Confirm that Ollama or another backend is running, then add its reachable endpoint in Odysseus Settings. Use localhost:11434/v1 for a native Windows setup and host.docker.internal:11434/v1 when Odysseus is in Docker and Ollama runs on the host.

Why is my Apple Silicon model running on the CPU in Docker?+

Docker on macOS does not give the container access to Apple's Metal GPU. Use the native start-macos.sh route for GPU-backed Cookbook serving, or connect to a model server running outside the container.

Sources & further reading

Sources and further reading

More practical field notes from Agent Builders HQ are on the way.

Stay tuned →