docker-clean-installation-1.7.x
0 · Prerequisites
Requirement | Mandatory? | Check / Notes |
---|---|---|
Sudo access | ✓ | sudo -v (or sudo su ) should succeed. |
Docker24+ | ✓ | docker --version |
Elasticsearch7.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/OAuth2 | optional | Required only when env.hanami.security.iam: true . |
1 · Download release1.7.1
curl -u <user>:<password> -O \
https://nexus-direct.cogni.zone/repository/ep-hanami/zone/cogni/ep/hanami/ep-hanami/1.7.1/ep-hanami-1.7.1.zip
2 · Extract the artefact
unzip ep-hanami-1.7.1.zip
Expected files:
ep-hanami-1.7.1.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.1.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 IAM / OAuth / OIDC
issuer-uri: "" # fill only when iam = true
client-id: "" # idem
client-secret: "" # idem
7 · Update Front-End settings
Please use this instruction to update Front-End configuration per environment: UI Assets Overrides
8 · (Optional) Admin onboarding
Hanami ships with a single built‑in administrator (admin
). Before you start the container in production you can optionally create more or rename at least one admin account.
- Open
/opt/hanami-ext/boot/boot-auth-data.trig
. - Read the commented header – it explains how to:
• rename the default admin (change every
admin
occurrence in subject URIs and thehanami:username
/vcard:hasUID
literals), • or append additional admin blocks withhanami:isAdmin true
. - Save the file. Changes are injected at first container start‑up.
9 · Prepare persistence folders
sudo mkdir -p /opt/hanami-backups
sudo mkdir -p /opt/hanami-logs
10 · Run the container
Without external IAM / OAuth2 (default)
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.1 \
--spring.profiles.active=workflow,env
With external IAM / OAuth2
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.1 \
--spring.profiles.active=workflow,env,iam
Parameter quick reference
Flag / Argument | Purpose |
---|---|
--network host | Publishes port80 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 . |
iam profile | Adds external IAM / OAuth2 support (only when required). |
11 · Watch the logs
sudo docker logs -f ep-hanami-container
Look for “Started HanamiApplication” and successful indexing messages.