14 min read July 30, 2026

Odysseus AI Linux Install: Native and Docker Setup Guide

Choose the right Linux path, complete the first login, and expose the workspace safely without mixing app setup with model-server setup.

Odysseus AI Wiki Editorial Team
Odysseus AI Wiki Editorial Team
Independent, fan-made guidance checked against the official Odysseus repository.

Quick answer: For the simplest Odysseus AI Linux install, use Docker Compose and open http://localhost:7000 after the containers become healthy. Use the native Python path when you want direct process control, easier local debugging, or a host-level environment. Both paths require deliberate authentication and network choices; neither requires you to run a local model on the same Linux machine.

An Odysseus AI Linux install has two supported shapes: the official Docker Compose route and a native Python environment. The current upstream documentation calls Docker the recommended option, while the native Linux instructions use Python 3.11 or newer, a virtual environment, requirements.txt, setup.py, and Uvicorn on port 7000. This guide keeps those paths separate, explains where Ollama or another model server fits, and adds the verification and security checks that short command lists often omit.

Choose native Linux or Docker before installing

Docker is the better default when you want the documented multi-service stack, repeatable container recreation, and a clean boundary between the application and the host. Native Linux is useful when you want to inspect Python processes directly, develop against the repository, use host tools without container boundaries, or minimize Docker-specific networking layers.

Do not choose native installation merely because you plan to use a local model. Odysseus can connect to Ollama, vLLM, SGLang, or another OpenAI-compatible endpoint whether the workspace itself runs natively or in Docker. Likewise, Docker does not automatically grant GPU acceleration: the host runtime and the selected compose overlay must expose the correct device.

Decision Native Linux Docker Compose
Fastest supported start More manual steps Recommended upstream path
Process visibility Direct Python and Uvicorn processes Container logs and health checks
Bundled services Configure services separately Compose can start the documented stack
Host tooling Direct access Requires explicit mounts or remote endpoints
GPU Depends on the native model runtime Requires verified Docker GPU passthrough
Best fit Development and host-level control Most first-time and reproducible installs

Run this Linux preflight checklist first

Confirm the branch, interpreter, free port, storage, and inference plan before cloning. The official repository currently uses dev as the default branch for the newest changes and describes main as the more curated branch. There are no official GitHub Releases or versioned binary assets to treat as a stable installer, so this page links to the repository rather than inventing a latest package number.

For a native install, verify Python 3.11 or newer. For Docker, verify the Docker Engine and Compose plugin. Port 7000 must be free unless you intentionally set APP_PORT to another value. If Cookbook will download or serve local models in the background, the upstream guide also calls out tmux for native Linux.

  1. Pick dev or main

    Use dev for the newest upstream changes; use main when you prefer the curated branch and accept that it may lag behind dev.

  2. Choose the model location

    Decide whether inference runs on this machine, another host, or a hosted API. This choice changes storage and GPU needs far more than the web workspace does.

  3. Check the local port

    Confirm that port 7000 is available, or record a different APP_PORT before starting.

  4. Keep the first launch private

    Bind to 127.0.0.1 until the generated admin password has been changed and remote access has been planned.

Python and Docker checks
python3 --version
docker --version
docker compose version
ss -ltn | grep ':7000' || true

Native Odysseus AI Linux install step by step

The native path creates an isolated virtual environment, installs the pinned Python requirements, runs the project setup step, and starts the ASGI application with Uvicorn. Run these commands as a normal user inside a directory you control. Avoid sudo pip because it mixes project dependencies into the system Python and makes later cleanup harder.

The final command binds only to loopback. That is the correct first-run default. Keep the terminal open or place the process under a service manager only after the application works interactively. A service unit should use the same project directory, virtual-environment interpreter, environment file, and port you verified manually.

Do not publish the raw port by accident

Changing the host to 0.0.0.0 makes the service reachable on network interfaces. Keep AUTH_ENABLED=true, use a trusted LAN or VPN, and place public deployments behind a properly configured HTTPS reverse proxy.

Clone and install
git clone https://github.com/odysseus-dev/odysseus.git
cd odysseus
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python setup.py
Start the Linux service
python -m uvicorn app:app --host 127.0.0.1 --port 7000

Install Odysseus AI on Linux with Docker Compose

The official quick start treats Docker as the recommended route. Copying .env.example is optional but useful because it makes deployment defaults explicit. Build and start the containers, wait for health checks, then inspect the Odysseus logs for the temporary admin password.

Docker Compose binds the web UI to 127.0.0.1 by default. If port 7000 is occupied, set APP_PORT=7001 or another free port in .env and recreate the container. Do not change APP_BIND to 0.0.0.0 merely to fix a localhost problem; binding and port selection solve different issues.

Official Docker quick start
git clone https://github.com/odysseus-dev/odysseus.git
cd odysseus
cp .env.example .env
docker compose up -d --build
Check health and first-login credentials
docker compose ps
docker compose logs odysseus --tail=120

Verify the first login before adding models

Open http://localhost:7000 from the Linux host. The first setup creates an admin account, using admin unless ODYSSEUS_ADMIN_USER was set, and prints a temporary password. Sign in, replace that password in Settings, and verify the page loads again in a fresh browser session before changing network exposure.

