A deployment has two independent updates. Updating one never updates the other.
| DataMind OS | DataMind Installer | |
|---|---|---|
| Starts from | Status → Check for updates → Update | The Installer update available pill in the top bar |
| Deployment offline | Yes, while changed services are recreated | No. Only the DataMind Installer restarts; DataMind OS keeps running |
| Health check | You confirm it with docker compose ps -a | Built in. Waits up to 300 seconds for the new build |
| Rollback | From your backup | One automatic rollback of the image. Your database dump covers the schema |
Take both backups in Backup and restore: the DataMind Installer backup, and DataMind OS data. The second one stops the deployment, so plan a maintenance window. A DataMind Installer update can change its database schema, and the dump returns it to the state before the update.
Keep a copy of the deployment's environment file to compare afterwards:
sudo cp /opt/delamain/deployment/.env /root/datamind-env-before-update
Check it worked. sudo ls -l / shows today's
files.
The job runs three phases:
| Phase | What it does |
|---|---|
| Downloading | Replaces deployment/ and the configuration template with the published ones. Rewrites deployment/ |
| Pulling | Pulls every service image. An image that is still missing fails the job with Missing local images: … |
| Composing | Runs docker compose up -d --pull never --remove-orphans. After a successful run it prunes dangling images |
| Item | What happens |
|---|---|
| Services no longer in the published Compose file | --remove-orphans deletes their containers. Their volumes stay |
deployment/ | Replaced. Put local changes in deployment/, which the DataMind Installer always applies and never writes |
| Values you edited in Configuration | Kept |
| Values you never edited | Move to the new template's default |
| Generated values, such as passwords | Kept |
| Keys the new template no longer has | Removed from Configuration and from ., even if you edited them |
Check it worked.
cd /opt/delamain/deployment && sudo docker compose ps -a
Every long-running service shows Up, with (healthy) where it has a health check. One-shot jobs show
Exited (0). None shows Restarting. Running from deployment picks up docker-compose..
Then compare the environment file:
sudo diff /root/datamind-env-before-update /opt/delamain/deployment/.env
Ignore the memory-limits block, between the lines that start with # >>> and # <<<: the DataMind
Installer recalculates it every time it writes the file. Every other changed or missing line is a value
the update moved or removed. Set it again in Configuration, then
use Apply changes.
| What you see | What to do |
|---|---|
| The job failed during Downloading or Pulling | Fix the cause in the job log, then click Update again. It starts from the beginning |
| Some services were recreated, others were not | Click Start. It recreates the services that were not recreated. If Start is greyed out because images are missing, click Update |
| A service keeps restarting after a successful job | Read its log from the service panel. See Troubleshooting |
| You need the previous version back | See Roll back a DataMind OS update |
An update also changes the DataMind Installer's configuration, so a rollback restores both backups you took before the update.
grep 'image:' docker-compose. yml in deployment/.When a newer build of the DataMind Installer is published, the top bar shows the pill Installer update available.
| Stage | What happens |
|---|---|
| Preparation | Tags the running image rollback, downloads the published Compose file and pulls the new image. If any of this fails, nothing changes, and a toast Couldn’t start the Manager update shows the reason, for example Update preparation failed; nothing has changed: … |
| Switch | The update helper container copies docker-compose. in the install directory to docker-compose., installs the published file and starts the new build. The new build runs its database migrations |
| Health wait | Waits up to 300 seconds for the backend container to report healthy |
| Rollback | If the new build is not healthy, restores docker-compose. and starts the rollback image. Waits up to another 300 seconds |
The update replaces docker-compose. in the install directory and keeps the Installer's .. It
always moves to the newest build on the channel, prod-latest. Leave VERSION unset; see
What lives on the host.
Pair the image rollback with your database dump. If the new build migrated the database before
the rollback, the DataMind Installer records ROLLED BACK ONTO A CHANGED SCHEMA. Restore the dump
from step 1, as in
Roll back only the DataMind Installer database.
Check it worked.
The page shows Updating DataMind Installer and reloads itself when the DataMind Installer is back.
If it shows Installer update did not finish, read . on the host. The result
toast appears only in the browser you started the update from.
| You see | Meaning |
|---|---|
Toast Manager updated to <tag>, and the pill no longer reads Installer update available | The update worked |
Toast Manager update rolled back — still on <tag>, or the pill reads Installer update available again | The new build did not stick and the previous one runs. See Troubleshooting |
A red dot on the pill, and the tooltip Last update failed: … | The last update failed. The tooltip gives the reason |
On the host:
cat /opt/delamain/.self-update-status curl -sS http://localhost:8000/api/health
. reads ok, rolled-back or failed. It keeps the result of the last update
that reached the switch, so an update that stopped in Preparation does not change it. The health
check answers {"status":"ok","db":"up"}.
Then open User Management on the Register User screen and check the admin badges. Keep the Admin role only on the accounts that administer the deployment, and use Make regular user on the others. See Users.
The DataMind Installer stays down. Read the update helper's log before you try another update:
docker logs delamain-self-updater
Then follow Troubleshooting.
Yes, from your backup. See Roll back a DataMind OS update.
The new configuration template no longer has that key, so the update removed it, even if you edited it.
Compare against the copy of deployment/ you saved before the update.
Leave VERSION unset and update from the pill. See
What lives on the host.