Deploy Odysseus | Self-Hosted AI Workspace with Agents, RAG & Memory
Self-host Odysseus on Railway — AI chat, agents, RAG search & memory.
odysseus
Just deployed
/app/data
chromadb
Just deployed
/chroma/chroma
Deploy and Host Odysseus on Railway
Odysseus is a self-hosted AI workspace that puts chat, autonomous agents, retrieval-augmented search and persistent memory behind a single login. It runs entirely on infrastructure you control and connects to any OpenAI-compatible model provider you choose.
About Hosting Odysseus
This template deploys Odysseus together with a ChromaDB vector store, wired over Railway's private network. The application service builds from the upstream repository and serves the web UI, API and agent runtime on port 7000 behind Railway's HTTPS proxy. A persistent volume at /app/data holds the SQLite database, session state, uploaded documents and the embedding cache, so everything survives restarts and redeploys. ChromaDB keeps its collections on its own volume. Authentication is enabled by default and the first administrator account is seeded on first boot from the generated ODYSSEUS_ADMIN_PASSWORD variable: open the deployed URL, sign in as admin, and the workspace is ready.
Common Use Cases
- Run a private AI assistant for a team without sending conversations to a third-party SaaS
- Build a searchable knowledge base over your own documents using local embeddings and vector retrieval
- Host long-running agents with persistent memory, scheduled tasks and built-in tools such as a headless browser, email and image generation
Dependencies for Odysseus Hosting
- ChromaDB stores document and memory collections. It is included in this template and reachable over the private network.
- A model provider. Set
OPENAI_API_KEY, or pointRESEARCH_LLM_ENDPOINTorOLLAMA_BASE_URLat any OpenAI-compatible endpoint you already run.
Deployment Dependencies
Implementation Details
The application binds 0.0.0.0:7000, and the template sets PORT=7000 so Railway's proxy routes to it correctly. CHROMADB_HOST points at chromadb.railway.internal, keeping vector traffic on the private network rather than the public internet. SECURE_COOKIES is enabled and ALLOWED_ORIGINS is bound to the generated public domain, so session cookies are scoped correctly from the first request.
Embeddings run locally through FastEmbed using sentence-transformers/all-MiniLM-L6-v2 at 384 dimensions, so no embedding API key is needed to index documents. The model cache lives on the persistent volume.
Set ODYSSEUS_ADMIN_USER before the first deployment if you want a different administrator name. The account is created on first boot only, so editing the variable afterwards will not change it.
Why Deploy 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 are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.
Template Content
odysseus
odysseus-dev/odysseuschromadb
chromadb/chroma:latest