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):
| Services | Image following the latest stable release |
|---|---|
| API, migrations and both workers | ghcr.io/grovs-io/backend:latest |
| Dashboard | ghcr.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:
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:
curl -fsSL https://github.com/grovs-io/self-host/releases/latest/download/install.sh | bashAn 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=latestThis 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:
docker compose --profile standalone config --images
docker compose --profile standalone pullFor 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.