---
title: "Deploy Odysseus (PewDiePie) [Sep'26]"
description: "Self-hosted AI workspace with memory, RAG & web search. No ChatGPT fees."
category: "AI/ML"
url: https://railway.com/deploy/odysseus-ai-workspace
---

# Deploy Odysseus (PewDiePie) [Sep'26]

Self-hosted AI workspace with memory, RAG & web search. No ChatGPT fees.

**[Deploy Odysseus (PewDiePie) [Sep'26] on Railway](https://railway.com/template/odysseus-ai-workspace)**

Machine-readable deploy manifest (JSON, validated by TemplateCI): https://railway.com/deploy/odysseus-ai-workspace/manifest.json

- **Creator:** SilverBanana
- **Category:** AI/ML
- **Total deploys:** 10

## Template content

### Odysseus https://bc.xavto.fr/xavto/odysseus-logo1.svg

- **Source:** XavTo/odysseus
- **Public domain:** Yes

### ntfy https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/ntfy.png

- **Image:** binwiederhier/ntfy

### searxng https://docs.searxng.org/_static/searxng-wordmark.svg

- **Source:** XavTo/odysseus

### chroma https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/webp/chroma.webp

- **Image:** chromadb/chroma:latest

## Documentation

# Deploy and Host Odysseus AI Workspace on Railway

![Odysseus self-hosted AI workspace](https://res.cloudinary.com/dh2nt6hgh/image/upload/v1780982827/Screenshot_2026-06-09_at_10.56.59_AM_i70jx3.png)

Odysseus is the self-hosted AI workspace built by PewDiePie — chat, persistent memory,
RAG document search, private web research, agent workflows, email tools, Playwright browser
automation, and push notifications, all in one platform. Connect Claude, GPT-4o, Gemini,
OpenRouter, or any OpenAI-compatible endpoint. Every conversation, memory, and document
stays on your Railway instance — nothing shared with any third-party platform.

This template deploys the complete four-service Odysseus stack: the web app, ChromaDB for
vector memory, private SearXNG for web search, and ntfy for push notifications — all
pre-wired over Railway's private networking with persistent volumes.

---

## What This Template Deploys

| Service | Purpose |
|---|---|
| **Odysseus** | The AI workspace — chat, agents, memory MCP, document RAG, email tools, Playwright browsing, and model management. Public HTTPS on port `8000` |
| **ChromaDB** | Vector database — stores embeddings for persistent memory and RAG document retrieval. Private service at `/data` |
| **SearXNG** | Private metasearch engine — powers Odysseus web research without any external search API key. Private service |
| **ntfy** | Push notification service — sends alerts and reminders from Odysseus workflows to any device. Private by default |

Only the Odysseus web app is publicly accessible. ChromaDB, SearXNG, and ntfy communicate
with Odysseus over Railway's private internal network — never exposed publicly.

---

## About Hosting Odysseus

Running Odysseus in production requires four coordinated services with private networking,
persistent volumes, and shared credentials. Without a managed host, you're configuring
Docker Compose, inter-service networking, SearXNG settings files, and SSL manually.

Railway pre-wires all four services over private networking with auto-generated admin
credentials and persistent volumes — public HTTPS domain for Odysseus UI provisioned
automatically.

Typical cost: **~$5–10/month** on Railway's Hobby plan. ChatGPT Plus costs $20/month per
user with no persistent cross-session memory, no private web search, and no self-hosted
option. Odysseus gives your whole team all of that at flat compute cost.

---

## Deploy in Under 5 Minutes

1. Click **Deploy on Railway** — all four services build automatically (~3–5 minutes)
2. Go to the **odysseus** service → **Variables** tab to find your auto-generated
   `ODYSSEUS_ADMIN_PASSWORD` (Railway generates it from `${{secret(32)}}` at deploy time)
3. Open your Railway public URL and log in with `admin` and the generated password
4. Go to **Settings → Models** and add your LLM provider API key
5. Set **Claude Sonnet 4.6** as your default model — required for Memory MCP and tool-use
   workflows (Haiku may skip tool calls on complex tasks)

No SSH. No Docker configuration. No manual service wiring.

---

## Common Use Cases

- **PewDiePie's self-hosted AI workspace** — run the same AI workspace built by PewDiePie
  on your own Railway infrastructure; all conversations, memories, and documents stay on
  your instance with no data shared to any AI platform
- **Self-hosted alternative to ChatGPT Plus with persistent memory** — unlike ChatGPT's
  limited cross-session memory, Odysseus stores all memories in ChromaDB with full RAG
  retrieval — your AI assistant remembers everything you've told it, permanently
- **Private AI research assistant with web search** — Odysseus uses a private SearXNG
  instance for web research without leaking your queries to Google or Bing; no Tavily API
  key required for basic web search
- **AI agent workspace with document RAG** — upload PDFs, notes, and documents; Odysseus
  indexes them into ChromaDB and retrieves relevant context automatically during chat
- **Multi-model AI workspace** — switch between Claude, GPT-4o, Gemini, DeepSeek, or any
  OpenRouter model without losing memory, documents, or chat history
- **Autonomous agent workflows with Playwright** — agents browse websites, fill forms,
  and extract data via built-in Playwright browser automation

---

## Configuration

| Variable | Required | Description |
|---|---|---|
| `ODYSSEUS_ADMIN_USER` | ✅ Pre-set | `admin` — your login username |
| `ODYSSEUS_ADMIN_PASSWORD` | ✅ Auto-generated | Check the odysseus service **Variables** tab after deploy for the generated value |
| `AUTH_ENABLED` | ✅ Pre-set | `true` — required for public Railway deployment |
| `LOCALHOST_BYPASS` | ✅ Pre-set | `false` — disables localhost auth bypass for public access |
| `DATABASE_URL` | Pre-set | `sqlite:///./data/app.db` — SQLite stored at `/app/data` |
| `CHROMADB_HOST` | Auto-wired | `${{chroma.RAILWAY_PRIVATE_DOMAIN}}` — private ChromaDB hostname |
| `SEARXNG_INSTANCE` | Auto-wired | `http://${{searxng.RAILWAY_PRIVATE_DOMAIN}}:8080` — private SearXNG URL |
| `NTFY_BASE_URL` | Auto-wired | `http://${{ntfy.RAILWAY_PRIVATE_DOMAIN}}:80` — private ntfy URL |
| `OPENAI_API_KEY` | Optional | OpenAI GPT-4o / GPT-4o-mini API key |
| `OLLAMA_BASE_URL` | Optional | Remote Ollama endpoint for local model access |
| `TAVILY_API_KEY` | Optional | Tavily Search API key for enhanced web research |
| `HF_TOKEN` | Optional | Hugging Face token for private model access |

> **Find your password:** odysseus service → **Variables** tab → copy the generated
> value of `ODYSSEUS_ADMIN_PASSWORD`. Changing this after first setup does not reset the
> existing admin account — the password is stored in the `/app/data` volume.

---

## Odysseus vs. Alternatives

| | Odysseus (Railway) | ChatGPT Plus | Claude Pro | Open WebUI |
|---|---|---|---|---|
| **Monthly cost** | ~$5–10 flat | $20/user | $20/user | ~$5 (self-hosted) |
| **Persistent memory (RAG)** | ✅ ChromaDB | ⚠️ Limited | ⚠️ Limited | ⚠️ Via plugin |
| **Private web search** | ✅ SearXNG (no API key) | ✅ Built-in | ❌ No | ❌ No |
| **Push notifications** | ✅ ntfy built-in | ❌ No | ❌ No | ❌ No |
| **Document RAG** | ✅ Built-in | ✅ Yes | ✅ Yes | ✅ Yes |
| **Playwright browser agents** | ✅ Built-in | ❌ No | ❌ No | ❌ No |
| **Multi-model** | ✅ Any provider | ❌ OpenAI only | ❌ Anthropic only | ✅ Yes |
| **Data ownership** | ✅ Your instance | ❌ OpenAI servers | ❌ Anthropic servers | ✅ Your instance |
| **Self-hostable** | ✅ Yes | ❌ No | ❌ No | ✅ Yes |

---

## Dependencies for Odysseus Hosting

- Railway account — Hobby plan (~$5–10/month) for the four-service stack
- API key from at least one LLM provider — Anthropic Claude Sonnet 4.6 recommended for
  Memory MCP and tool-use workflows
### Deployment Dependencies

- [Odysseus GitHub Repository](https://github.com/pewdiepie-archdaemon/odysseus) — source
- [Odysseus Website](https://pewdiepie-archdaemon.github.io/odysseus/) — documentation
- [ChromaDB Docs](https://cookbook.chromadb.dev/running/running-chroma/) — vector DB reference
- [SearXNG Settings](https://docs.searxng.org/admin/settings/index.html) — search config
- [ntfy Documentation](https://docs.ntfy.sh/config/) — notification configuration

### Implementation Details

Only `odysseus` gets a public domain. ChromaDB, SearXNG, and ntfy are internal-only,
accessible via `RAILWAY_PRIVATE_DOMAIN` reference variables. All persistent data survives
redeploys: chat at `/app/data`, vectors at `/data`, SearXNG config at `/etc/searxng`,
ntfy cache at `/var/cache/ntfy`. FastEmbed embeddings cache at `/app/data/fastembed` to
avoid re-downloading on each restart.

---

## Frequently Asked Questions

**What is Odysseus and who built it?**
Odysseus is an open-source self-hosted AI workspace created by PewDiePie (GitHub:
`pewdiepie-archdaemon`). It combines chat, persistent memory via ChromaDB, private web
search via SearXNG, document RAG, agent workflows, Playwright browser automation, email
tools, and push notifications in a single self-hosted platform.

**Why does this template use four services?**
Each service handles a specific function: Odysseus runs the main web app; ChromaDB stores
vector embeddings for memory and RAG; SearXNG provides private web research without
external API keys; ntfy delivers push notifications. All four run on Railway's private
network so only the Odysseus UI is publicly accessible.

**How much does Odysseus cost on Railway?**
Approximately $5–10/month on Railway's Hobby plan for all four services. LLM API costs
are separate — Claude Sonnet 4.6 is recommended for Memory MCP but Claude Haiku or
GPT-4o-mini work for basic chat at lower inference costs.

**Where do I find my login password after deploy?**
Open the **odysseus** service in your Railway project → **Variables** tab → find
`ODYSSEUS_ADMIN_PASSWORD`. Railway generates the value from `${{secret(32)}}` at deploy
time. Use `admin` as the username and that generated value as the password.

**Why does Memory MCP require Claude Sonnet instead of Haiku?**
Haiku sometimes skips tool calls and answers directly. Sonnet 4.6 reliably calls
`mcp__memory__manage_memory` for memory operations. Switch to Haiku only after confirming
Memory MCP works with Sonnet.

**Does Odysseus work without local GPU resources?**
Yes. This template uses external LLM APIs — Claude, GPT-4o, or any OpenRouter model. It
does not run local inference on Railway. For Ollama, point `OLLAMA_BASE_URL` to a separate
GPU-enabled instance.

---

## Why Deploy and Host Odysseus on Railway?

Railway is a singular platform to deploy your infrastructure stack. Railway will host your
infrastructure so you don't have to deal with configuration, while allowing you to vertically
and horizontally scale it.

By deploying Odysseus on Railway, you get PewDiePie's complete self-hosted AI workspace —
persistent ChromaDB memory, private SearXNG web search, document RAG, agent workflows,
and push notifications — at ~$5–10/month with full data ownership and zero third-party
platform dependency.

## Similar templates

- [Chat Chat](https://railway.com/deploy/-WWW5r) — Chat Chat, your own unified chat and search to AI platform.
- [stella](https://railway.com/deploy/stella) — Self-host stella with web, API, Postgres, Redis, and object storage.
- [Hermes Agent | OpenClaw Alternative with Dashboard](https://railway.com/deploy/hermes-agent-or-openclaw-alternative-wit) — Self-Hosted Hermes AI Agent for Telegram, Discord & Slack

Open this page in a browser: https://railway.com/deploy/odysseus-ai-workspace
