docker-clean-installation-1.7.0
0 · Prerequisites
Requirement | Mandatory? | Check / Notes |
---|---|---|
Sudo access | ✓ | sudo -v (or sudo su ) should succeed. |
Docker 24 + | ✓ | docker --version |
Elasticsearch 7.14 – | ✓ | Cluster reachable; service user with R/W on indices. |
TCP port open | ✓ | Hanami exposes 80 by default . |
Nexus credentials | ✓ | Needed to download the ZIP artefact. |
External triplestore | optional | Configure if you don’t use the embedded store. |
External IAM / OAuth 2 | optional | Required only when env.hanami.security.iam: true . |
Tip — You can leave optional blocks in the config; Hanami ignores them until the matching feature flag is enabled.
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 · Extract the artefact
unzip ep-hanami-1.7.0.zip
Expected files:
ep-hanami-1.7.0.tar # Docker image
ext/ # Default configuration
3 · (If present) stop & remove an old container
sudo docker stop ep-hanami-container
sudo docker rm ep-hanami-container
4 · Load the Docker image
sudo docker load -i ep-hanami-1.7.0.tar
5 · Stage the ext directory
sudo mkdir -p /opt/hanami-ext
sudo cp -r ./ext/* /opt/hanami-ext/
Resulting layout:
/opt/hanami-ext/config
├─ customer-env.yml.example ← template
├─ customer.yml ← keep as-is
├─ customer-iam.yml ← keep as-is
└─ customer-workflow.yml ← keep as-is
6 · Create one customer-env.yml
Copy the template:
cp /opt/hanami-ext/config/customer-env.yml.example \
/opt/hanami-ext/config/customer-env.ymlOpen it and replace placeholders.
env:
hanami:
elasticsearch:
url: "https://es.example.com:9200"
username: "hanami_svc"
password: "********"
triplestore:
url: "http://triplestore:7200/repositories/ep-data"
username: "sparql_user"
password: "********"
catalogue:
url: "http://catalogue.internal:80"
security:
iam: false # ← set **true** for OAuth / OIDC
issuer-uri: "" # fill only when iam = true
client-id: "" # idem
client-secret: "" # idem
7 · Prepare persistence folders
sudo mkdir -p /opt/hanami-backups
sudo mkdir -p /opt/hanami-logs
8 · Run the container
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
Parameter quick reference
Flag / Argument | Purpose |
---|---|
--network host | Publishes port 80 directly on the host. |
-v /opt/hanami-ext:/opt/hanami/ext | Mounts your configuration. |
--spring.profiles.active=workflow,env | Loads customer-workflow.yml and injects customer-env.yml . |
9 · Watch the logs
sudo docker logs -f ep-hanami-container
Look for “Started HanamiApplication” and successful indexing messages.