Skip to content

nyroway/docker-nyro

Repository files navigation

docker-nyro

Docker distribution for Nyro — the LLM gateway.

Images are published to Docker Hub as nyroway/nyro for linux/amd64 and linux/arm64.

Tags

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.

Quick start

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:latest
  • 19530 — 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.

Docker Compose (with Postgres + pgvector)

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 -d

Check health:

docker compose -f compose/docker-compose.yml ps
curl http://127.0.0.1:19530/health

Shut down (data is preserved in the named volumes):

docker compose -f compose/docker-compose.yml down

Environment variables

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.

Build locally

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.

How releases work

This repository does not hold the server source. Image builds happen automatically:

  1. The main nyroway/nyro repo publishes a GitHub Release (binaries for Linux/macOS/Windows on every v* tag).
  2. The release workflow dispatches a release-published event to this repository.
  3. 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.

License

Apache-2.0 — see LICENSE.

About

Docker for Nyro AI Gateway.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors