docker-incremental-update-1.7.x
0 · Before you start
Checkpoint | Action |
---|---|
Current version | Verify the running version (docker inspect --format='{{.Config.Image}}' ep-hanami-container ). |
Maintenance window | Plan ±30 min downtime (container restart). |
1 · Download release 1.7.0
curl -u <user>:<password> -O \
https://nexus-direct.cogni.zone/repository/ep-hanami/zone/cogni/ep/hanami/ep-hanami/1.7.0/ep-hanami-1.7.0.zip
2 · Stop & remove the running container
sudo docker stop ep-hanami-container
sudo docker rm ep-hanami-container
(Only the container is removed; the image ep-hanami:<old>
stays for rollback.)
3 · Extract artefact & load image
unzip ep-hanami-1.7.0.zip
sudo docker load -i ep-hanami-1.7.0.tar
4 · Back up all current data
sudo cp -r /opt/hanami-ext /opt/hanami-ext-backup-$(date +%F)
sudo cp -r /opt/hanami-backups /opt/hanami-backups-backup-$(date +%F)
sudo cp -r /opt/hanami-logs /opt/hanami-logs-backup-$(date +%F)
5 · Replace the ext directory
Delete the old directory completely
sudo rm -rf /opt/hanami-ext
All previous files are safe in
/opt/hanami-ext-backup-$(date +%F)
and will serve as reference when populating the newcustomer-env.yml
.Copy the new defaults
sudo mkdir -p /opt/hanami-ext
sudo cp -r ./ext/* /opt/hanami-ext/Your fresh
/opt/hanami-ext/config
must contain exactly:customer-env.yml.example ← template (do not edit in place)
customer-iam.yml ← keep as‑is
customer-workflow.yml ← keep as‑is
customer.yml ← keep as‑is
6 · Create customer-env.yml
(one per environment)
customer-env.yml.example
is only a template. Copy it once per runtime environment (dev, prod …), fill in real values, then delete the example:
cp /opt/hanami-ext/config/customer-env.yml.example \
/opt/hanami-ext/config/customer-env.yml
Replace every placeholder with the value that previously lived in the old files:
New key | Where it lived before (1.6.x) |
---|---|
env.hanami.elasticsearch.* | customer-standalone.yml: env.hanami.elasticsearch.* |
env.hanami.triplestore.* | customer-standalone.yml: hanami.customer.template-arguments.* |
env.hanami.catalogue.url | customer-standalone.yml: hanami.sync.catalogue.baseUrl |
env.hanami.security.issuer-uri | security.yml: spring.security.oauth2.client.provider.*.issuer-uri |
env.hanami.security.client-id/secret | security.yml: spring.security.oauth2.client.registration.* |
env.hanami.security.iam | set true to switch to external IAM |
7 · Update Front-End settings
Please use this instruction to update Front-End configuration per environment: UI Assets Overrides
8 · Run the 1.7.0 container
sudo mkdir -p /opt/hanami-ext /opt/hanami-backups /opt/hanami-logs
sudo docker run -d \
--name "ep-hanami-container" \
--network host \
--restart unless-stopped \
-v /opt/hanami-ext:/opt/hanami/ext \
-v /opt/hanami-backups:/opt/hanami/backups \
-v /opt/hanami-logs:/opt/hanami/logs \
"ep-hanami:1.7.0" \
--spring.profiles.active=workflow,env
Profiles explained
Profile | Purpose | File loaded |
---|---|---|
workflow | Enables all workflow components | customer-workflow.yml |
env | Injects the environment-specific variables | customer-env.yml |
9 · Watch the logs
sudo docker logs -f ep-hanami-container
Confirm successful startup and workflow initialisation.
10 · Rollback (if needed)
sudo docker stop ep-hanami-container
sudo docker rm ep-hanami-container
# Relaunch previous image (replace <old-version>)
sudo docker run -d --name ep-hanami-container ep-hanami:<old-version>
Restore /opt/hanami-ext-backup-<date>
.