# Odysseus

A self-hosted AI workspace for chat, agents, research, documents, email, notes, calendar, and local model workflows.

Source: https://wheredoirunthis.com/products/odysseus · JSON: https://wheredoirunthis.com/api/products/odysseus · Read on 2026-10-15

## At a glance

- Type: AI workspace
- Kind: Open source tool
- Isolation: Container
- Free tier: Not documented
- Starting price: Not disclosed
- GPU: Not documented
- Regions: Not disclosed
- Coverage: 10 of 61 assessed capabilities supported
- Agent readiness: read 4.5 of 10 signals, drive 4.5 of 9 signals

## Links

- Homepage: https://odysseus-dev.github.io/odysseus/
- Docs: https://github.com/odysseus-dev/odysseus/blob/dev/website/setup.md
- Repository: https://github.com/odysseus-dev/odysseus

## Website design

Desktop public website · assessed 2026-10-15

Complete assessment.

A dark, monospace landing uses cyan text, coral highlights, a sail mark and flowing background artwork. Its linked setup guide uses GitHub's light repository-and-Markdown layout rather than the landing's visual theme. No commercial pricing page applies to this free self-hosted tool.

- Styles: Retro-computing
- Landing page: captured
- Pricing: not applicable
- Docs: captured

## Runtime

- **GPU & accelerators**: Uses operator GPUs for local-model serving; NVIDIA/AMD overlays, native macOS Metal. Does not provision GPU instances. [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/website/setup.md)
- **BYOC (Bring your own cloud)**: na [source](https://github.com/odysseus-dev/odysseus)
- **Secrets management**: Admin Vault, integration tokens and provider keys; backup contains Fernet data/.app_key and stored tokens. Not an outside-workload credential-injection proxy. [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/website/backup-restore.md)
- **Storage options**: SQLite default (DATABASE_URL configurable), ChromaDB vectors, local data/uploads/docs/model caches. Docker vectors in separate volume. [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/website/setup.md)
- **Supported workloads**: Chat and agent tasks using local/API models, shell/files/tools/MCP/skills/memory, Hardware-aware model recommendations, downloads and serving, Multi-step web research and generated reports, Blind model comparison; AI document editing, IMAP/SMTP email triage; notes, reminders, scheduled agent tasks and CalDAV calendar [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/README.md)
- **Persistence**: Persistent data/ state and bind-mounted logs/model caches; Docker ChromaDB vectors reside in a separate chromadb-data volume. [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/website/backup-restore.md)
- **Data jurisdiction**: na [source](https://github.com/odysseus-dev/odysseus)
- **Resource limits & quotas**: Operator hardware; configurable validated positive upload limits: chat/memory/ICS 10MB, gallery 100MB, document/email/STT 25MB. No hosted quota system. [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/website/setup.md)
- **SDK languages**: Not documented [source](https://github.com/odysseus-dev/odysseus)
- **Network & egress controls**: No agent network egress filtering. Post-untrusted-context side-effect approval gate is enabled by default. [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/THREAT_MODEL.md)
- **Snapshots & forks**: No compute-instance snapshot/fork. Official odysseus-backup snapshots/restores app data as tar.gz using SQLite backup API; Docker ChromaDB requires separate backup. [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/website/backup-restore.md)
- **Deployment methods**: dockerfile, container-image [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/README.md)
- **Isolation**: Container — "Recommended Compose deployment runs the app in a container. THREAT_MODEL Known Gaps: no shell/filesystem sandbox; tools run as the app process user with no egress filtering or filesystem confinement. Native runs are host processes. Default post-external-context approval gate is a compensating control, not isolation." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/THREAT_MODEL.md) (confidence: high)

## Capabilities

### AI & agents

| Capability | Status | Evidence |
| --- | --- | --- |
| Agent skills | Supported | "Chat + Agents — local/API models, tools, MCP, files, shell, skills, and memory." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/README.md) |
| AI app builder | Not supported | "Not documented on the fresh README, setup guide, threat model or integration reference public surface." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/README.md) |
| Autonomous QA agent | Not supported | "Not documented on the fresh README, setup guide, threat model or integration reference public surface." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/README.md) |
| Built-in coding agent | Supported | "Chat + Agents — local/API models, tools, MCP, files, shell, skills, and memory." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/README.md) |
| BYOK for LLMs | Supported | "OPENAI_API_KEY — Optional OpenAI key. Prefer adding providers in the app unless pre-seeding." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/website/setup.md) |
| Credential-injection proxy | Not supported | "Provider keys/vault are app state; no outside-workload on-wire credential proxy documented." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/website/backup-restore.md) |
| LLM gateway | Partially supported | "Each piece runs locally against whatever endpoints you point it at." [source](https://odysseus-dev.github.io/odysseus/) |
| MCP client | Supported | "Chat + Agents — local/API models, tools, MCP, files, shell, skills, and memory." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/README.md) |
| MCP-server hosting | Partially supported | "Odysseus auto-registers a few built-in MCP servers at startup." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/website/setup.md) |
| MCP server | Not supported | "Documented MCP servers are consumed by the built-in agent; external Claude/Codex integrations use scoped HTTP APIs, not a first-party MCP server." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/website/setup.md) |
| Model inference API (first-party) | Not applicable | "Self-hosted AI workspace application, not a compute/hosting/data platform exposing this workload primitive." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/README.md) |
| Preinstalled coding agent | Not supported | "External Claude/Codex skill/plugin bundles are installed in user terminal sessions, not provisioned inside an Odysseus sandbox." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/integrations/codex/README.md) |

### Networking & delivery

| Capability | Status | Evidence |
| --- | --- | --- |
| Automatic HTTPS | Not supported | "Not documented on the fresh README, setup guide, threat model or integration reference public surface." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/README.md) |
| Custom domains | Not supported | "Not documented on the fresh README, setup guide, threat model or integration reference public surface." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/README.md) |
| Direct public IPv6 | Not applicable | "Self-hosted AI workspace application, not a compute/hosting/data platform exposing this workload primitive." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/README.md) |
| Edge KV store | Not applicable | "Self-hosted AI workspace application, not a compute/hosting/data platform exposing this workload primitive." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/README.md) |
| Egress controls | Not supported | "The agent bash and read_file/write_file tools run as the app process user with no network egress filtering or filesystem confinement." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/THREAT_MODEL.md) |
| Email send / receive | Supported | "Email — IMAP/SMTP inbox with triage, tags, summaries, reminders, and reply drafts." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/README.md) |
| Public preview URLs | Not applicable | "Self-hosted AI workspace application, not a compute/hosting/data platform exposing this workload primitive." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/README.md) |
| Private networking | Not applicable | "Self-hosted AI workspace application, not a compute/hosting/data platform exposing this workload primitive." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/README.md) |
| Built-in reverse proxy | Not supported | "Not documented on the fresh README, setup guide, threat model or integration reference public surface." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/README.md) |

### Organisation & security

| Capability | Status | Evidence |
| --- | --- | --- |
| Built-in auth | Supported | "Sessions: bcrypt passwords, 7-day session tokens. 2FA: TOTP with 8 single-use backup codes." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/THREAT_MODEL.md) |
| BYOC | Not applicable | "Self-hosted AI workspace application, not a compute/hosting/data platform exposing this workload primitive." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/README.md) |
| Deploy into customers' VPCs | Not applicable | "Self-hosted AI workspace application, not a compute/hosting/data platform exposing this workload primitive." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/README.md) |
| Secrets management | Partially supported | "Backup contains the Fernet encryption key (data/.app_key), the vault, sessions, and stored provider/API tokens." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/website/backup-restore.md) |
| Self-host / OSS core | Supported | "A self-hosted AI workspace. AGPL-3.0-or-later." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/README.md) |
| Sharing | Not supported | "Not documented on the fresh README, setup guide, threat model or integration reference public surface." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/README.md) |
| SSO / SAML | Not supported | "Not documented on the fresh README, setup guide, threat model or integration reference public surface." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/README.md) |
| Teams | Partially supported | "Roles and Capabilities: Admin / Non-admin (default)." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/THREAT_MODEL.md) |
| Workload identity | Not supported | "Scoped API tokens are static user integration credentials; no OIDC/SPIFFE workload identity documented." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/integrations/codex/README.md) |

### Developer access

