diff --git a/README.md b/README.md index 551f22d93d6..541675f4667 100644 --- a/README.md +++ b/README.md @@ -19,9 +19,11 @@ > The `omniroute` package on npm is published by upstream — `npm install -g omniroute` installs **upstream**, not this fork; > the dashboard update check and `omniroute update` know the difference and only offer releases of this repository. > -> **Published right now:** the container tags `:next` and `:next-web`, built from the current default branch, -> plus installation from source. `:latest` and the desktop installers begin to exist when a versioned release -> is cut; until then every command below uses `:next`, so each one works exactly as written. +> **Published right now:** desktop installers for Windows, macOS and Linux, attached to every +> [GitHub Release](https://github.com/LMPrado-DZ23/OmniRoute/releases); the container tags `:latest` +> and the immutable `:X.Y.Z`; the rolling `:next` and `:next-web`, built from the current default +> branch; and installation from source. The commands below use `:latest` — pin `:X.Y.Z` when you +> need a deployment you can reproduce.
@@ -730,7 +732,7 @@ of your shell history. → [CLI Integrations](docs/guides/CLI-INTEGRATIONS.md) - + @@ -990,7 +992,7 @@ Auto-trigger by token threshold, flip on the adaptive dial, pin a named profile, Pick the channel of **this fork** that fits you: - **Desktop installer** — not published for this fork yet. When a version is released the `.exe` / `.dmg` / `.AppImage` for your OS appear on [GitHub Releases](https://github.com/LMPrado-DZ23/OmniRoute/releases), and opening one starts the server and the dashboard. Until then use Docker or source; both are supported. -- **Docker** — `docker run -d --name omniroute -p 127.0.0.1:20128:20128 -v omniroute-data:/app/data ghcr.io/lmprado-dz23/omniroute:next` +- **Docker** — `docker run -d --name omniroute -p 127.0.0.1:20128:20128 -v omniroute-data:/app/data ghcr.io/lmprado-dz23/omniroute:latest` - **From source** (needs Node.js 22/24 LTS): ```bash @@ -1046,10 +1048,10 @@ Use these only for clients that cannot attach `Authorization: Bearer ...`. Heade ```bash docker run -d --name omniroute --restart unless-stopped --stop-timeout 40 \ - -p 127.0.0.1:20128:20128 -v omniroute-data:/app/data ghcr.io/lmprado-dz23/omniroute:next + -p 127.0.0.1:20128:20128 -v omniroute-data:/app/data ghcr.io/lmprado-dz23/omniroute:latest ``` -`:next` is the channel this fork publishes today, from the current default branch. `:latest` follows the highest **published** stable SemVer. It does not track git `main`. Pin `:X.Y.Z` for GitOps. See [Docker Release Channels](docs/guides/DOCKER_GUIDE.md#release-channels).The image pins **`OMNIROUTE_MEMORY_MB=1024`**. That is enough for the dashboard and a light chat. **Coding agents** (`POST /v1/responses` from Claude Code, Codex, Grok, …) need a much larger V8 heap or the process `FATAL ERROR`s at ~12 GiB under two overlapping long contexts. Size the container above the heap (native buffers sit outside V8): +`:latest` is a moving pointer: pulling it again later gives you whatever the newest stable release is by then. Pin `:X.Y.Z` for anything you need to reproduce. `:latest` follows the highest **published** stable SemVer. It does not track git `main`. `:next` is the rolling channel built from the current default branch, so it runs ahead of the last release. Pin `:X.Y.Z` for GitOps. See [Docker Release Channels](docs/guides/DOCKER_GUIDE.md#release-channels).The image pins **`OMNIROUTE_MEMORY_MB=1024`**. That is enough for the dashboard and a light chat. **Coding agents** (`POST /v1/responses` from Claude Code, Codex, Grok, …) need a much larger V8 heap or the process `FATAL ERROR`s at ~12 GiB under two overlapping long contexts. Size the container above the heap (native buffers sit outside V8): | Workload | Heap (`-e OMNIROUTE_MEMORY_MB`) | Container (`--memory`) | | ----------------------------------- | ------------------------------- | ---------------------- | @@ -1060,19 +1062,18 @@ docker run -d --name omniroute --restart unless-stopped --stop-timeout 40 \ ```bash docker run -d --name omniroute --restart unless-stopped --stop-timeout 40 \ -e OMNIROUTE_MEMORY_MB=8192 --memory=10g \ - -p 127.0.0.1:20128:20128 -v omniroute-data:/app/data ghcr.io/lmprado-dz23/omniroute:next + -p 127.0.0.1:20128:20128 -v omniroute-data:/app/data ghcr.io/lmprado-dz23/omniroute:latest ``` Full table: [Docker Guide — runtime RAM](docs/guides/DOCKER_GUIDE.md#runtime-ram-for-coding-agents). > **About the `:next` channel:** `ghcr.io/lmprado-dz23/omniroute:next` and > `ghcr.io/lmprado-dz23/omniroute:next-web` follow the current default `release/v*` -> branch, and today they are the only images this fork publishes. They are mutable: -> pulling again later can give you a different build, so for a reproducible -> deployment pin the digest that +> branch, so they run ahead of the last release. They are mutable: pulling again later +> can give you a different build, so for a reproducible deployment use an immutable +> `:X.Y.Z` tag, or pin the digest that > `docker image inspect ghcr.io/lmprado-dz23/omniroute:next --format '{{index .RepoDigests 0}}'` -> reports. Immutable `:X.Y.Z` tags and the stable `:latest` pointer appear once a version -> is released. See [Docker Release Channels](docs/guides/DOCKER_GUIDE.md#release-channels). +> reports. See [Docker Release Channels](docs/guides/DOCKER_GUIDE.md#release-channels). **🥟 Bun** diff --git a/docs/guides/DOCKER_GUIDE.md b/docs/guides/DOCKER_GUIDE.md index 9ea3467ea16..a4e3fa389bf 100644 --- a/docs/guides/DOCKER_GUIDE.md +++ b/docs/guides/DOCKER_GUIDE.md @@ -483,9 +483,14 @@ Multi-platform manifest: `linux/amd64` + `linux/arm64` native (Apple Silicon, AW ### Release Channels -> **What exists today for this fork:** only `:next` and `:next-web`. No versioned release has been -> published yet, so `:latest`, `:latest-web` and the immutable `:X.Y.Z` tags are not resolvable and the -> examples in this guide use `:next`. The rows below describe what each channel means once releases begin. +> **What exists today for this fork:** the first versioned release was published on 2026-09-19, so +> `:latest`, `:latest-web` and the immutable `:X.Y.Z` tags now point at real images, alongside the +> rolling `:next` and `:next-web` — all five resolve for an anonymous pull. **`:main` and `:main-web` +> do not exist here** (verified: `404`); this fork develops on `release/v*` branches, not on `main`, +> so the `:main` row below describes the channel's meaning, not something you can pull. `:latest` +> only moves when the version being published is the highest stable SemVer — +> `scripts/ci/should-promote-latest.sh` compares it against every `v*` tag first, and a pre-release +> identifier never promotes it. OmniRoute publishes separate Docker channels for stable releases, active release-branch testing, and development builds.
PlatformInstallHighlights
📦 GitHub Releasesinstallers for this forkWindows .exe · macOS .dmg · Linux .AppImage
🐳 Dockerdocker run … ghcr.io/lmprado-dz23/omniroute:nextMulti-arch AMD64 + ARM64
🐳 Dockerdocker run … ghcr.io/lmprado-dz23/omniroute:latestMulti-arch AMD64 + ARM64
🧪 npm (upstream package)npm install -g omnirouteInstalls the upstream build, not this fork
🖥️ Desktop (Electron)npm run electron:buildNative window + system tray — Windows / macOS / Linux
🎩 Menu-bar (OmniRouteTray)brew install --cask zoispag/tap/omniroute-traySupervises & auto-updates the server — macOS