Install Odysseus (self-hosted AI workspace) with Docker | ComputeBox
KI & GPU
How to install Odysseus, a self-hosted AI workspace
Odysseus is a self-hosted AI workspace for chat, agents, research, documents, and more. Here is how to install it with Docker and serve it securely with HTTPS.
Odysseus is a self-hosted AI workspace: chat with local and API models, agents with tools and MCP, deep research, a document editor, email, notes, and calendar, all in one interface. Instead of handing your data to a provider, everything runs on your own server. This guide installs Odysseus with Docker and serves it securely over your domain with HTTPS.
15 minIntermediateTested on Ubuntu 24.04, DockerUpdated 2026-06-18
In short
Clone the repository, docker compose up -d --build, grab the admin password from the logs, then serve it with Caddy and HTTPS under your domain.
A domain (e.g. odysseus.example.com) with an A record to your server
Odysseus itself is lightweight. The compute load only starts when you serve local models. For the workspace with API models, a solid VPS is enough, and a ComputeBox server is a perfect fit: dedicated AMD EPYC cores, fast NVMe SSD, and full root access from GDPR-compliant German data centers, ready in minutes. For local models you move to a GPU server later.
A solid VPS for your AI workspace: AMD EPYC, NVMe SSD, root access, from €3.49/month.
Clone the repository, create the config, and start the stack:
The first build takes a moment. Compose starts Odysseus together with its internal services (ChromaDB, SearXNG, ntfy), all bound to 127.0.0.1, so not exposed to the network.
On the first start, Odysseus creates an admin account and writes a temporary password to the logs:
The web interface listens locally on port 7000. Since it is bound to 127.0.0.1, the easiest way to reach it for the first login is an SSH tunnel from your machine:
Then open http://localhost:7000, log in as admin with the password from the logs, and change it immediately in Settings.
Step 3: Secure access over your domain with HTTPS#
For permanent access, put Odysseus behind Caddy. Keep the app on 127.0.0.1:7000 and set two values in .env for running behind a reverse proxy:
Restart the stack (docker compose up -d). Then add it to your Caddyfile:
Odysseus is now reachable encrypted under your domain, while all internal services stay private.
Odysseus ships powerful tools: shell access, file uploads, model downloads, and integrations. Treat it accordingly.
Keep AUTH_ENABLED=true and never expose the raw ports (7000, SearXNG, ChromaDB, Ollama) to the internet, only the secured Odysseus interface through Caddy.
After the first start, review data/auth.json: disable open signup and keep only your own account as admin.
Keep .env and the data/ folder out of Git and public shares, that is where keys and data live.
Chat and agents with local or API models, deep research, a document editor, email over IMAP/SMTP, notes, tasks, and calendar, plus an image gallery. All self-hosted.
Do I need a GPU?
Not necessarily. With API models the workspace runs on a normal VPS. For local models a GPU server pays off, and there is a separate guide for that.
Does my data stay private?
Yes. Self-hosted, all data lives on your server. At ComputeBox that server is in a German data center, and you keep full control.