| Capability | Status | Evidence |
| --- | --- | --- |
| CLI | Supported | "scripts/odysseus-backup snapshot / list / verify / restore; every command prints a JSON result." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/website/backup-restore.md) |
| E2B-compatible API | Not supported | "Not documented on the fresh README, setup guide, threat model or integration reference public surface." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/README.md) |
| Filesystem API | Not applicable | "Self-hosted AI workspace application, not a compute/hosting/data platform exposing this workload primitive." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/README.md) |
| Git deploy | Not supported | "Not documented on the fresh README, setup guide, threat model or integration reference public surface." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/README.md) |
| HTTP data API | Not applicable | "Self-hosted AI workspace application, not a compute/hosting/data platform exposing this workload primitive." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/README.md) |
| OpenAPI spec | Not supported | "No published OpenAPI specification found in repository/docs; public openapi.json returned 404." [source](https://odysseus-dev.github.io/odysseus/openapi.json) |
| Private container registry | Not supported | "Not documented on the fresh README, setup guide, threat model or integration reference public surface." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/README.md) |
| Public API | Supported | "GET /api/codex/memory; POST /api/codex/memory; DELETE /api/codex/memory/{memory_id}." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/integrations/codex/skills/odysseus/SKILL.md) |
| SDK | Not supported | "Not documented on the fresh README, setup guide, threat model or integration reference public surface." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/README.md) |
| SSH access | Not supported | "Not documented on the fresh README, setup guide, threat model or integration reference public surface." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/README.md) |

### Compute & storage

| Capability | Status | Evidence |
| --- | --- | --- |
| Cloud-init / ignition config | Not applicable | "Self-hosted AI workspace application, not a compute/hosting/data platform exposing this workload primitive." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/README.md) |
| Desktop / computer-use sandbox | Partially supported | "browser MCP (page navigation, screenshots, vision)" [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/website/setup.md) |
| GPU compute | Not applicable | "Self-hosted AI workspace application, not a compute/hosting/data platform exposing this workload primitive." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/README.md) |
| Live-state (memory) snapshots | Not applicable | "Self-hosted AI workspace application, not a compute/hosting/data platform exposing this workload primitive." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/README.md) |
| Multi-region | Not applicable | "Self-hosted AI workspace application, not a compute/hosting/data platform exposing this workload primitive." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/README.md) |
| Object storage | Not applicable | "Self-hosted AI workspace application, not a compute/hosting/data platform exposing this workload primitive." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/README.md) |
| Persistent disk | Not applicable | "Self-hosted AI workspace application, not a compute/hosting/data platform exposing this workload primitive." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/README.md) |
| Sandbox templates / custom images | Not applicable | "Self-hosted AI workspace application, not a compute/hosting/data platform exposing this workload primitive." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/README.md) |
| Scale to zero | Not applicable | "Self-hosted AI workspace application, not a compute/hosting/data platform exposing this workload primitive." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/README.md) |
| Selectable isolation runtime | Not supported | "Compose or native deployment is not a per-workload isolation-runtime selector; threat model explicitly states no shell/filesystem sandbox." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/THREAT_MODEL.md) |
| Snapshots / forking | Not applicable | "Self-hosted AI workspace application, not a compute/hosting/data platform exposing this workload primitive." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/README.md) |

### Data

| Capability | Status | Evidence |
| --- | --- | --- |
| Database branching | Not applicable | "Self-hosted AI workspace application, not a compute/hosting/data platform exposing this workload primitive." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/README.md) |
| Ephemeral instant DB (no-signup) | Not applicable | "Self-hosted AI workspace application, not a compute/hosting/data platform exposing this workload primitive." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/README.md) |
| First-party database | Not applicable | "Self-hosted AI workspace application, not a compute/hosting/data platform exposing this workload primitive." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/README.md) |
| Vector search | Partially supported | "ChromaDB (vector store); EMBEDDING_URL — OpenAI-compatible embeddings endpoint." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/website/setup.md) |

### Platform & operations

| Capability | Status | Evidence |
| --- | --- | --- |
| Managed CI/CD runners | Not applicable | "Self-hosted AI workspace application, not a compute/hosting/data platform exposing this workload primitive." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/README.md) |
| Built-in observability | Not applicable | "Self-hosted AI workspace application, not a compute/hosting/data platform exposing this workload primitive." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/README.md) |
| Preview environments | Not applicable | "Self-hosted AI workspace application, not a compute/hosting/data platform exposing this workload primitive." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/README.md) |
| Scheduled tasks | Supported | "Notes, Tasks + Calendar — reminders, todos, scheduled agent tasks, and CalDAV sync." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/README.md) |
| Project template marketplace | Not applicable | "Self-hosted AI workspace application, not a compute/hosting/data platform exposing this workload primitive." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/README.md) |
| Durable workflows | Not supported | "Not documented on the fresh README, setup guide, threat model or integration reference public surface." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/README.md) |

