Docker distribution for Nyro — the LLM gateway.
Images are published to Docker Hub as nyroway/nyro for linux/amd64 and linux/arm64.
| Tag | Description |
|---|---|
latest |
Latest stable release |
X.Y.Z |
A specific release (e.g. 0.5.0) |
Pre-release tags (e.g. 0.5.0-rc.1) are published under their exact version only — they do not move latest.
Pin to an exact X.Y.Z tag in production for reproducible deployments.
Single container, using the filesystem SQLite backend:
docker run -d \
--name nyro \
-e NYRO_ADMIN_TOKEN=change-me-to-a-strong-token \
-p 19530:19530 \
-p 19531:19531 \
-v nyro-data:/var/lib/nyro \
nyroway/nyro:latest19530— proxy port (OpenAI-compatible API)19531— admin API and WebUI
Open http://127.0.0.1:19531 and log in with the NYRO_ADMIN_TOKEN value.
Nyro supports Postgres as a storage backend. Because the server uses pgvector, the database must be an image that ships the extension (this compose file uses pgvector/pgvector:pg16).
git clone https://github.com/nyroway/docker-nyro.git
cd docker-nyro
cp .env.example .env
# edit .env and set NYRO_ADMIN_TOKEN and NYRO_POSTGRES_PASSWORD
docker compose -f compose/docker-compose.yml up -dCheck health:
docker compose -f compose/docker-compose.yml ps
curl http://127.0.0.1:19530/healthShut down (data is preserved in the named volumes):
docker compose -f compose/docker-compose.yml down| Variable | Required | Default | Description |
|---|---|---|---|
NYRO_ADMIN_TOKEN |
yes | — | Bearer token for the admin API and WebUI |
NYRO_DATA_DIR |
no | /var/lib/nyro |
Data directory (SQLite, cache) |
NYRO_STORAGE_BACKEND |
no | sqlite |
sqlite or postgres |
NYRO_POSTGRES_DSN |
when backend is postgres | — | e.g. postgres://user:pass@host:5432/db |
For the full list of server flags, see the main repository.
docker buildx build \
--platform linux/amd64,linux/arm64 \
--build-arg NYRO_VERSION=v0.5.0 \
-t nyroway/nyro:dev \
.NYRO_VERSION must be a published GitHub release tag of the nyroway/nyro repository.
This repository does not hold the server source. Image builds happen automatically:
- The main
nyroway/nyrorepo publishes a GitHub Release (binaries for Linux/macOS/Windows on everyv*tag). - The release workflow dispatches a
release-publishedevent to this repository. - CI here downloads the Linux binaries from that release and builds the image for both architectures, pushing to Docker Hub.
You can also trigger a manual build via the Actions → Build and push image → Run workflow button, supplying the version tag.
Apache-2.0 — see LICENSE.