From 6c56da620bb171fc616ace64895a0def66c10c0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=B2=20P=2E?= Date: Sun, 29 Mar 2026 19:09:56 +0200 Subject: [PATCH] heriverse: Add docker-compose.yml template --- roles/heriverse/tasks/main.yml | 10 ++ .../heriverse/templates/docker-compose.yml.j2 | 94 +++++++++++++++++++ 2 files changed, 104 insertions(+) create mode 100644 roles/heriverse/templates/docker-compose.yml.j2 diff --git a/roles/heriverse/tasks/main.yml b/roles/heriverse/tasks/main.yml index 9fcd1e8..037d6cb 100644 --- a/roles/heriverse/tasks/main.yml +++ b/roles/heriverse/tasks/main.yml @@ -44,6 +44,16 @@ become: true become_user: heriverse +# Temporary +- name: Replace docker-compose.yml for prod + ansible.builtin.template: + src: docker-compose.yml.j2 + dest: "/opt/heriverse/docker-heriverse" + owner: root + group: root + force: true + mode: '0644' + - name: Create and start all Heriverse services community.docker.docker_compose_v2: project_src: /opt/heriverse/docker-heriverse diff --git a/roles/heriverse/templates/docker-compose.yml.j2 b/roles/heriverse/templates/docker-compose.yml.j2 new file mode 100644 index 0000000..be7f65f --- /dev/null +++ b/roles/heriverse/templates/docker-compose.yml.j2 @@ -0,0 +1,94 @@ +services: + + # ======================= + # FRONTEND + # ======================= + heriverse: + image: git.3dresearch.it:5050/cnr-h2iosc/heriverse/heriverse-wapp:latest + container_name: heriverse + ports: + - "8081:8080" + depends_on: + - heriverse-server + - keycloak + volumes: + - ./mount/heriverse/config/Utils.js:/aton/wapps/heriverse/config/Utils.js + networks: + - backend + restart: always + + # ======================= + # BACKEND / API SERVER + # ======================= + heriverse-server: + image: git.3dresearch.it:5050/stratigraph/heriverse-server:latest + container_name: heriverse-server + ports: + - "3000:3000" + depends_on: + - couchdb + - keycloak + volumes: + - ./mount/server/uploads:/app/uploads + - ./mount/server/config:/app/conf + networks: + - backend + restart: always + # ======================= + # DATABASE + # ======================= + couchdb: + image: apache/couchdb:3 + container_name: couchdb + environment: + - COUCHDB_USER=admin + - COUCHDB_PASSWORD=admin + - COUCHDB_SECRET=heriversesecret + - COUCHDB_SINGLE_NODE=true + ports: + - "5984:5984" + volumes: + - couchdb_data:/opt/couchdb/data + - couchdb_config:/opt/couchdb/etc/local.d + networks: + - backend + restart: always + keycloak: + image: quay.io/keycloak/keycloak:24.0.4 + container_name: keycloak + environment: + KEYCLOAK_ADMIN: admin + KEYCLOAK_ADMIN_PASSWORD: admin + KC_DB: dev-file + KC_PROXY: edge + KC_HTTP_ENABLED: "true" + KC_HOSTNAME_STRICT: "false" + KC_HOSTNAME_STRICT_HTTPS: "false" + ports: + - "8080:8080" + command: + - start-dev + - --import-realm + - --http-relative-path=/auth + - --proxy-headers=xforwarded + - --hostname={{ server_name }} + - --hostname-strict=false + - --hostname-strict-https=false + - --http-enabled=true + volumes: + - keycloak_data:/opt/keycloak/data + - ./mount/keycloak/realms/realm-heriverse.json:/opt/keycloak/data/import/realm-heriverse.json + networks: + - backend + restart: always +# ======================= +# NETWORK AND VOLUMES +# ======================= +networks: + backend: + driver: bridge + +volumes: + couchdb_data: + couchdb_config: + keycloak_data: