Getting Odysseus running takes only a few commands. The defaults work out of the box — clone the repository, start the server, then configure your model providers and integrations inside Settings. You only need to editDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/pewdiepie-archdaemon/odysseus/llms.txt
Use this file to discover all available pages before exploring further.
.env for deployment-level overrides like the bind address, port, or a pre-seeded admin password. Choose the installation method that fits your environment below.
- Docker (recommended)
- Native Python (Linux)
- macOS (Apple Silicon)
- Windows
Docker Compose starts Odysseus together with bundled ChromaDB, SearXNG, and ntfy services. All ports bind to This step is optional but recommended — it gives you an explicit file to edit for any deployment overrides. The app runs without it.The first build takes a few minutes while Docker downloads and installs Python dependencies. Subsequent starts are fast.
127.0.0.1 by default, so nothing is exposed to your LAN unless you opt in.Requirements: Docker Desktop (or Docker Engine + Compose plugin) on Linux, macOS, or Windows.Create your .env file
Build and start the containers
To include optional extras in the image (PDF viewer and Office document extraction; note that PyMuPDF is AGPL-licensed), build with the optional flag before bringing services up:
Open Odysseus
Once the containers are healthy, open http://localhost:7000 in your browser.If port
7000 is already in use on your machine, set APP_PORT=7001 (or another free port) in your .env file and re-run docker compose up -d.First login
Odysseus creates an admin account on first boot. The username defaults toadmin (or whatever you set as ODYSSEUS_ADMIN_USER). The password is either the value of ODYSSEUS_ADMIN_PASSWORD from your .env, the one you entered interactively during setup.py, or a randomly generated token printed in the terminal if setup ran non-interactively.
For Docker installs, retrieve the generated password from the container logs:
/login, then navigate to Settings → Account to change your password to something permanent.
Add your first model
Odysseus has no bundled model — you connect it to a model provider after first boot.- Go to Settings → Models (or open Settings and search for “Models”).
- Add an endpoint. For a locally-running Ollama instance, use:
If Odysseus is running inside Docker and Ollama is on the host, use
http://host.docker.internal:11434/v1instead, and make sure Ollama is listening on all interfaces (OLLAMA_HOST=0.0.0.0:11434 ollama serve). - For OpenAI or OpenRouter, add your API key directly in the Settings panel — no
.envedit required.
By default, Odysseus and all bundled Docker services bind to
127.0.0.1 and are only reachable from the local machine. To expose Odysseus on your LAN or over HTTPS with a reverse proxy, see the HTTPS & Network Exposure guide.