Guide: Odysseus on Steam Deck / SteamOS (Docker + native + LM Studio) #3588
BoyMechanicus
started this conversation in
Show and tell
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Installing on Steam Deck/SteamOS
All of this is to be run from inside a terminal like Konsole. Which can be launched via ctrl+alt+t
Docker (recommended)
Build with
docker compose build --build-arg INSTALL_OPTIONAL=truebeforeupto include optional extras(PDF viewer, Office extraction; includes AGPL PyMuPDF).podman-composeneeds to be installed(see: Installingpodman-compose). I have a section for that after my example .env file. to check if you have it, runpodman-compose --versionand if it returns anything other than acommand not foundthen you're good.Starting up only needs
podman-compose up -dand shutting down is alsopodman-compose down. Easy enough..env file
This allows for defaults to be found when adding models. And allows for easier scanning. If you have something like ollama or lmstudio running locally alpaca will connect to it via
host.docker.internalThis also exposes the GPU to Odysseus.
Here's what this env file does.
Installing
podman-composeThere's a few ways to do this.
uv,### pip && venv,installing uv from inside venv. In order of ease of use touv
curl -LsSf https://astral.sh/uv/install.sh | sh uv tool install podman-composeAnd now we have podman-compose installed and can run it without a virtual environment(venv). If for some reason
uvis not found,export PATH="$HOME/.local/bin:$PATH"will append to path.And now we have podman-compose installed and can run it without a virtual environment(venv). Also if you already have a virtual environment in another directory, you can use this without
rm -rf.pip && venv
python3 -m venv venv source venv/bin/activate python -m pip install --upgrade pip pip install podman-composeNote: This only works when venv exists and is activated.
old method to install with uv in an venv
If you have an existing venv somewhere else you can skip the
rm -rfand just activate your venv and install uv and then podman-compose.Native Linux / macOS
Not only should you run everything here in a terminal. You can benefit from running this inside a tmux session. Namely because you can detach the session and come back to it later if you need to troubleshoot or check logs.
Shutting down the native install is a ctrl+c away.
Installing this way comes with fewer features from my experience. I've tried both native and docker.
I added nodejs here this way because installing in steamOS requires disabling readonly and that means it vanishes each time steamOS is updated. I also updated pip. Not much else to say here. Your results may vary.
Setting LM Studio to work with Odysseus
Here are some notes on setting LM Studio to work with Odysseus.
Note
The URL for LM Studio on your host may look like
127.0.0.1orlocalhost, but to Odysseus it's actuallyhttp://host.docker.internal:1234. This is because Docker maps the SteamOS host back into the container viaextra_hosts.Note
If Odysseus is installed natively,
localhostis fine.If Odysseus is in Docker/Podman,
localhostmeans “inside the container,” so usehttp://host.docker.internal:1234for LM Studio instead.Click
Require Authentication.Click
Manage Tokens, create a new token, give it a name, use the default settings, and copy the key. You'll paste it into Odysseus.Enable
Serve on Local Network.LM Studio uses
1234by default, so make sure you remember which port you are using.In Odysseus, go to
Settings > Add Models > LOCALand paste the key into the API key field.When adding the server, make sure the URL matches the LM Studio port, for example:
http://host.docker.internal:1234/v1.Congratulations. You're ready to start using Odysseus + LM Studio.
Beta Was this translation helpful? Give feedback.
All reactions