Upgrading GGCE
GGCE is actively developed and new releases are announced on the Blog.
Make sure that the UI and API are using compatibile versions.
Make a full backup of your data and of your configuration before upgrading.
Upgrading instructions
- Use the installer to generate a new set of compose and Traefik files.
- Compare the generated configuration with your existing setup.
- Apply your existing customizations to the newly generated configuration files.
- Run GGCE with the latest config.
- Check below if there are special instructions for the new version!
Don't forget to apply the new configuration in the ggce.yaml file by executing:
docker compose -f ggce.yml up -d
2026.1
2026.1 series requires that you update the permissions used by the ggce-data volume.
You can observe that something's wrong when you cannot see the thumbnails of attached images
and cannot attach files to accessions and inventories.
Upgrade to 2026.1.y and then bring up your GGCE containers.
Upgrade permissions of ggce-data volume
Assuming your GGCE API container is called ggce-api, start a shell as root user and recursively change permisisons to nobody:nogroup of /data/gringlobal/*.
In Docker Desktop, navigate to the terminal of your GGCE API container then execute:
# Check ownership: notice that owner is 999
ls -la /data/gringlobal
# If the owner is nobody, the permissions are already correct
# Change ownership of all files and folders in /data/gringlobal/
chown -R nobody:nogroup /data/gringlobal/*
The CLI vareiant with cmd, powershell or bash is very similar:
# What containers are up and running?
docker ps
# Run /bin/sh as root in GGCE API container named "ggce-api" (use the name shown above)
docker exec -it -u root ggce-api /bin/sh
# Check ownership: notice that owner is 999
ls -la /data/gringlobal
# If the owner is nobody, the permissions are already correct
# Change ownership of all files and folders in /data/gringlobal/
chown -R nobody:nogroup /data/gringlobal/*
2025.X and older
GGCE 2025.X.y and older generally require only an update of the GGCE image. Unless otherwise instructed, only the version part of the image is modified (the part after :).
Change the versions of container images in your ggce.yaml file to upgrade from for example from 2023.8 to 2026.1.2:
- Before
- After
services:
ggce-api:
image: dockerhub.croptrust.org/grin-global/grin-global-server:2023.8
...
ggce-ui:
image: dockerhub.croptrust.org/grin-global/grin-global-ui/gg-ce-web:2023.8
services:
ggce-api:
image: dockerhub.croptrust.org/grin-global/grin-global-server:2026.1.2
...
ggce-ui:
image: dockerhub.croptrust.org/grin-global/grin-global-ui/gg-ce-web:2026.1.2