Docs

Images and releases

Select the latest published Grovs backend and dashboard images from GitHub Container Registry.

Grovs Community images are published to GitHub Container Registry (GHCR):

ServicesImage following the latest stable release
API, migrations and both workersghcr.io/grovs-io/backend:latest
Dashboardghcr.io/grovs-io/dashboard:latest

Each release also publishes matching numbered tags, such as ghcr.io/grovs-io/backend:2.3.1 and ghcr.io/grovs-io/dashboard:2.3.1. Always update the backend, workers and dashboard together.

Select the latest release

The latest completed release is the source for the installation guides. It is published after both images are available. These commands look up its version when you run them, so the guides do not need a version edit for each release:

Bash
GROVS_RELEASE_URL="$(curl -fsSL -o /dev/null -w '%{url_effective}' https://github.com/grovs-io/self-host/releases/latest)"
printf 'GROVS_VERSION=%s\n' "${GROVS_RELEASE_URL##*/}"

The platform guides pass this version to setup using GROVS_VERSION. Setup saves it in the generated environment file, so both images use that same numbered tag. To choose a specific release, pass its version instead.

For a fresh local or server installation, the installer attached to the latest release already selects its matching images:

Bash
curl -fsSL https://github.com/grovs-io/self-host/releases/latest/download/install.sh | bash

An exported GROVS_VERSION overrides the installer's default. Unset it first if you previously selected a version and now want the installer's latest release. The installer downloads stack files from main; its release version selects the application images.

Existing installations

Setup preserves an existing environment file. Looking up a new version alone does not update the value saved there. Set its GROVS_VERSION to the selected version, then follow the upgrade procedure. For Railway and Render templates, update the actual service image references; adding a runtime environment variable does not change the image being deployed.

Follow the latest image tags

For Compose installations that should resolve the newest image on each upgrade, set this in the existing .env or imported platform environment:

GROVS_VERSION=latest

This selects the two :latest images in the table above. The setup scripts and Railway CLI configuration require a numbered version, so use the release lookup for those flows. Railway's template services and Render's Blueprint can use the full :latest image references directly.

The latest tag moves when a stable image is published. Running containers keep their current image until you pull and recreate or redeploy them. Follow the upgrade procedure, including migrations; a restart alone does not fetch a new image. To keep an exact backend/dashboard pair while a release is being published, use the numbered version from the latest completed release.

Verify the selected images

From a standalone installation:

Bash
docker compose --profile standalone config --images
docker compose --profile standalone pull

For local trials, use -f docker-compose.yml -f docker-compose.local.yml instead of --profile standalone. Pulling downloads images; the upgrade procedure starts the updated containers. See the Docker Compose pull reference.

Edit this page on GitHubLast updated 2026-09-15