Next, configure one model or API endpoint in Settings and run a minimal chat. This separates application health from inference health. If the interface loads but a prompt fails, the Linux install is probably working and the remaining issue is the model URL, credentials, model name, firewall, or runtime.

  1. Load the local page

    Confirm the browser reaches localhost:7000 and the login form appears without a redirect loop.

  2. Use the generated password

    Read the native terminal or Docker logs; do not guess a default password.

  3. Change the credential

    Replace the temporary admin password before enabling LAN, VPN, or reverse-proxy access.

  4. Test one model

    Add one known endpoint and send a short prompt before enabling more services or tools.


Treat GPU support as a model-runtime decision

The Odysseus workspace itself is comparatively lightweight. GPU demand comes mainly from local model serving. A native Linux install can connect to a host Ollama or another runtime directly. A Docker workspace can also connect to a host or remote endpoint without mounting the Docker socket.

If you want Cookbook or another containerized runtime to use an NVIDIA or AMD GPU, first verify host drivers and container passthrough. The upstream repository provides diagnostic scripts and compose overlays. Passing nvidia-smi inside a container proves device access, but it does not guarantee that a selected llama.cpp, vLLM, or SGLang build has the matching CUDA or ROCm userspace.

Read-only NVIDIA diagnostic
scripts/check-docker-gpu.sh
Host Ollama endpoint for Docker
http://host.docker.internal:11434/v1

Connect Odysseus to Tailscale on Linux safely

The Similarweb phrase-match data surfaced connect odysseus to tailscale linux as a low-difficulty supporting query. It belongs inside this Linux installation guide because the task begins only after a working local installation. It does not justify a separate thin page.

To make Odysseus reachable over Tailscale, bind the application to 0.0.0.0 or the appropriate interface, keep authentication enabled, restrict access with Tailscale policy or the host firewall, and prefer HTTPS when browser features require a secure origin. Never forward the raw application or model port to the public internet as a shortcut.

Safe remote-access sequence
1 Verify locally

Complete login and one model test on 127.0.0.1 first.

2 Bind deliberately

Use APP_BIND=0.0.0.0 or the matching Uvicorn host only after auth is secured.

3 Restrict and encrypt

Allow trusted Tailscale devices, add HTTPS when needed, and keep model ports private.

This workflow is an editorial diagram based on the official setup guide's LAN, Tailscale, authentication, and HTTPS cautions.

Native bind for a trusted VPN
python -m uvicorn app:app --host 0.0.0.0 --port 7000
Docker environment setting
APP_BIND=0.0.0.0
AUTH_ENABLED=true

Update a Linux installation without pretending there is a release version

As of July 30, 2026, the official repository exposes no GitHub Releases or version tags. The default dev branch moves quickly, while main is described as curated. For that reason, this guide does not claim a latest version number, file size, binary installer, or permanent direct download URL.

Before updating, note your branch, back up deployment data and .env, read upstream changes, pull the selected branch, then rebuild or reinstall dependencies. Do not switch from main to dev during an unrelated maintenance window without reviewing the difference. After the update, repeat the login, model, and network checks instead of assuming a successful pull means a healthy application.

Inspect and update the selected branch
git status --short
git branch --show-current
git pull --ff-only
# Docker path
docker compose up -d --build

Odysseus AI Linux troubleshooting table

Troubleshoot one layer at a time: process, port, login, model endpoint, then optional services. Mixing all five produces misleading fixes.

Symptom Likely layer Check first Safe next action
localhost:7000 does not open App process or container Uvicorn output or docker compose ps Inspect logs and confirm the selected port
Port already in use Host networking ss -ltnp Set a different APP_PORT or stop the known conflicting service
Login password unknown First-run credentials Native terminal or container logs Use the generated password and change it in Settings
UI works but prompts fail Model endpoint URL, model name, credentials, firewall Test one endpoint independently and add it again
Host Ollama is unreachable from Docker Container-to-host network Ollama bind and host.docker.internal URL Expose Ollama only to the required trusted interface
GPU is invisible Driver or passthrough Host GPU tools and diagnostic script Fix host runtime before enabling a compose overlay
Remote access works but copy fails Browser secure context Whether the page uses HTTP on a VPN IP Add trusted HTTPS instead of disabling authentication

Odysseus AI Linux install FAQ

Use the official Docker Compose quick start. It is the upstream recommended path and keeps the documented services together. Native Python remains useful for development and direct host control.

The current official setup guide requires Python 3.11 or newer for the native Linux path.

The current native and Docker quick-start paths use port 7000. Set APP_PORT to another free port when necessary.

Yes. Add the reachable OpenAI-compatible Ollama endpoint in Settings and protect the model server with a trusted network and firewall rules.

Yes, after local verification. Bind intentionally, keep AUTH_ENABLED=true, restrict access to trusted Tailscale devices, and use HTTPS when secure-origin browser features are required.

No versioned GitHub Release or binary asset was available when this page was checked on July 30, 2026. Use the official repository and choose dev or main deliberately.

Official sources checked

  1. Odysseus official repository - Repository status, branch model, license, source installation, and official media.
  2. Odysseus official setup guide - Native Linux, Docker, GPU, authentication, port, LAN, Tailscale, HTTPS, and troubleshooting guidance.
  3. Docker Engine install documentation - Official Linux distribution instructions for Docker Engine and Compose.
  4. Tailscale Linux installation - Official VPN installation and device connection guidance.

Related Odysseus AI guides

Last verified against the official dev and main branches: July 30, 2026

Back to Odysseus AI Wiki