Deploy PewDiePie's Odysseus AI Workspace
Self-hosted AI workspace with memory, RAG & web search. No ChatGPT fees.
Odysseus
Just deployed
/app/data
Just deployed
/var/cache/ntfy
searxng
Just deployed
/etc/searxng
chroma
Just deployed
/data
Deploy and Host Odysseus AI Workspace on Railway

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
- Click Deploy on Railway — all four services build automatically (~3–5 minutes)
- Go to the odysseus service → Variables tab to find your auto-generated
ODYSSEUS_ADMIN_PASSWORD(Railway generates it from${{secret(32)}}at deploy time) - Open your Railway public URL and log in with
adminand the generated password - Go to Settings → Models and add your LLM provider API key
- 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/datavolume.
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 — source
- Odysseus Website — documentation
- ChromaDB Docs — vector DB reference
- SearXNG Settings — search config
- ntfy Documentation — 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.
Template Content