## Agent readiness

### Read: 4.5 of 10 signals present

4.5/10 signals (3 full, 3 partial)

- Llms txt: fail — "https://odysseus-dev.github.io/odysseus/llms.txt returned 404."
- Llms full txt: fail — "https://odysseus-dev.github.io/odysseus/llms-full.txt returned 404."
- Robots AI policy: partial — "https://odysseus-dev.github.io/odysseus/robots.txt returned 404: default-allow."
- JSON LD: fail — "Fresh landing HTML contains no application/ld+json script."
- Sitemap: fail — "https://odysseus-dev.github.io/odysseus/sitemap.xml returned 404; robots absent, no alternate pointer."
- Meta quality: partial — "Descriptive title and description, no OpenGraph tags in fetched landing."
- Markdown negotiation: partial — "Accept:text/markdown returns text/html; .md landing variant 404. Raw GitHub README/setup/skills are substantive Markdown."
- Content efficiency: pass — "4332 readable text chars / 56964 HTML bytes (~7.6%), excluding script/style: >5%."
- Docs discoverable: pass — "Landing Get started links repository README; README links Setup Guide first-class."
- Pricing machine readable: na — "Self-host-only AGPL app; no hosted pricing."
- Anti bot: pass — "Public landing, raw documentation, gh metadata and well-known probes fetched without challenge."

### Drive: 4.5 of 9 signals present

4.5/9 signals (3 full, 3 partial)

- Public API: pass — "Official Claude/Codex skills document scoped HTTP endpoint methods and payloads for memory/calendar/documents/email/Cookbook."
- Openapi spec: fail — "No published specification in repository tree/setup; public openapi.json 404."
- MCP server: fail — "MCP is consumed internally; no documented first-party external MCP server."
- SDK packages: fail — "Python integration helper scripts, no official packaged client SDK."
- Auth docs: pass — "Integration README documents Bearer ODYSSEUS_API_TOKEN and server-enforced per-tool scopes/403 behavior."
- Agent self serve creds: na — "Self-host-only; no hosted signup/credential endpoint."
- Webhooks: partial — "Setup documents admin-gated webhook management but not signing/payload reference."
- CLI tool: pass — "Official scripts/odysseus-backup with documented commands and JSON output; integration API command helper also documented."
- Error model: partial — "Integration skills document intentional 403 permission restrictions, but no comprehensive JSON error schema."
- Rate limit docs: na — "No hosted API rate-limit surface."
- Agent config: partial — "Official Claude and Codex SKILL.md bundles; no root AGENTS.md or public well-known agent discovery."

## Coding harnesses

- Claude Code (Anthropic) — "This directory contains the Claude Code skill bundle for Odysseus." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/integrations/claude/README.md)
- Codex CLI (OpenAI) — "This directory contains the Codex plugin/skill bundle for Odysseus." [source](https://raw.githubusercontent.com/odysseus-dev/odysseus/dev/integrations/codex/README.md)

## Open source

- Repository: https://github.com/odysseus-dev/odysseus
- License: AGPL-3.0-or-later
- Stars: 93478
- Forks: 1593
- Self-host methods: compose, docker, source-build
- Self-host dependencies: sqlite, chromadb, searxng, ntfy

## Company & presence

- GitHub: https://github.com/odysseus-dev/odysseus
- Landing page (GitHub Pages): https://odysseus-dev.github.io/odysseus/

## Nearby in the atlas

- [Docker Agent](/products/docker-agent.md)
- [AgentNest](/products/agentnest.md)
- [Anthropic Sandbox Runtime (srt)](/products/sandbox-runtime.md)
- [Aptible](/products/aptible.md)
- [Canine](/products/canine.md)
- [Catnip](/products/catnip.md)

## Method

Facts come from the product's own public pages. Each claim carries its evidence: a quote and the page it came from. We count capabilities rather than grade products, and "Not assessed" means we have not checked, never that the product lacks it.
