From 51d070d0359bfe98d954982394f7d5a850c847da Mon Sep 17 00:00:00 2001 From: Joris Mancini Date: Wed, 11 Feb 2026 12:36:29 +0100 Subject: [PATCH 01/18] refactor(docker-compose): use include and simplify usage Signed-off-by: Joris Mancini --- docker-compose/.env | 1 + ...er-compose.base.yml => docker-compose.yml} | 73 ++++++------ docker-compose/dynamic-mapping/.env | 5 - ...ompose.override.yml => docker-compose.yml} | 10 +- docker-compose/explicit-profiles/.env | 11 -- docker-compose/monitor/.env | 6 - ...ompose.override.yml => docker-compose.yml} | 12 +- docker-compose/study/.env | 6 - ...ompose.override.yml => docker-compose.yml} | 108 +++++++++--------- docker-compose/suite/.env | 6 - .../suite/docker-compose.marker.yml | 4 - docker-compose/technical/.env | 6 - ...mpose.technical.yml => docker-compose.yml} | 24 ++-- docker-compose/technical/init-geo-data.sh | 11 +- .../technical/init-lines-catalog.sh | 7 +- 15 files changed, 116 insertions(+), 174 deletions(-) create mode 100644 docker-compose/.env rename docker-compose/{docker-compose.base.yml => docker-compose.yml} (78%) delete mode 100644 docker-compose/dynamic-mapping/.env rename docker-compose/dynamic-mapping/{docker-compose.override.yml => docker-compose.yml} (70%) delete mode 100644 docker-compose/explicit-profiles/.env delete mode 100644 docker-compose/monitor/.env rename docker-compose/monitor/{docker-compose.override.yml => docker-compose.yml} (62%) delete mode 100644 docker-compose/study/.env rename docker-compose/study/{docker-compose.override.yml => docker-compose.yml} (65%) delete mode 100644 docker-compose/suite/.env delete mode 100644 docker-compose/suite/docker-compose.marker.yml delete mode 100644 docker-compose/technical/.env rename docker-compose/technical/{docker-compose.technical.yml => docker-compose.yml} (81%) diff --git a/docker-compose/.env b/docker-compose/.env new file mode 100644 index 00000000..1e3fae26 --- /dev/null +++ b/docker-compose/.env @@ -0,0 +1 @@ +COMPOSE_PROJECT_NAME=gridsuite \ No newline at end of file diff --git a/docker-compose/docker-compose.base.yml b/docker-compose/docker-compose.yml similarity index 78% rename from docker-compose/docker-compose.base.yml rename to docker-compose/docker-compose.yml index ab658def..b4d3d637 100644 --- a/docker-compose/docker-compose.base.yml +++ b/docker-compose/docker-compose.yml @@ -1,4 +1,9 @@ -version: '4.0' +include: + - ./technical/docker-compose.yml + - ./study/docker-compose.yml + - ./dynamic-mapping/docker-compose.yml + - ./monitor/docker-compose.yml + services: case-server: profiles: @@ -14,8 +19,8 @@ services: ports: - 5000:80 volumes: - - $PWD/../../k8s/resources/common/config/case-server-application.yml:/config/specific/application.yml:Z - - $PWD/../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + - ../k8s/resources/common/config/case-server-application.yml:/config/specific/application.yml:Z + - ../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z depends_on: logspout: condition: "service_started" @@ -49,8 +54,8 @@ services: ports: - 5022:80 volumes: - - $PWD/../../k8s/resources/common/config/actions-server-application.yml:/config/specific/application.yml:Z - - $PWD/../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + - ../k8s/resources/common/config/actions-server-application.yml:/config/specific/application.yml:Z + - ../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z restart: unless-stopped depends_on: logspout: @@ -81,8 +86,8 @@ services: ports: - 5027:80 volumes: - - $PWD/../../k8s/resources/common/config/filter-server-application.yml:/config/specific/application.yml:Z - - $PWD/../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + - ../k8s/resources/common/config/filter-server-application.yml:/config/specific/application.yml:Z + - ../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z restart: unless-stopped depends_on: logspout: @@ -112,8 +117,8 @@ services: ports: - 5033:80 volumes: - - $PWD/../../k8s/resources/common/config/user-admin-server-application.yml:/config/specific/application.yml:Z - - $PWD/../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + - ../k8s/resources/common/config/user-admin-server-application.yml:/config/specific/application.yml:Z + - ../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z restart: unless-stopped depends_on: logspout: @@ -143,8 +148,8 @@ services: ports: - 5035:80 volumes: - - $PWD/../../k8s/resources/common/config/study-config-server-application.yml:/config/specific/application.yml:Z - - $PWD/../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + - ../k8s/resources/common/config/study-config-server-application.yml:/config/specific/application.yml:Z + - ../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z restart: unless-stopped depends_on: logspout: @@ -174,8 +179,8 @@ services: ports: - 5034:80 volumes: - - $PWD/../../k8s/resources/common/config/user-identity-oidc-replication-server-application.yml:/config/specific/application.yml:Z - - $PWD/../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + - ../k8s/resources/common/config/user-identity-oidc-replication-server-application.yml:/config/specific/application.yml:Z + - ../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z restart: unless-stopped depends_on: logspout: @@ -206,8 +211,8 @@ services: ports: - 5028:80 volumes: - - $PWD/../../k8s/resources/common/config/report-server-application.yml:/config/specific/application.yml:Z - - $PWD/../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + - ../k8s/resources/common/config/report-server-application.yml:/config/specific/application.yml:Z + - ../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z restart: unless-stopped depends_on: logspout: @@ -237,8 +242,8 @@ services: ports: - 8080:80 volumes: - - $PWD/../../k8s/resources/common/config/network-store-server-application.yml:/config/specific/application.yml:Z - - $PWD/../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + - ../k8s/resources/common/config/network-store-server-application.yml:/config/specific/application.yml:Z + - ../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z restart: unless-stopped depends_on: logspout: @@ -268,9 +273,9 @@ services: ports: - 5003:80 volumes: - - $PWD/../../k8s/resources/common/config/network-conversion-server-application.yml:/config/specific/application.yml:Z - - $PWD/../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z - - $PWD/../../k8s/resources/common/config/network-conversion-server-config.yml:/home/powsybl/.itools/config.yml:Z + - ../k8s/resources/common/config/network-conversion-server-application.yml:/config/specific/application.yml:Z + - ../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + - ../k8s/resources/common/config/network-conversion-server-config.yml:/home/powsybl/.itools/config.yml:Z restart: unless-stopped depends_on: logspout: @@ -300,9 +305,9 @@ services: ports: - 5008:80 volumes: - - $PWD/../../k8s/resources/common/config/loadflow-server-application.yml:/config/specific/application.yml:Z - - $PWD/../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z - - $PWD/../../k8s/resources/common/config/loadflow-server-config.yml:/home/powsybl/.itools/config.yml:Z + - ../k8s/resources/common/config/loadflow-server-application.yml:/config/specific/application.yml:Z + - ../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + - ../k8s/resources/common/config/loadflow-server-config.yml:/home/powsybl/.itools/config.yml:Z restart: unless-stopped depends_on: logspout: @@ -332,8 +337,8 @@ services: ports: - 5025:80 volumes: - - $PWD/../../k8s/resources/common/config/config-server-application.yml:/config/specific/application.yml:Z - - $PWD/../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + - ../k8s/resources/common/config/config-server-application.yml:/config/specific/application.yml:Z + - ../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z restart: unless-stopped environment: - JAVA_TOOL_OPTIONS=-Xmx96m @@ -359,8 +364,8 @@ services: ports: - 5024:80 volumes: - - $PWD/../../k8s/resources/common/config/config-notification-server-application.yml:/config/specific/application.yml:Z - - $PWD/../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + - ../k8s/resources/common/config/config-notification-server-application.yml:/config/specific/application.yml:Z + - ../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z restart: unless-stopped environment: - JAVA_TOOL_OPTIONS=-Xmx96m @@ -386,9 +391,9 @@ services: ports: - 9000:80 volumes: - - $PWD/../../k8s/resources/common/config/gateway-application.yml:/config/specific/application.yml:Z - - $PWD/../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z - - $PWD/../allowed-issuers.yml:/config/allowed-issuers.yml:Z + - ../k8s/resources/common/config/gateway-application.yml:/config/specific/application.yml:Z + - ../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + - ./allowed-issuers.yml:/config/allowed-issuers.yml:Z restart: unless-stopped depends_on: logspout: @@ -483,10 +488,10 @@ services: ports: - 8070:8080 volumes: - - $PWD/../apps-metadata.json:/opt/bitnami/apache/htdocs/apps-metadata.json:Z - - $PWD/../../k8s/resources/common/config/apps-metadata-base-voltages.json:/opt/bitnami/apache/htdocs/apps-metadata-base-voltages.json:Z - - $PWD/../version.json:/opt/bitnami/apache/htdocs/version.json:Z - - $PWD/../gridapps-metadata-httpd.conf:/opt/bitnami/apache/conf/bitnami/bitnami.conf:Z + - ./apps-metadata.json:/opt/bitnami/apache/htdocs/apps-metadata.json:Z + - ../k8s/resources/common/config/apps-metadata-base-voltages.json:/opt/bitnami/apache/htdocs/apps-metadata-base-voltages.json:Z + - ./version.json:/opt/bitnami/apache/htdocs/version.json:Z + - ./gridapps-metadata-httpd.conf:/opt/bitnami/apache/conf/bitnami/bitnami.conf:Z depends_on: logspout: condition: "service_started" diff --git a/docker-compose/dynamic-mapping/.env b/docker-compose/dynamic-mapping/.env deleted file mode 100644 index 28673c04..00000000 --- a/docker-compose/dynamic-mapping/.env +++ /dev/null @@ -1,5 +0,0 @@ -PROJECT_DIR_NAME=dynamic-mapping -COMPOSE_PATH_SEPARATOR=: -COMPOSE_PROJECT_NAME=griddynamicmapping -COMPOSE_FILE=docker-compose.override.yml:../docker-compose.base.yml:../study/docker-compose.override.yml:../technical/docker-compose.technical.yml -COMPOSE_PROFILES=dynamic-mapping diff --git a/docker-compose/dynamic-mapping/docker-compose.override.yml b/docker-compose/dynamic-mapping/docker-compose.yml similarity index 70% rename from docker-compose/dynamic-mapping/docker-compose.override.yml rename to docker-compose/dynamic-mapping/docker-compose.yml index a981d2f8..9f5d6765 100644 --- a/docker-compose/dynamic-mapping/docker-compose.override.yml +++ b/docker-compose/dynamic-mapping/docker-compose.yml @@ -1,5 +1,3 @@ -version: '4.0' - services: griddyna-app: profiles: @@ -11,8 +9,8 @@ services: ports: - 83:8080 volumes: - - $PWD/../dynamic-mapping/griddyna-app-idpSettings.json:/opt/bitnami/apache/htdocs/griddyna/idpSettings.json:Z - - $PWD/../env.json:/opt/bitnami/apache/htdocs/griddyna/env.json:Z + - ./griddyna-app-idpSettings.json:/opt/bitnami/apache/htdocs/griddyna/idpSettings.json:Z + - ../env.json:/opt/bitnami/apache/htdocs/griddyna/env.json:Z depends_on: logspout: condition: "service_started" @@ -34,8 +32,8 @@ services: ports: - 5036:80 volumes: - - $PWD/../../k8s/resources/dynamic-mapping/config/dynamic-mapping-server-application.yml:/config/specific/application.yml:Z - - $PWD/../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + - ../../k8s/resources/dynamic-mapping/config/dynamic-mapping-server-application.yml:/config/specific/application.yml:Z + - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z restart: unless-stopped depends_on: logspout: diff --git a/docker-compose/explicit-profiles/.env b/docker-compose/explicit-profiles/.env deleted file mode 100644 index 5b281365..00000000 --- a/docker-compose/explicit-profiles/.env +++ /dev/null @@ -1,11 +0,0 @@ -PROJECT_STUDY_DIR_NAME=study -PROJECT_DYNAMIC_MAPPING_DIR_NAME=dynamic-mapping -PROJECT_SUITE_DIR_NAME=suite -DATABASE_PREFIX_NAME= -#PROJECT_DIR_NAME: use "explicit-profiles" for this env with dynamic profiles, and not "study"/"suite" values because our scripts -# will block postgres container if geo-data-server container is not started (because the user explicitly chose other profiles) -# and the PROJECT_DIR_NAME is one of those values -PROJECT_DIR_NAME=explicit-profiles -COMPOSE_PATH_SEPARATOR=: -COMPOSE_PROJECT_NAME=grid -COMPOSE_FILE=../docker-compose.base.yml:../study/docker-compose.override.yml:../dynamic-mapping/docker-compose.override.yml:../technical/docker-compose.technical.yml:../monitor/docker-compose.override.yml diff --git a/docker-compose/monitor/.env b/docker-compose/monitor/.env deleted file mode 100644 index 54963e3a..00000000 --- a/docker-compose/monitor/.env +++ /dev/null @@ -1,6 +0,0 @@ -PROJECT_DIR_NAME=monitor -PROJECT_STUDY_DIR_NAME=monitor -COMPOSE_PATH_SEPARATOR=: -COMPOSE_PROJECT_NAME=gridmonitor -COMPOSE_FILE=docker-compose.override.yml:../docker-compose.base.yml:../dynamic-mapping/docker-compose.override.yml:../study/docker-compose.override.yml:../technical/docker-compose.technical.yml -COMPOSE_PROFILES=monitor diff --git a/docker-compose/monitor/docker-compose.override.yml b/docker-compose/monitor/docker-compose.yml similarity index 62% rename from docker-compose/monitor/docker-compose.override.yml rename to docker-compose/monitor/docker-compose.yml index cbe4edda..31308883 100644 --- a/docker-compose/monitor/docker-compose.override.yml +++ b/docker-compose/monitor/docker-compose.yml @@ -1,5 +1,3 @@ -version: '4.0' - services: monitor-server: profiles: @@ -9,8 +7,8 @@ services: ports: - 5043:80 volumes: - - $PWD/../../k8s/resources/monitor/config/monitor-server-application.yml:/config/specific/application.yml:Z - - $PWD/../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + - ../../k8s/resources/monitor/config/monitor-server-application.yml:/config/specific/application.yml:Z + - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z restart: unless-stopped environment: - JAVA_TOOL_OPTIONS=-Xmx96m @@ -29,9 +27,9 @@ services: - monitor image: gridsuite/monitor-worker-server:latest volumes: - - $PWD/../../k8s/resources/monitor/config/monitor-sa-worker-server-application.yml:/config/specific/application.yml:Z - - ${PATH_TO_STUDY_COMPOSE:-$PWD}/../../k8s/resources/monitor/config/monitor-sa-worker-server-config.yml:/home/powsybl/.itools/config.yml:Z - - $PWD/../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + - ../../k8s/resources/monitor/config/monitor-sa-worker-server-application.yml:/config/specific/application.yml:Z + - ../../k8s/resources/monitor/config/monitor-sa-worker-server-config.yml:/home/powsybl/.itools/config.yml:Z + - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z restart: unless-stopped environment: - JAVA_TOOL_OPTIONS=-Xmx1086m #deployment: 3072m diff --git a/docker-compose/study/.env b/docker-compose/study/.env deleted file mode 100644 index cb1a2740..00000000 --- a/docker-compose/study/.env +++ /dev/null @@ -1,6 +0,0 @@ -PROJECT_DIR_NAME=study -PROJECT_STUDY_DIR_NAME=study -COMPOSE_PATH_SEPARATOR=: -COMPOSE_PROJECT_NAME=gridstudy -COMPOSE_FILE=docker-compose.override.yml:../docker-compose.base.yml:../dynamic-mapping/docker-compose.override.yml:../technical/docker-compose.technical.yml -COMPOSE_PROFILES=study diff --git a/docker-compose/study/docker-compose.override.yml b/docker-compose/study/docker-compose.yml similarity index 65% rename from docker-compose/study/docker-compose.override.yml rename to docker-compose/study/docker-compose.yml index 28fd8b7c..d63f117a 100644 --- a/docker-compose/study/docker-compose.override.yml +++ b/docker-compose/study/docker-compose.yml @@ -1,5 +1,3 @@ -version: '4.0' - services: study-server: profiles: @@ -12,8 +10,8 @@ services: ports: - 5001:80 volumes: - - ${PATH_TO_STUDY_COMPOSE:-$PWD}/../../k8s/resources/study/config/study-server-application.yml:/config/specific/application.yml:Z - - ${PATH_TO_STUDY_COMPOSE:-$PWD}/../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + - ../../k8s/resources/study/config/study-server-application.yml:/config/specific/application.yml:Z + - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z restart: unless-stopped depends_on: logspout: @@ -41,8 +39,8 @@ services: ports: - 8087:80 volumes: - - ${PATH_TO_STUDY_COMPOSE:-$PWD}/../../k8s/resources/study/config/geo-data-server-application.yml:/config/specific/application.yml:Z - - ${PATH_TO_STUDY_COMPOSE:-$PWD}/../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + - ../../k8s/resources/study/config/geo-data-server-application.yml:/config/specific/application.yml:Z + - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z restart: unless-stopped depends_on: logspout: @@ -70,8 +68,8 @@ services: ports: - 5005:80 volumes: - - ${PATH_TO_STUDY_COMPOSE:-$PWD}/../../k8s/resources/study/config/single-line-diagram-server-application.yml:/config/specific/application.yml:Z - - ${PATH_TO_STUDY_COMPOSE:-$PWD}/../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + - ../../k8s/resources/study/config/single-line-diagram-server-application.yml:/config/specific/application.yml:Z + - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z restart: unless-stopped depends_on: logspout: @@ -100,9 +98,9 @@ services: ports: - 5007:80 volumes: - - ${PATH_TO_STUDY_COMPOSE:-$PWD}/../../k8s/resources/study/config/network-modification-server-application.yml:/config/specific/application.yml:Z - - ${PATH_TO_STUDY_COMPOSE:-$PWD}/../../k8s/resources/study/config/network-modification-server-config.yml:/home/powsybl/.itools/config.yml:Z - - ${PATH_TO_STUDY_COMPOSE:-$PWD}/../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + - ../../k8s/resources/study/config/network-modification-server-application.yml:/config/specific/application.yml:Z + - ../../k8s/resources/study/config/network-modification-server-config.yml:/home/powsybl/.itools/config.yml:Z + - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z restart: unless-stopped depends_on: logspout: @@ -130,8 +128,8 @@ services: ports: - 5009:80 volumes: - - ${PATH_TO_STUDY_COMPOSE:-$PWD}/../../k8s/resources/study/config/study-notification-server-application.yml:/config/specific/application.yml:Z - - ${PATH_TO_STUDY_COMPOSE:-$PWD}/../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + - ../../k8s/resources/study/config/study-notification-server-application.yml:/config/specific/application.yml:Z + - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z restart: unless-stopped depends_on: logspout: @@ -159,8 +157,8 @@ services: ports: - 5004:80 volumes: - - ${PATH_TO_STUDY_COMPOSE:-$PWD}/../../k8s/resources/study/config/directory-notification-server-application.yml:/config/specific/application.yml:Z - - ${PATH_TO_STUDY_COMPOSE:-$PWD}/../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + - ../../k8s/resources/study/config/directory-notification-server-application.yml:/config/specific/application.yml:Z + - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z restart: unless-stopped depends_on: logspout: @@ -188,8 +186,8 @@ services: ports: - 5006:80 volumes: - - ${PATH_TO_STUDY_COMPOSE:-$PWD}/../../k8s/resources/study/config/network-map-server-application.yml:/config/specific/application.yml:Z - - ${PATH_TO_STUDY_COMPOSE:-$PWD}/../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + - ../../k8s/resources/study/config/network-map-server-application.yml:/config/specific/application.yml:Z + - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z restart: unless-stopped depends_on: logspout: @@ -215,8 +213,8 @@ services: ports: - 8095:80 volumes: - - ${PATH_TO_STUDY_COMPOSE:-$PWD}/../../k8s/resources/study/config/cgmes-gl-server-application.yml:/config/specific/application.yml:Z - - ${PATH_TO_STUDY_COMPOSE:-$PWD}/../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + - ../../k8s/resources/study/config/cgmes-gl-server-application.yml:/config/specific/application.yml:Z + - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z restart: unless-stopped depends_on: logspout: @@ -242,8 +240,8 @@ services: ports: - 8090:80 volumes: - - ${PATH_TO_STUDY_COMPOSE:-$PWD}/../../k8s/resources/study/config/odre-server-application.yml:/config/specific/application.yml:Z - - ${PATH_TO_STUDY_COMPOSE:-$PWD}/../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + - ../../k8s/resources/study/config/odre-server-application.yml:/config/specific/application.yml:Z + - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z restart: unless-stopped depends_on: logspout: @@ -270,8 +268,8 @@ services: ports: - 84:8080 volumes: - - ${PATH_TO_STUDY_COMPOSE:-$PWD}/../study/gridstudy-app-idpSettings.json:/opt/bitnami/apache/htdocs/gridstudy/idpSettings.json:Z - - ${PATH_TO_STUDY_COMPOSE:-$PWD}/../env.json:/opt/bitnami/apache/htdocs/gridstudy/env.json:Z + - ./gridstudy-app-idpSettings.json:/opt/bitnami/apache/htdocs/gridstudy/idpSettings.json:Z + - ../env.json:/opt/bitnami/apache/htdocs/gridstudy/env.json:Z depends_on: logspout: condition: "service_started" @@ -293,9 +291,9 @@ services: ports: - 5023:80 volumes: - - ${PATH_TO_STUDY_COMPOSE:-$PWD}/../../k8s/resources/study/config/security-analysis-server-application.yml:/config/specific/application.yml:Z - - ${PATH_TO_STUDY_COMPOSE:-$PWD}/../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z - - ${PATH_TO_STUDY_COMPOSE:-$PWD}/../../k8s/resources/study/config/security-analysis-server-config.yml:/home/powsybl/.itools/config.yml:Z + - ../../k8s/resources/study/config/security-analysis-server-application.yml:/config/specific/application.yml:Z + - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + - ../../k8s/resources/study/config/security-analysis-server-config.yml:/home/powsybl/.itools/config.yml:Z restart: unless-stopped depends_on: logspout: @@ -321,9 +319,9 @@ services: ports: - 5032:80 volumes: - - ${PATH_TO_STUDY_COMPOSE:-$PWD}/../../k8s/resources/study/config/dynamic-simulation-server-application.yml:/config/specific/application.yml:Z - - ${PATH_TO_STUDY_COMPOSE:-$PWD}/../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z - - ${PATH_TO_STUDY_COMPOSE:-$PWD}/../../k8s/resources/study/config/dynawo-itools-config.yml:/home/powsybl/.itools/config.yml:Z + - ../../k8s/resources/study/config/dynamic-simulation-server-application.yml:/config/specific/application.yml:Z + - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + - ../../k8s/resources/study/config/dynawo-itools-config.yml:/home/powsybl/.itools/config.yml:Z restart: unless-stopped environment: - JAVA_TOOL_OPTIONS=-Xmx768m @@ -345,9 +343,9 @@ services: ports: - 5040:80 volumes: - - ${PATH_TO_STUDY_COMPOSE:-$PWD}/../../k8s/resources/study/config/dynamic-security-analysis-server-application.yml:/config/specific/application.yml:Z - - ${PATH_TO_STUDY_COMPOSE:-$PWD}/../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z - - ${PATH_TO_STUDY_COMPOSE:-$PWD}/../../k8s/resources/study/config/dynawo-itools-config.yml:/home/powsybl/.itools/config.yml:Z + - ../../k8s/resources/study/config/dynamic-security-analysis-server-application.yml:/config/specific/application.yml:Z + - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + - ../../k8s/resources/study/config/dynawo-itools-config.yml:/home/powsybl/.itools/config.yml:Z restart: unless-stopped environment: - JAVA_TOOL_OPTIONS=-Xmx768m @@ -369,9 +367,9 @@ services: ports: - 5041:80 volumes: - - ${PATH_TO_STUDY_COMPOSE:-$PWD}/../../k8s/resources/study/config/dynamic-margin-calculation-server-application.yml:/config/specific/application.yml:Z - - ${PATH_TO_STUDY_COMPOSE:-$PWD}/../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z - - ${PATH_TO_STUDY_COMPOSE:-$PWD}/../../k8s/resources/study/config/dynawo-itools-config.yml:/home/powsybl/.itools/config.yml:Z + - ../../k8s/resources/study/config/dynamic-margin-calculation-server-application.yml:/config/specific/application.yml:Z + - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + - ../../k8s/resources/study/config/dynawo-itools-config.yml:/home/powsybl/.itools/config.yml:Z restart: unless-stopped environment: - JAVA_TOOL_OPTIONS=-Xmx768m @@ -395,8 +393,8 @@ services: ports: - 5026:80 volumes: - - ${PATH_TO_STUDY_COMPOSE:-$PWD}/../../k8s/resources/study/config/directory-server-application.yml:/config/specific/application.yml:Z - - ${PATH_TO_STUDY_COMPOSE:-$PWD}/../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + - ../../k8s/resources/study/config/directory-server-application.yml:/config/specific/application.yml:Z + - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z restart: unless-stopped depends_on: logspout: @@ -424,8 +422,8 @@ services: ports: - 80:8080 volumes: - - ${PATH_TO_STUDY_COMPOSE:-$PWD}/../study/gridexplore-app-idpSettings.json:/opt/bitnami/apache/htdocs/gridexplore/idpSettings.json:Z - - ${PATH_TO_STUDY_COMPOSE:-$PWD}/../env.json:/opt/bitnami/apache/htdocs/gridexplore/env.json:Z + - ./gridexplore-app-idpSettings.json:/opt/bitnami/apache/htdocs/gridexplore/idpSettings.json:Z + - ../env.json:/opt/bitnami/apache/htdocs/gridexplore/env.json:Z depends_on: logspout: condition: "service_started" @@ -448,8 +446,8 @@ services: ports: - 5029:80 volumes: - - ${PATH_TO_STUDY_COMPOSE:-$PWD}/../../k8s/resources/study/config/explore-server-application.yml:/config/specific/application.yml:Z - - ${PATH_TO_STUDY_COMPOSE:-$PWD}/../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + - ../../k8s/resources/study/config/explore-server-application.yml:/config/specific/application.yml:Z + - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z restart: unless-stopped depends_on: logspout: @@ -475,9 +473,9 @@ services: ports: - 5030:80 volumes: - - ${PATH_TO_STUDY_COMPOSE:-$PWD}/../../k8s/resources/study/config/sensitivity-analysis-server-application.yml:/config/specific/application.yml:Z - - ${PATH_TO_STUDY_COMPOSE:-$PWD}/../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z - - ${PATH_TO_STUDY_COMPOSE:-$PWD}/../../k8s/resources/study/config/sensitivity-analysis-server-config.yml:/home/powsybl/.itools/config.yml:Z + - ../../k8s/resources/study/config/sensitivity-analysis-server-application.yml:/config/specific/application.yml:Z + - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + - ../../k8s/resources/study/config/sensitivity-analysis-server-config.yml:/home/powsybl/.itools/config.yml:Z restart: unless-stopped depends_on: logspout: @@ -503,9 +501,9 @@ services: ports: - 5031:80 volumes: - - ${PATH_TO_STUDY_COMPOSE:-$PWD}/../../k8s/resources/study/config/shortcircuit-server-application.yml:/config/specific/application.yml:Z - - ${PATH_TO_STUDY_COMPOSE:-$PWD}/../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z - - ${PATH_TO_STUDY_COMPOSE:-$PWD}/../../k8s/resources/study/config/shortcircuit-server-config.yml:/home/powsybl/.itools/config.yml:Z + - ../../k8s/resources/study/config/shortcircuit-server-application.yml:/config/specific/application.yml:Z + - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + - ../../k8s/resources/study/config/shortcircuit-server-config.yml:/home/powsybl/.itools/config.yml:Z restart: unless-stopped depends_on: logspout: @@ -531,8 +529,8 @@ services: ports: - 5037:80 volumes: - - ${PATH_TO_STUDY_COMPOSE:-$PWD}/../../k8s/resources/study/config/timeseries-server-application.yml:/config/specific/application.yml:Z - - ${PATH_TO_STUDY_COMPOSE:-$PWD}/../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + - ../../k8s/resources/study/config/timeseries-server-application.yml:/config/specific/application.yml:Z + - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z restart: unless-stopped depends_on: logspout: @@ -558,9 +556,9 @@ services: ports: - 5038:80 volumes: - - ${PATH_TO_STUDY_COMPOSE:-$PWD}/../../k8s/resources/study/config/voltage-init-server-application.yml:/config/specific/application.yml:Z - - ${PATH_TO_STUDY_COMPOSE:-$PWD}/../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z - - ${PATH_TO_STUDY_COMPOSE:-$PWD}/../../k8s/resources/study/config/voltage-init-server-config.yml:/home/powsybl/.itools/config.yml:Z + - ../../k8s/resources/study/config/voltage-init-server-application.yml:/config/specific/application.yml:Z + - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + - ../../k8s/resources/study/config/voltage-init-server-config.yml:/home/powsybl/.itools/config.yml:Z restart: unless-stopped depends_on: logspout: @@ -586,7 +584,7 @@ services: ports: - 5039:80 volumes: - - ${PATH_TO_STUDY_COMPOSE:-$PWD}/../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z restart: unless-stopped depends_on: logspout: @@ -612,8 +610,8 @@ services: ports: - 82:8080 volumes: - - ${PATH_TO_STUDY_COMPOSE:-$PWD}/../study/gridadmin-app-idpSettings.json:/opt/bitnami/apache/htdocs/gridadmin/idpSettings.json:Z - - ${PATH_TO_STUDY_COMPOSE:-$PWD}/../env.json:/opt/bitnami/apache/htdocs/gridadmin/env.json:Z + - ./gridadmin-app-idpSettings.json:/opt/bitnami/apache/htdocs/gridadmin/idpSettings.json:Z + - ../env.json:/opt/bitnami/apache/htdocs/gridadmin/env.json:Z depends_on: logspout: condition: "service_started" diff --git a/docker-compose/suite/.env b/docker-compose/suite/.env deleted file mode 100644 index 51a3a917..00000000 --- a/docker-compose/suite/.env +++ /dev/null @@ -1,6 +0,0 @@ -PROJECT_DIR_NAME=suite -PROJECT_SUITE_DIR_NAME=suite -COMPOSE_PATH_SEPARATOR=: -COMPOSE_PROJECT_NAME=gridsuite -COMPOSE_FILE=docker-compose.marker.yml:../docker-compose.base.yml:../study/docker-compose.override.yml:../dynamic-mapping/docker-compose.override.yml:../technical/docker-compose.technical.yml -COMPOSE_PROFILES=study,dynamic-mapping diff --git a/docker-compose/suite/docker-compose.marker.yml b/docker-compose/suite/docker-compose.marker.yml deleted file mode 100644 index 651b5675..00000000 --- a/docker-compose/suite/docker-compose.marker.yml +++ /dev/null @@ -1,4 +0,0 @@ -version: '4.0' -services: {} - -# This file is here only for $COMPOSE_PROFILES to be recognized by docker compose, nothing more diff --git a/docker-compose/technical/.env b/docker-compose/technical/.env deleted file mode 100644 index d5e07aa0..00000000 --- a/docker-compose/technical/.env +++ /dev/null @@ -1,6 +0,0 @@ -PROJECT_STUDY_DIR_NAME=study -PROJECT_SUITE_DIR_NAME=suite -PROJECT_DIR_NAME=technical -COMPOSE_PATH_SEPARATOR=: -COMPOSE_PROJECT_NAME=gridtechnical -COMPOSE_FILE=docker-compose.technical.yml diff --git a/docker-compose/technical/docker-compose.technical.yml b/docker-compose/technical/docker-compose.yml similarity index 81% rename from docker-compose/technical/docker-compose.technical.yml rename to docker-compose/technical/docker-compose.yml index 9bb7f94a..b6f67511 100644 --- a/docker-compose/technical/docker-compose.technical.yml +++ b/docker-compose/technical/docker-compose.yml @@ -1,5 +1,3 @@ -version: '4.0' - services: rabbitmq: @@ -16,7 +14,7 @@ services: postgres: build: - context: ${PATH_TO_TECHNICAL_COMPOSE:-$PWD}/../technical + context: ./ dockerfile: Dockerfile-postgres args: - http_proxy=${http_proxy-} @@ -36,15 +34,13 @@ services: - POSTGRES_DEFAULT_DB=postgres - POSTGRES_PASSWORD=postgres - PGDATA=/var/lib/postgresql/data - env_file: - - ${PATH_TO_TECHNICAL_COMPOSE:-$PWD}/.env volumes: - $GRIDSUITE_DATABASES/postgres/data:/var/lib/postgresql/data:Z - $GRIDSUITE_DATABASES/init:/init-data:Z - - ${PATH_TO_TECHNICAL_COMPOSE:-$PWD}/../technical/create-postgres-databases.sh:/create-postgres-databases.sh:Z - - ${PATH_TO_TECHNICAL_COMPOSE:-$PWD}/../technical/init-databases.sh:/init-databases.sh:Z - - ${PATH_TO_TECHNICAL_COMPOSE:-$PWD}/../technical/init-geo-data.sh:/init-geo-data.sh:Z - - ${PATH_TO_TECHNICAL_COMPOSE:-$PWD}/../technical/init-lines-catalog.sh:/init-lines-catalog.sh:Z + - ./create-postgres-databases.sh:/create-postgres-databases.sh:Z + - ./init-databases.sh:/init-databases.sh:Z + - ./init-geo-data.sh:/init-geo-data.sh:Z + - ./init-lines-catalog.sh:/init-lines-catalog.sh:Z restart: unless-stopped postgres-exporter: @@ -110,8 +106,8 @@ services: - kibana image: docker.elastic.co/logstash/logstash:8.19.10 volumes: - - ${PATH_TO_TECHNICAL_COMPOSE:-$PWD}/../technical/pipelines.yml:/config/pipelines.yml:Z - - ${PATH_TO_TECHNICAL_COMPOSE:-$PWD}/../technical/logstash.conf:/usr/share/logstash/pipeline/logstash.conf:Z + - ./pipelines.yml:/config/pipelines.yml:Z + - ./logstash.conf:/usr/share/logstash/pipeline/logstash.conf:Z environment: - LOGSPOUT=ignore depends_on: @@ -153,7 +149,7 @@ services: - PGADMIN_DEFAULT_EMAIL=admin@localhost.com - PGADMIN_DEFAULT_PASSWORD=admin volumes: - - ${PATH_TO_TECHNICAL_COMPOSE:-$PWD}/../technical/servers_pgadmin.json:/pgadmin4/servers.json + - ./servers_pgadmin.json:/pgadmin4/servers.json restart: unless-stopped s3-storage: @@ -178,7 +174,7 @@ services: image: prom/prometheus:v3.8.1 command: --enable-feature=exemplar-storage volumes: - - ${PATH_TO_TECHNICAL_COMPOSE:-$PWD}/../technical/prometheus.yml:/prometheus/prometheus.yml:ro + - ./prometheus.yml:/prometheus/prometheus.yml:ro restart: unless-stopped ports: - "8000:9090" @@ -189,7 +185,7 @@ services: - metrics image: grafana/grafana:11.3.0 volumes: - - ${PATH_TO_TECHNICAL_COMPOSE:-$PWD}/../technical/grafana/datasources:/etc/grafana/provisioning/datasources:ro + - ./grafana/datasources:/etc/grafana/provisioning/datasources:ro restart: unless-stopped environment: - GF_AUTH_ANONYMOUS_ENABLED=true diff --git a/docker-compose/technical/init-geo-data.sh b/docker-compose/technical/init-geo-data.sh index db0b60ae..2af9eaab 100755 --- a/docker-compose/technical/init-geo-data.sh +++ b/docker-compose/technical/init-geo-data.sh @@ -1,7 +1,5 @@ #!/bin/bash -set -e - function curl_() { curl -f -s -o /dev/null -H "Content-Type: application/json" "$@" @@ -12,16 +10,13 @@ function init_geo_data() FILE_SUBSTATIONS=/init-data/geo_data_substations.json FILE_LINES=/init-data/geo_data_lines.json - ([ ! -f "$FILE_SUBSTATIONS" ] || curl_ -d@$FILE_SUBSTATIONS http://geo-data-server/v1/substations) \ + ([ ! -f "$FILE_SUBSTATIONS" ] || curl_ -d@$FILE_SUBSTATIONS http://172.17.0.1:8087/v1/substations) \ && - ([ ! -f "$FILE_LINES" ] || curl_ -d@$FILE_LINES http://geo-data-server/v1/lines) + ([ ! -f "$FILE_LINES" ] || curl_ -d@$FILE_LINES http://172.17.0.1:8087/v1/lines) } -if [ "$PROJECT_DIR_NAME" == "$PROJECT_STUDY_DIR_NAME" ] || [ "$PROJECT_DIR_NAME" == "$PROJECT_SUITE_DIR_NAME" ] -then - until init_geo_data +until init_geo_data do echo "curl: geo-data-server is unavailable to initialize data - will retry later" sleep 5 done -fi diff --git a/docker-compose/technical/init-lines-catalog.sh b/docker-compose/technical/init-lines-catalog.sh index e1635c06..f0d25a79 100755 --- a/docker-compose/technical/init-lines-catalog.sh +++ b/docker-compose/technical/init-lines-catalog.sh @@ -1,7 +1,5 @@ #!/bin/bash -set -e - function init_lines_catalog() { LINES_CATALOG=/init-data/lines-catalog.json.gz @@ -10,11 +8,8 @@ function init_lines_catalog() fi } -if [ "$PROJECT_DIR_NAME" == "$PROJECT_STUDY_DIR_NAME" ] || [ "$PROJECT_DIR_NAME" == "$PROJECT_SUITE_DIR_NAME" ] -then - until init_lines_catalog +until init_lines_catalog do echo "curl: network-modification-server is unavailable to initialize data - will retry later" sleep 5 done -fi From 87d36e72b5b097815078d9c2c3d056df416b4086 Mon Sep 17 00:00:00 2001 From: Joris Mancini Date: Wed, 11 Feb 2026 13:06:54 +0100 Subject: [PATCH 02/18] update docker compose required version Signed-off-by: Joris Mancini --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5b7f9618..6f0a5969 100644 --- a/README.md +++ b/README.md @@ -51,7 +51,7 @@ $ cd deployment ## Docker compose deployment > **Important** -> [Docker Compose v2](https://docs.docker.com/compose/install/standalone/) is mandatory. +> [Docker Compose v2.20.3+](https://docs.docker.com/compose/install/standalone/) is mandatory. > _See instructions in [sub-section](#installing--updating-docker-compose-to-v2)_ From 4fc961d9afe8495180239c71de7958c24ecdc9dd Mon Sep 17 00:00:00 2001 From: Joris Mancini Date: Wed, 11 Feb 2026 13:07:06 +0100 Subject: [PATCH 03/18] revert on version tag Signed-off-by: Joris Mancini --- docker-compose/docker-compose.yml | 2 ++ docker-compose/dynamic-mapping/docker-compose.yml | 2 ++ docker-compose/monitor/docker-compose.yml | 2 ++ docker-compose/study/docker-compose.yml | 2 ++ docker-compose/technical/docker-compose.yml | 2 ++ 5 files changed, 10 insertions(+) diff --git a/docker-compose/docker-compose.yml b/docker-compose/docker-compose.yml index b4d3d637..9de98c4b 100644 --- a/docker-compose/docker-compose.yml +++ b/docker-compose/docker-compose.yml @@ -1,3 +1,5 @@ +version: '4.0' + include: - ./technical/docker-compose.yml - ./study/docker-compose.yml diff --git a/docker-compose/dynamic-mapping/docker-compose.yml b/docker-compose/dynamic-mapping/docker-compose.yml index 9f5d6765..74a32790 100644 --- a/docker-compose/dynamic-mapping/docker-compose.yml +++ b/docker-compose/dynamic-mapping/docker-compose.yml @@ -1,3 +1,5 @@ +version: '4.0' + services: griddyna-app: profiles: diff --git a/docker-compose/monitor/docker-compose.yml b/docker-compose/monitor/docker-compose.yml index 31308883..bdd231fe 100644 --- a/docker-compose/monitor/docker-compose.yml +++ b/docker-compose/monitor/docker-compose.yml @@ -1,3 +1,5 @@ +version: '4.0' + services: monitor-server: profiles: diff --git a/docker-compose/study/docker-compose.yml b/docker-compose/study/docker-compose.yml index d63f117a..1fe73d91 100644 --- a/docker-compose/study/docker-compose.yml +++ b/docker-compose/study/docker-compose.yml @@ -1,3 +1,5 @@ +version: '4.0' + services: study-server: profiles: diff --git a/docker-compose/technical/docker-compose.yml b/docker-compose/technical/docker-compose.yml index b6f67511..115a5e7c 100644 --- a/docker-compose/technical/docker-compose.yml +++ b/docker-compose/technical/docker-compose.yml @@ -1,3 +1,5 @@ +version: '4.0' + services: rabbitmq: From 489c6191ec91cd776d9a00f7d798f687a8888edf Mon Sep 17 00:00:00 2001 From: Joris Mancini Date: Wed, 11 Feb 2026 14:53:45 +0100 Subject: [PATCH 04/18] try to add both deploy options profile and direct Signed-off-by: Joris Mancini --- docker-compose/docker-compose.base.yml | 500 ++++++++++++++ docker-compose/docker-compose.yml | 510 +------------- docker-compose/dynamic-mapping/.env | 2 + .../docker-compose.dynamic-mapping.yml | 53 ++ .../dynamic-mapping/docker-compose.yml | 57 +- docker-compose/monitor/.env | 2 + .../monitor/docker-compose.monitor.yml | 45 ++ docker-compose/monitor/docker-compose.yml | 49 +- docker-compose/study/.env | 2 + docker-compose/study/docker-compose.study.yml | 626 +++++++++++++++++ docker-compose/study/docker-compose.yml | 630 +----------------- ...mpose.yml => docker-compose.technical.yml} | 0 12 files changed, 1247 insertions(+), 1229 deletions(-) create mode 100644 docker-compose/docker-compose.base.yml create mode 100644 docker-compose/dynamic-mapping/.env create mode 100644 docker-compose/dynamic-mapping/docker-compose.dynamic-mapping.yml create mode 100644 docker-compose/monitor/.env create mode 100644 docker-compose/monitor/docker-compose.monitor.yml create mode 100644 docker-compose/study/.env create mode 100644 docker-compose/study/docker-compose.study.yml rename docker-compose/technical/{docker-compose.yml => docker-compose.technical.yml} (100%) diff --git a/docker-compose/docker-compose.base.yml b/docker-compose/docker-compose.base.yml new file mode 100644 index 00000000..e1338c7c --- /dev/null +++ b/docker-compose/docker-compose.base.yml @@ -0,0 +1,500 @@ +version: '4.0' + +services: + case-server: + profiles: + - all + - suite + - study + - study-light + - dynamic-mapping + - dynamic-simulation + - import + - monitor + image: powsybl/case-server:latest + ports: + - 5000:80 + volumes: + - ../k8s/resources/common/config/case-server-application.yml:/config/specific/application.yml:Z + - ../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + depends_on: + logspout: + condition: "service_started" + required: false + restart: unless-stopped + environment: + - JAVA_TOOL_OPTIONS=-Xmx186m #deployment: 768m + command: > + --server.port=80 + --spring.config.additional-location=/config/ + --case-home=/ + sysctls: + - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 + memswap_limit: 512m + deploy: + resources: + limits: + memory: 512m + + actions-server: + profiles: + - all + - suite + - study + - study-light + - dynamic-mapping + - dynamic-simulation + - import + - monitor + image: gridsuite/actions-server:latest + ports: + - 5022:80 + volumes: + - ../k8s/resources/common/config/actions-server-application.yml:/config/specific/application.yml:Z + - ../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + restart: unless-stopped + depends_on: + logspout: + condition: "service_started" + required: false + environment: + - JAVA_TOOL_OPTIONS=-Xmx576m + command: --server.port=80 --spring.config.additional-location=/config/ + sysctls: + - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 + memswap_limit: 1g + deploy: + resources: + limits: + memory: 1g + + filter-server: + profiles: + - all + - suite + - study + - study-light + - dynamic-mapping + - dynamic-simulation + - import + - monitor + image: gridsuite/filter-server:latest + ports: + - 5027:80 + volumes: + - ../k8s/resources/common/config/filter-server-application.yml:/config/specific/application.yml:Z + - ../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + restart: unless-stopped + depends_on: + logspout: + condition: "service_started" + required: false + command: --server.port=80 --spring.config.additional-location=/config/ + sysctls: + - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 + environment: + - JAVA_TOOL_OPTIONS=-Xmx576m + memswap_limit: 1g + deploy: + resources: + limits: + memory: 1g + + user-admin-server: + profiles: + - all + - suite + - study + - study-light + - dynamic-mapping + - dynamic-simulation + - import + image: gridsuite/user-admin-server:latest + ports: + - 5033:80 + volumes: + - ../k8s/resources/common/config/user-admin-server-application.yml:/config/specific/application.yml:Z + - ../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + restart: unless-stopped + depends_on: + logspout: + condition: "service_started" + required: false + command: --server.port=80 --spring.config.additional-location=/config/ + sysctls: + - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 + environment: + - JAVA_TOOL_OPTIONS=-Xmx96m + memswap_limit: 384m + deploy: + resources: + limits: + memory: 384m + + study-config-server: + profiles: + - all + - suite + - study + - study-light + - dynamic-mapping + - dynamic-simulation + - import + image: gridsuite/study-config-server:latest + ports: + - 5035:80 + volumes: + - ../k8s/resources/common/config/study-config-server-application.yml:/config/specific/application.yml:Z + - ../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + restart: unless-stopped + depends_on: + logspout: + condition: "service_started" + required: false + command: --server.port=80 --spring.config.additional-location=/config/ + sysctls: + - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 + environment: + - JAVA_TOOL_OPTIONS=-Xmx96m + memswap_limit: 384m + deploy: + resources: + limits: + memory: 384m + + user-identity-server: + profiles: + - all + - suite + - study + - study-light + - dynamic-mapping + - dynamic-simulation + - import + image: gridsuite/user-identity-oidc-replication-server:latest + ports: + - 5034:80 + volumes: + - ../k8s/resources/common/config/user-identity-oidc-replication-server-application.yml:/config/specific/application.yml:Z + - ../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + restart: unless-stopped + depends_on: + logspout: + condition: "service_started" + required: false + command: --server.port=80 --spring.config.additional-location=/config/ + sysctls: + - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 + environment: + - JAVA_TOOL_OPTIONS=-Xmx96m + memswap_limit: 384m + deploy: + resources: + limits: + memory: 384m + + report-server: + profiles: + - all + - suite + - study + - study-light + - dynamic-mapping + - dynamic-simulation + - import + - monitor + image: gridsuite/report-server:latest + ports: + - 5028:80 + volumes: + - ../k8s/resources/common/config/report-server-application.yml:/config/specific/application.yml:Z + - ../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + restart: unless-stopped + depends_on: + logspout: + condition: "service_started" + required: false + command: --server.port=80 --spring.config.additional-location=/config/ + sysctls: + - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 + environment: + - JAVA_TOOL_OPTIONS=-Xmx384m + memswap_limit: 768m + deploy: + resources: + limits: + memory: 768m + + network-store-server: + profiles: + - all + - suite + - study + - study-light + - dynamic-mapping + - dynamic-simulation + - import + image: powsybl/network-store-server:latest + ports: + - 8080:80 + volumes: + - ../k8s/resources/common/config/network-store-server-application.yml:/config/specific/application.yml:Z + - ../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + restart: unless-stopped + depends_on: + logspout: + condition: "service_started" + required: false + environment: + - JAVA_TOOL_OPTIONS=-Xmx1086m #deployment: 1408m + command: --server.port=80 --spring.config.additional-location=/config/ + sysctls: + - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 + memswap_limit: 1664m #deployment: 2048m + deploy: + resources: + limits: + memory: 1664m #deployment: 2048m + + network-conversion-server: + profiles: + - all + - suite + - study + - study-light + - dynamic-mapping + - dynamic-simulation + - import + image: powsybl/network-conversion-server:latest + ports: + - 5003:80 + volumes: + - ../k8s/resources/common/config/network-conversion-server-application.yml:/config/specific/application.yml:Z + - ../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + - ../k8s/resources/common/config/network-conversion-server-config.yml:/home/powsybl/.itools/config.yml:Z + restart: unless-stopped + depends_on: + logspout: + condition: "service_started" + required: false + environment: + - JAVA_TOOL_OPTIONS=-Xmx768m #deployment: 1408m + command: --server.port=80 --spring.config.additional-location=/config/ + sysctls: + - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 + memswap_limit: 1280m #deployment: 2048m + deploy: + resources: + limits: + memory: 1280m #deployment: 2048m + + loadflow-server: + profiles: + - all + - suite + - study + - study-light + - dynamic-mapping + - dynamic-simulation + - import + image: gridsuite/loadflow-server:latest + ports: + - 5008:80 + volumes: + - ../k8s/resources/common/config/loadflow-server-application.yml:/config/specific/application.yml:Z + - ../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + - ../k8s/resources/common/config/loadflow-server-config.yml:/home/powsybl/.itools/config.yml:Z + restart: unless-stopped + depends_on: + logspout: + condition: "service_started" + required: false + environment: + - JAVA_TOOL_OPTIONS=-Xmx768m #deployment: 1408m + command: --server.port=80 --spring.config.additional-location=/config/ + sysctls: + - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 + memswap_limit: 1792m #deployment: 3072m + deploy: + resources: + limits: + memory: 1792m #deployment: 3072m + + config-server: + profiles: + - all + - suite + - study + - study-light + - dynamic-mapping + - dynamic-simulation + - import + image: gridsuite/config-server:latest + ports: + - 5025:80 + volumes: + - ../k8s/resources/common/config/config-server-application.yml:/config/specific/application.yml:Z + - ../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + restart: unless-stopped + environment: + - JAVA_TOOL_OPTIONS=-Xmx96m + command: --server.port=80 --spring.config.additional-location=/config/ + sysctls: + - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 + memswap_limit: 384m + deploy: + resources: + limits: + memory: 384m + + config-notification-server: + profiles: + - all + - suite + - study + - study-light + - dynamic-mapping + - dynamic-simulation + - import + image: gridsuite/config-notification-server:latest + ports: + - 5024:80 + volumes: + - ../k8s/resources/common/config/config-notification-server-application.yml:/config/specific/application.yml:Z + - ../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + restart: unless-stopped + environment: + - JAVA_TOOL_OPTIONS=-Xmx96m + command: --server.port=80 --spring.config.additional-location=/config/ + sysctls: + - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 + memswap_limit: 384m + deploy: + resources: + limits: + memory: 384m + + gateway: + profiles: + - all + - suite + - study + - study-light + - dynamic-mapping + - dynamic-simulation + - import + image: gridsuite/gateway:latest + ports: + - 9000:80 + volumes: + - ../k8s/resources/common/config/gateway-application.yml:/config/specific/application.yml:Z + - ../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + - ./allowed-issuers.yml:/config/allowed-issuers.yml:Z + restart: unless-stopped + depends_on: + logspout: + condition: "service_started" + required: false + environment: + - JAVA_TOOL_OPTIONS=-Xmx96m + command: --server.port=80 --spring.config.additional-location=/config/ + sysctls: + - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 + memswap_limit: 384m + deploy: + resources: + limits: + memory: 384m + + mock-user-service: + profiles: + - all + - suite + - study + - study-light + - dynamic-mapping + - dynamic-simulation + - import + image: gridsuite/oidc-mock-server + ports: + - 9090:9090 + environment: + - PORT=9090 + - ISSUER_HOST=172.17.0.1:9090 + - USERS_PROFILE=UTILISATEURS|ADMIN|ADMIN_EXPLORE + - CLIENT_COUNT=8 + + # Client IDs for containers (grid*-app-idpSettings.json) + - CLIENT_ID=gridexplore-client + - CLIENT_REDIRECT_URI=http://localhost:80/sign-in-callback + - CLIENT_LOGOUT_REDIRECT_URI=http://localhost:80/logout-callback + - CLIENT_SILENT_REDIRECT_URI=http://localhost:80/silent-renew-callback + + - CLIENT_ID_2=gridadmin-client + - CLIENT_REDIRECT_URI_2=http://localhost:82/sign-in-callback + - CLIENT_LOGOUT_REDIRECT_URI_2=http://localhost:82/logout-callback + - CLIENT_SILENT_REDIRECT_URI_2=http://localhost:82/silent-renew-callback + + - CLIENT_ID_3=griddyna-client + - CLIENT_REDIRECT_URI_3=http://localhost:83/sign-in-callback + - CLIENT_LOGOUT_REDIRECT_URI_3=http://localhost:83/logout-callback + - CLIENT_SILENT_REDIRECT_URI_3=http://localhost:83/silent-renew-callback + + - CLIENT_ID_4=gridstudy-client + - CLIENT_REDIRECT_URI_4=http://localhost:84/sign-in-callback + - CLIENT_LOGOUT_REDIRECT_URI_4=http://localhost:84/logout-callback + - CLIENT_SILENT_REDIRECT_URI_4=http://localhost:84/silent-renew-callback + + # Client IDs for local dev (grid*-app/public/idpSettings.json) + - CLIENT_ID_5=gridexplore-local + - CLIENT_REDIRECT_URI_5=http://localhost:3000/sign-in-callback + - CLIENT_LOGOUT_REDIRECT_URI_5=http://localhost:3000/logout-callback + - CLIENT_SILENT_REDIRECT_URI_5=http://localhost:3000/silent-renew-callback + + - CLIENT_ID_6=gridadmin-local + - CLIENT_REDIRECT_URI_6=http://localhost:3002/sign-in-callback + - CLIENT_LOGOUT_REDIRECT_URI_6=http://localhost:3002/logout-callback + - CLIENT_SILENT_REDIRECT_URI_6=http://localhost:3002/silent-renew-callback + + - CLIENT_ID_7=griddyna-local + - CLIENT_REDIRECT_URI_7=http://localhost:3003/sign-in-callback + - CLIENT_LOGOUT_REDIRECT_URI_7=http://localhost:3003/logout-callback + - CLIENT_SILENT_REDIRECT_URI_7=http://localhost:3003/silent-renew-callback + + - CLIENT_ID_8=gridstudy-local + - CLIENT_REDIRECT_URI_8=http://localhost:3004/sign-in-callback + - CLIENT_LOGOUT_REDIRECT_URI_8=http://localhost:3004/logout-callback + - CLIENT_SILENT_REDIRECT_URI_8=http://localhost:3004/silent-renew-callback + depends_on: + logspout: + condition: "service_started" + required: false + restart: unless-stopped + + apps-metadata-server: + profiles: + - all + - suite + - study + - study-light + - dynamic-mapping + - dynamic-simulation + - import + image: bitnami/apache:2.4.55-debian-11-r3@sha256:bbe50190eb3bbf3be6f61318004480b3230846bfd52dec9286bd1862254c1719 + ports: + - 8070:8080 + volumes: + - ./apps-metadata.json:/opt/bitnami/apache/htdocs/apps-metadata.json:Z + - ../k8s/resources/common/config/apps-metadata-base-voltages.json:/opt/bitnami/apache/htdocs/apps-metadata-base-voltages.json:Z + - ./version.json:/opt/bitnami/apache/htdocs/version.json:Z + - ./gridapps-metadata-httpd.conf:/opt/bitnami/apache/conf/bitnami/bitnami.conf:Z + depends_on: + logspout: + condition: "service_started" + required: false + memswap_limit: 128m + deploy: + resources: + limits: + memory: 128m + restart: unless-stopped diff --git a/docker-compose/docker-compose.yml b/docker-compose/docker-compose.yml index 9de98c4b..01a17994 100644 --- a/docker-compose/docker-compose.yml +++ b/docker-compose/docker-compose.yml @@ -1,506 +1,6 @@ -version: '4.0' - include: - - ./technical/docker-compose.yml - - ./study/docker-compose.yml - - ./dynamic-mapping/docker-compose.yml - - ./monitor/docker-compose.yml - -services: - case-server: - profiles: - - all - - suite - - study - - study-light - - dynamic-mapping - - dynamic-simulation - - import - - monitor - image: powsybl/case-server:latest - ports: - - 5000:80 - volumes: - - ../k8s/resources/common/config/case-server-application.yml:/config/specific/application.yml:Z - - ../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z - depends_on: - logspout: - condition: "service_started" - required: false - restart: unless-stopped - environment: - - JAVA_TOOL_OPTIONS=-Xmx186m #deployment: 768m - command: > - --server.port=80 - --spring.config.additional-location=/config/ - --case-home=/ - sysctls: - - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 512m - deploy: - resources: - limits: - memory: 512m - - actions-server: - profiles: - - all - - suite - - study - - study-light - - dynamic-mapping - - dynamic-simulation - - import - - monitor - image: gridsuite/actions-server:latest - ports: - - 5022:80 - volumes: - - ../k8s/resources/common/config/actions-server-application.yml:/config/specific/application.yml:Z - - ../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z - restart: unless-stopped - depends_on: - logspout: - condition: "service_started" - required: false - environment: - - JAVA_TOOL_OPTIONS=-Xmx576m - command: --server.port=80 --spring.config.additional-location=/config/ - sysctls: - - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 1g - deploy: - resources: - limits: - memory: 1g - - filter-server: - profiles: - - all - - suite - - study - - study-light - - dynamic-mapping - - dynamic-simulation - - import - - monitor - image: gridsuite/filter-server:latest - ports: - - 5027:80 - volumes: - - ../k8s/resources/common/config/filter-server-application.yml:/config/specific/application.yml:Z - - ../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z - restart: unless-stopped - depends_on: - logspout: - condition: "service_started" - required: false - command: --server.port=80 --spring.config.additional-location=/config/ - sysctls: - - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - environment: - - JAVA_TOOL_OPTIONS=-Xmx576m - memswap_limit: 1g - deploy: - resources: - limits: - memory: 1g - - user-admin-server: - profiles: - - all - - suite - - study - - study-light - - dynamic-mapping - - dynamic-simulation - - import - image: gridsuite/user-admin-server:latest - ports: - - 5033:80 - volumes: - - ../k8s/resources/common/config/user-admin-server-application.yml:/config/specific/application.yml:Z - - ../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z - restart: unless-stopped - depends_on: - logspout: - condition: "service_started" - required: false - command: --server.port=80 --spring.config.additional-location=/config/ - sysctls: - - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - environment: - - JAVA_TOOL_OPTIONS=-Xmx96m - memswap_limit: 384m - deploy: - resources: - limits: - memory: 384m - - study-config-server: - profiles: - - all - - suite - - study - - study-light - - dynamic-mapping - - dynamic-simulation - - import - image: gridsuite/study-config-server:latest - ports: - - 5035:80 - volumes: - - ../k8s/resources/common/config/study-config-server-application.yml:/config/specific/application.yml:Z - - ../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z - restart: unless-stopped - depends_on: - logspout: - condition: "service_started" - required: false - command: --server.port=80 --spring.config.additional-location=/config/ - sysctls: - - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - environment: - - JAVA_TOOL_OPTIONS=-Xmx96m - memswap_limit: 384m - deploy: - resources: - limits: - memory: 384m - - user-identity-server: - profiles: - - all - - suite - - study - - study-light - - dynamic-mapping - - dynamic-simulation - - import - image: gridsuite/user-identity-oidc-replication-server:latest - ports: - - 5034:80 - volumes: - - ../k8s/resources/common/config/user-identity-oidc-replication-server-application.yml:/config/specific/application.yml:Z - - ../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z - restart: unless-stopped - depends_on: - logspout: - condition: "service_started" - required: false - command: --server.port=80 --spring.config.additional-location=/config/ - sysctls: - - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - environment: - - JAVA_TOOL_OPTIONS=-Xmx96m - memswap_limit: 384m - deploy: - resources: - limits: - memory: 384m - - report-server: - profiles: - - all - - suite - - study - - study-light - - dynamic-mapping - - dynamic-simulation - - import - - monitor - image: gridsuite/report-server:latest - ports: - - 5028:80 - volumes: - - ../k8s/resources/common/config/report-server-application.yml:/config/specific/application.yml:Z - - ../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z - restart: unless-stopped - depends_on: - logspout: - condition: "service_started" - required: false - command: --server.port=80 --spring.config.additional-location=/config/ - sysctls: - - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - environment: - - JAVA_TOOL_OPTIONS=-Xmx384m - memswap_limit: 768m - deploy: - resources: - limits: - memory: 768m - - network-store-server: - profiles: - - all - - suite - - study - - study-light - - dynamic-mapping - - dynamic-simulation - - import - image: powsybl/network-store-server:latest - ports: - - 8080:80 - volumes: - - ../k8s/resources/common/config/network-store-server-application.yml:/config/specific/application.yml:Z - - ../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z - restart: unless-stopped - depends_on: - logspout: - condition: "service_started" - required: false - environment: - - JAVA_TOOL_OPTIONS=-Xmx1086m #deployment: 1408m - command: --server.port=80 --spring.config.additional-location=/config/ - sysctls: - - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 1664m #deployment: 2048m - deploy: - resources: - limits: - memory: 1664m #deployment: 2048m - - network-conversion-server: - profiles: - - all - - suite - - study - - study-light - - dynamic-mapping - - dynamic-simulation - - import - image: powsybl/network-conversion-server:latest - ports: - - 5003:80 - volumes: - - ../k8s/resources/common/config/network-conversion-server-application.yml:/config/specific/application.yml:Z - - ../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z - - ../k8s/resources/common/config/network-conversion-server-config.yml:/home/powsybl/.itools/config.yml:Z - restart: unless-stopped - depends_on: - logspout: - condition: "service_started" - required: false - environment: - - JAVA_TOOL_OPTIONS=-Xmx768m #deployment: 1408m - command: --server.port=80 --spring.config.additional-location=/config/ - sysctls: - - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 1280m #deployment: 2048m - deploy: - resources: - limits: - memory: 1280m #deployment: 2048m - - loadflow-server: - profiles: - - all - - suite - - study - - study-light - - dynamic-mapping - - dynamic-simulation - - import - image: gridsuite/loadflow-server:latest - ports: - - 5008:80 - volumes: - - ../k8s/resources/common/config/loadflow-server-application.yml:/config/specific/application.yml:Z - - ../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z - - ../k8s/resources/common/config/loadflow-server-config.yml:/home/powsybl/.itools/config.yml:Z - restart: unless-stopped - depends_on: - logspout: - condition: "service_started" - required: false - environment: - - JAVA_TOOL_OPTIONS=-Xmx768m #deployment: 1408m - command: --server.port=80 --spring.config.additional-location=/config/ - sysctls: - - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 1792m #deployment: 3072m - deploy: - resources: - limits: - memory: 1792m #deployment: 3072m - - config-server: - profiles: - - all - - suite - - study - - study-light - - dynamic-mapping - - dynamic-simulation - - import - image: gridsuite/config-server:latest - ports: - - 5025:80 - volumes: - - ../k8s/resources/common/config/config-server-application.yml:/config/specific/application.yml:Z - - ../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z - restart: unless-stopped - environment: - - JAVA_TOOL_OPTIONS=-Xmx96m - command: --server.port=80 --spring.config.additional-location=/config/ - sysctls: - - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 384m - deploy: - resources: - limits: - memory: 384m - - config-notification-server: - profiles: - - all - - suite - - study - - study-light - - dynamic-mapping - - dynamic-simulation - - import - image: gridsuite/config-notification-server:latest - ports: - - 5024:80 - volumes: - - ../k8s/resources/common/config/config-notification-server-application.yml:/config/specific/application.yml:Z - - ../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z - restart: unless-stopped - environment: - - JAVA_TOOL_OPTIONS=-Xmx96m - command: --server.port=80 --spring.config.additional-location=/config/ - sysctls: - - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 384m - deploy: - resources: - limits: - memory: 384m - - gateway: - profiles: - - all - - suite - - study - - study-light - - dynamic-mapping - - dynamic-simulation - - import - image: gridsuite/gateway:latest - ports: - - 9000:80 - volumes: - - ../k8s/resources/common/config/gateway-application.yml:/config/specific/application.yml:Z - - ../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z - - ./allowed-issuers.yml:/config/allowed-issuers.yml:Z - restart: unless-stopped - depends_on: - logspout: - condition: "service_started" - required: false - environment: - - JAVA_TOOL_OPTIONS=-Xmx96m - command: --server.port=80 --spring.config.additional-location=/config/ - sysctls: - - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 384m - deploy: - resources: - limits: - memory: 384m - - mock-user-service: - profiles: - - all - - suite - - study - - study-light - - dynamic-mapping - - dynamic-simulation - - import - image: gridsuite/oidc-mock-server - ports: - - 9090:9090 - environment: - - PORT=9090 - - ISSUER_HOST=172.17.0.1:9090 - - USERS_PROFILE=UTILISATEURS|ADMIN|ADMIN_EXPLORE - - CLIENT_COUNT=8 - - # Client IDs for containers (grid*-app-idpSettings.json) - - CLIENT_ID=gridexplore-client - - CLIENT_REDIRECT_URI=http://localhost:80/sign-in-callback - - CLIENT_LOGOUT_REDIRECT_URI=http://localhost:80/logout-callback - - CLIENT_SILENT_REDIRECT_URI=http://localhost:80/silent-renew-callback - - - CLIENT_ID_2=gridadmin-client - - CLIENT_REDIRECT_URI_2=http://localhost:82/sign-in-callback - - CLIENT_LOGOUT_REDIRECT_URI_2=http://localhost:82/logout-callback - - CLIENT_SILENT_REDIRECT_URI_2=http://localhost:82/silent-renew-callback - - - CLIENT_ID_3=griddyna-client - - CLIENT_REDIRECT_URI_3=http://localhost:83/sign-in-callback - - CLIENT_LOGOUT_REDIRECT_URI_3=http://localhost:83/logout-callback - - CLIENT_SILENT_REDIRECT_URI_3=http://localhost:83/silent-renew-callback - - - CLIENT_ID_4=gridstudy-client - - CLIENT_REDIRECT_URI_4=http://localhost:84/sign-in-callback - - CLIENT_LOGOUT_REDIRECT_URI_4=http://localhost:84/logout-callback - - CLIENT_SILENT_REDIRECT_URI_4=http://localhost:84/silent-renew-callback - - # Client IDs for local dev (grid*-app/public/idpSettings.json) - - CLIENT_ID_5=gridexplore-local - - CLIENT_REDIRECT_URI_5=http://localhost:3000/sign-in-callback - - CLIENT_LOGOUT_REDIRECT_URI_5=http://localhost:3000/logout-callback - - CLIENT_SILENT_REDIRECT_URI_5=http://localhost:3000/silent-renew-callback - - - CLIENT_ID_6=gridadmin-local - - CLIENT_REDIRECT_URI_6=http://localhost:3002/sign-in-callback - - CLIENT_LOGOUT_REDIRECT_URI_6=http://localhost:3002/logout-callback - - CLIENT_SILENT_REDIRECT_URI_6=http://localhost:3002/silent-renew-callback - - - CLIENT_ID_7=griddyna-local - - CLIENT_REDIRECT_URI_7=http://localhost:3003/sign-in-callback - - CLIENT_LOGOUT_REDIRECT_URI_7=http://localhost:3003/logout-callback - - CLIENT_SILENT_REDIRECT_URI_7=http://localhost:3003/silent-renew-callback - - - CLIENT_ID_8=gridstudy-local - - CLIENT_REDIRECT_URI_8=http://localhost:3004/sign-in-callback - - CLIENT_LOGOUT_REDIRECT_URI_8=http://localhost:3004/logout-callback - - CLIENT_SILENT_REDIRECT_URI_8=http://localhost:3004/silent-renew-callback - depends_on: - logspout: - condition: "service_started" - required: false - restart: unless-stopped - - apps-metadata-server: - profiles: - - all - - suite - - study - - study-light - - dynamic-mapping - - dynamic-simulation - - import - image: bitnami/apache:2.4.55-debian-11-r3@sha256:bbe50190eb3bbf3be6f61318004480b3230846bfd52dec9286bd1862254c1719 - ports: - - 8070:8080 - volumes: - - ./apps-metadata.json:/opt/bitnami/apache/htdocs/apps-metadata.json:Z - - ../k8s/resources/common/config/apps-metadata-base-voltages.json:/opt/bitnami/apache/htdocs/apps-metadata-base-voltages.json:Z - - ./version.json:/opt/bitnami/apache/htdocs/version.json:Z - - ./gridapps-metadata-httpd.conf:/opt/bitnami/apache/conf/bitnami/bitnami.conf:Z - depends_on: - logspout: - condition: "service_started" - required: false - memswap_limit: 128m - deploy: - resources: - limits: - memory: 128m - restart: unless-stopped + - technical/docker-compose.technical.yml + - dynamic-mapping/docker-compose.dynamic-mapping.yml + - monitor/docker-compose.monitor.yml + - study/docker-compose.study.yml + - docker-compose.base.yml \ No newline at end of file diff --git a/docker-compose/dynamic-mapping/.env b/docker-compose/dynamic-mapping/.env new file mode 100644 index 00000000..448e7ee4 --- /dev/null +++ b/docker-compose/dynamic-mapping/.env @@ -0,0 +1,2 @@ +COMPOSE_PROJECT_NAME=gridsuite +COMPOSE_PROFILES=dynamic-mapping \ No newline at end of file diff --git a/docker-compose/dynamic-mapping/docker-compose.dynamic-mapping.yml b/docker-compose/dynamic-mapping/docker-compose.dynamic-mapping.yml new file mode 100644 index 00000000..74a32790 --- /dev/null +++ b/docker-compose/dynamic-mapping/docker-compose.dynamic-mapping.yml @@ -0,0 +1,53 @@ +version: '4.0' + +services: + griddyna-app: + profiles: + - all + - suite + - dynamic-mapping + - dynamic-simulation + image: gridsuite/griddyna-app:latest + ports: + - 83:8080 + volumes: + - ./griddyna-app-idpSettings.json:/opt/bitnami/apache/htdocs/griddyna/idpSettings.json:Z + - ../env.json:/opt/bitnami/apache/htdocs/griddyna/env.json:Z + depends_on: + logspout: + condition: "service_started" + required: false + memswap_limit: 128m + deploy: + resources: + limits: + memory: 128m + restart: unless-stopped + + dynamic-mapping-server: + profiles: + - all + - suite + - dynamic-mapping + - dynamic-simulation + image: gridsuite/dynamic-mapping-server:latest + ports: + - 5036:80 + volumes: + - ../../k8s/resources/dynamic-mapping/config/dynamic-mapping-server-application.yml:/config/specific/application.yml:Z + - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + restart: unless-stopped + depends_on: + logspout: + condition: "service_started" + required: false + environment: + - JAVA_TOOL_OPTIONS=-Xmx576m + command: --server.port=80 --spring.config.additional-location=/config/ + sysctls: + - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 + memswap_limit: 1g + deploy: + resources: + limits: + memory: 1g \ No newline at end of file diff --git a/docker-compose/dynamic-mapping/docker-compose.yml b/docker-compose/dynamic-mapping/docker-compose.yml index 74a32790..00e4e96c 100644 --- a/docker-compose/dynamic-mapping/docker-compose.yml +++ b/docker-compose/dynamic-mapping/docker-compose.yml @@ -1,53 +1,4 @@ -version: '4.0' - -services: - griddyna-app: - profiles: - - all - - suite - - dynamic-mapping - - dynamic-simulation - image: gridsuite/griddyna-app:latest - ports: - - 83:8080 - volumes: - - ./griddyna-app-idpSettings.json:/opt/bitnami/apache/htdocs/griddyna/idpSettings.json:Z - - ../env.json:/opt/bitnami/apache/htdocs/griddyna/env.json:Z - depends_on: - logspout: - condition: "service_started" - required: false - memswap_limit: 128m - deploy: - resources: - limits: - memory: 128m - restart: unless-stopped - - dynamic-mapping-server: - profiles: - - all - - suite - - dynamic-mapping - - dynamic-simulation - image: gridsuite/dynamic-mapping-server:latest - ports: - - 5036:80 - volumes: - - ../../k8s/resources/dynamic-mapping/config/dynamic-mapping-server-application.yml:/config/specific/application.yml:Z - - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z - restart: unless-stopped - depends_on: - logspout: - condition: "service_started" - required: false - environment: - - JAVA_TOOL_OPTIONS=-Xmx576m - command: --server.port=80 --spring.config.additional-location=/config/ - sysctls: - - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 1g - deploy: - resources: - limits: - memory: 1g \ No newline at end of file +include: + - ../docker-compose.base.yml + - ../technical/docker-compose.technical.yml + - docker-compose.dynamic-mapping.yml \ No newline at end of file diff --git a/docker-compose/monitor/.env b/docker-compose/monitor/.env new file mode 100644 index 00000000..e817049f --- /dev/null +++ b/docker-compose/monitor/.env @@ -0,0 +1,2 @@ +COMPOSE_PROJECT_NAME=gridsuite +COMPOSE_PROFILES=monitor \ No newline at end of file diff --git a/docker-compose/monitor/docker-compose.monitor.yml b/docker-compose/monitor/docker-compose.monitor.yml new file mode 100644 index 00000000..bdd231fe --- /dev/null +++ b/docker-compose/monitor/docker-compose.monitor.yml @@ -0,0 +1,45 @@ +version: '4.0' + +services: + monitor-server: + profiles: + - all + - monitor + image: gridsuite/monitor-server:latest + ports: + - 5043:80 + volumes: + - ../../k8s/resources/monitor/config/monitor-server-application.yml:/config/specific/application.yml:Z + - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + restart: unless-stopped + environment: + - JAVA_TOOL_OPTIONS=-Xmx96m + command: --server.port=80 --spring.config.additional-location=/config/ + sysctls: + - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 + memswap_limit: 384m + deploy: + resources: + limits: + memory: 384m + + monitor-sa-worker-server: + profiles: + - all + - monitor + image: gridsuite/monitor-worker-server:latest + volumes: + - ../../k8s/resources/monitor/config/monitor-sa-worker-server-application.yml:/config/specific/application.yml:Z + - ../../k8s/resources/monitor/config/monitor-sa-worker-server-config.yml:/home/powsybl/.itools/config.yml:Z + - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + restart: unless-stopped + environment: + - JAVA_TOOL_OPTIONS=-Xmx1086m #deployment: 3072m + command: --server.port=80 --spring.config.additional-location=/config/ + sysctls: + - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 + memswap_limit: 1792m #deployment: 5632m + deploy: + resources: + limits: + memory: 1792m #deployment: 5632m diff --git a/docker-compose/monitor/docker-compose.yml b/docker-compose/monitor/docker-compose.yml index bdd231fe..865eafd8 100644 --- a/docker-compose/monitor/docker-compose.yml +++ b/docker-compose/monitor/docker-compose.yml @@ -1,45 +1,4 @@ -version: '4.0' - -services: - monitor-server: - profiles: - - all - - monitor - image: gridsuite/monitor-server:latest - ports: - - 5043:80 - volumes: - - ../../k8s/resources/monitor/config/monitor-server-application.yml:/config/specific/application.yml:Z - - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z - restart: unless-stopped - environment: - - JAVA_TOOL_OPTIONS=-Xmx96m - command: --server.port=80 --spring.config.additional-location=/config/ - sysctls: - - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 384m - deploy: - resources: - limits: - memory: 384m - - monitor-sa-worker-server: - profiles: - - all - - monitor - image: gridsuite/monitor-worker-server:latest - volumes: - - ../../k8s/resources/monitor/config/monitor-sa-worker-server-application.yml:/config/specific/application.yml:Z - - ../../k8s/resources/monitor/config/monitor-sa-worker-server-config.yml:/home/powsybl/.itools/config.yml:Z - - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z - restart: unless-stopped - environment: - - JAVA_TOOL_OPTIONS=-Xmx1086m #deployment: 3072m - command: --server.port=80 --spring.config.additional-location=/config/ - sysctls: - - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 1792m #deployment: 5632m - deploy: - resources: - limits: - memory: 1792m #deployment: 5632m +include: + - ../docker-compose.base.yml + - ../technical/docker-compose.technical.yml + - docker-compose.monitor.yml \ No newline at end of file diff --git a/docker-compose/study/.env b/docker-compose/study/.env new file mode 100644 index 00000000..f344d651 --- /dev/null +++ b/docker-compose/study/.env @@ -0,0 +1,2 @@ +COMPOSE_PROJECT_NAME=gridsuite +COMPOSE_PROFILES=study \ No newline at end of file diff --git a/docker-compose/study/docker-compose.study.yml b/docker-compose/study/docker-compose.study.yml new file mode 100644 index 00000000..1fe73d91 --- /dev/null +++ b/docker-compose/study/docker-compose.study.yml @@ -0,0 +1,626 @@ +version: '4.0' + +services: + study-server: + profiles: + - all + - suite + - study + - study-light + - dynamic-simulation + image: gridsuite/study-server:latest + ports: + - 5001:80 + volumes: + - ../../k8s/resources/study/config/study-server-application.yml:/config/specific/application.yml:Z + - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + restart: unless-stopped + depends_on: + logspout: + condition: "service_started" + required: false + environment: + - JAVA_TOOL_OPTIONS=-Xmx576m + command: --server.port=80 --spring.config.additional-location=/config/ + sysctls: + - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 + memswap_limit: 1g + deploy: + resources: + limits: + memory: 1g + + geo-data-server: + profiles: + - all + - suite + - study + - study-light + - dynamic-simulation + image: gridsuite/geo-data-server:latest + ports: + - 8087:80 + volumes: + - ../../k8s/resources/study/config/geo-data-server-application.yml:/config/specific/application.yml:Z + - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + restart: unless-stopped + depends_on: + logspout: + condition: "service_started" + required: false + environment: + - JAVA_TOOL_OPTIONS=-Xmx576m + command: --server.port=80 --spring.config.additional-location=/config/ + sysctls: + - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 + memswap_limit: 1g + deploy: + resources: + limits: + memory: 1g + + single-line-diagram-server: + profiles: + - all + - suite + - study + - study-light + - dynamic-simulation + image: powsybl/single-line-diagram-server:latest + ports: + - 5005:80 + volumes: + - ../../k8s/resources/study/config/single-line-diagram-server-application.yml:/config/specific/application.yml:Z + - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + restart: unless-stopped + depends_on: + logspout: + condition: "service_started" + required: false + environment: + - JAVA_TOOL_OPTIONS=-Xmx384m #deployment: 576m + command: --server.port=80 --spring.config.additional-location=/config/ + sysctls: + - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 + memswap_limit: 768m #deployment: 1024m + deploy: + resources: + limits: + memory: 768m #deployment: 1024m + + network-modification-server: + profiles: + - all + - suite + - study + - study-light + - dynamic-simulation + - monitor + image: gridsuite/network-modification-server:latest + ports: + - 5007:80 + volumes: + - ../../k8s/resources/study/config/network-modification-server-application.yml:/config/specific/application.yml:Z + - ../../k8s/resources/study/config/network-modification-server-config.yml:/home/powsybl/.itools/config.yml:Z + - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + restart: unless-stopped + depends_on: + logspout: + condition: "service_started" + required: false + environment: + - JAVA_TOOL_OPTIONS=-Xmx768m #deployment: 1086m + command: --server.port=80 --spring.config.additional-location=/config/ + sysctls: + - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 + memswap_limit: 1280m #deployment: 1664m + deploy: + resources: + limits: + memory: 1280m #deployment: 1664m + + study-notification-server: + profiles: + - all + - suite + - study + - study-light + - dynamic-simulation + image: gridsuite/study-notification-server:latest + ports: + - 5009:80 + volumes: + - ../../k8s/resources/study/config/study-notification-server-application.yml:/config/specific/application.yml:Z + - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + restart: unless-stopped + depends_on: + logspout: + condition: "service_started" + required: false + environment: + - JAVA_TOOL_OPTIONS=-Xmx96m + command: --server.port=80 --spring.config.additional-location=/config/ + sysctls: + - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 + memswap_limit: 384m + deploy: + resources: + limits: + memory: 384m + + directory-notification-server: + profiles: + - all + - suite + - study + - study-light + - dynamic-simulation + image: gridsuite/directory-notification-server:latest + ports: + - 5004:80 + volumes: + - ../../k8s/resources/study/config/directory-notification-server-application.yml:/config/specific/application.yml:Z + - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + restart: unless-stopped + depends_on: + logspout: + condition: "service_started" + required: false + environment: + - JAVA_TOOL_OPTIONS=-Xmx96m + command: --server.port=80 --spring.config.additional-location=/config/ + sysctls: + - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 + memswap_limit: 384m + deploy: + resources: + limits: + memory: 384m + + network-map-server: + profiles: + - all + - suite + - study + - study-light + - dynamic-simulation + image: gridsuite/network-map-server:latest + ports: + - 5006:80 + volumes: + - ../../k8s/resources/study/config/network-map-server-application.yml:/config/specific/application.yml:Z + - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + restart: unless-stopped + depends_on: + logspout: + condition: "service_started" + required: false + environment: + - JAVA_TOOL_OPTIONS=-Xmx576m #deployment: 768m + command: --server.port=80 --spring.config.additional-location=/config/ + sysctls: + - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 + memswap_limit: 1g #deployment: 1280m + deploy: + resources: + limits: + memory: 1g #deployment: 1280m + + cgmes-gl-server: + profiles: + - all + - suite + - study + image: gridsuite/cgmes-gl-server:latest + ports: + - 8095:80 + volumes: + - ../../k8s/resources/study/config/cgmes-gl-server-application.yml:/config/specific/application.yml:Z + - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + restart: unless-stopped + depends_on: + logspout: + condition: "service_started" + required: false + environment: + - JAVA_TOOL_OPTIONS=-Xmx96m + command: --server.port=80 --spring.config.additional-location=/config/ + sysctls: + - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 + memswap_limit: 384m + deploy: + resources: + limits: + memory: 384m + + odre-server: + profiles: + - all + - suite + - study + image: gridsuite/odre-server:latest + ports: + - 8090:80 + volumes: + - ../../k8s/resources/study/config/odre-server-application.yml:/config/specific/application.yml:Z + - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + restart: unless-stopped + depends_on: + logspout: + condition: "service_started" + required: false + environment: + - JAVA_TOOL_OPTIONS=-Xmx768m + command: --server.port=80 --spring.config.additional-location=/config/ + sysctls: + - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 + memswap_limit: 1.25g + deploy: + resources: + limits: + memory: 1.25g + + gridstudy-app: + profiles: + - all + - suite + - study + - dynamic-simulation + image: gridsuite/gridstudy-app:latest + ports: + - 84:8080 + volumes: + - ./gridstudy-app-idpSettings.json:/opt/bitnami/apache/htdocs/gridstudy/idpSettings.json:Z + - ../env.json:/opt/bitnami/apache/htdocs/gridstudy/env.json:Z + depends_on: + logspout: + condition: "service_started" + required: false + memswap_limit: 128m + deploy: + resources: + limits: + memory: 128m + restart: unless-stopped + + security-analysis-server: + profiles: + - all + - suite + - study + - monitor + image: gridsuite/security-analysis-server:latest + ports: + - 5023:80 + volumes: + - ../../k8s/resources/study/config/security-analysis-server-application.yml:/config/specific/application.yml:Z + - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + - ../../k8s/resources/study/config/security-analysis-server-config.yml:/home/powsybl/.itools/config.yml:Z + restart: unless-stopped + depends_on: + logspout: + condition: "service_started" + required: false + environment: + - JAVA_TOOL_OPTIONS=-Xmx1086m #deployment: 3072m + command: --server.port=80 --spring.config.additional-location=/config/ + sysctls: + - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 + memswap_limit: 1792m #deployment: 5632m + deploy: + resources: + limits: + memory: 1792m #deployment: 5632m + + dynamic-simulation-server: + profiles: + - all + - suite + - dynamic-simulation + image: gridsuite/dynamic-simulation-server:latest + ports: + - 5032:80 + volumes: + - ../../k8s/resources/study/config/dynamic-simulation-server-application.yml:/config/specific/application.yml:Z + - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + - ../../k8s/resources/study/config/dynawo-itools-config.yml:/home/powsybl/.itools/config.yml:Z + restart: unless-stopped + environment: + - JAVA_TOOL_OPTIONS=-Xmx768m + command: --server.port=80 --spring.config.additional-location=/config/ + sysctls: + - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 + memswap_limit: 1792m + deploy: + resources: + limits: + memory: 1792m + + dynamic-security-analysis-server: + profiles: + - all + - suite + - dynamic-simulation + image: gridsuite/dynamic-security-analysis-server:latest + ports: + - 5040:80 + volumes: + - ../../k8s/resources/study/config/dynamic-security-analysis-server-application.yml:/config/specific/application.yml:Z + - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + - ../../k8s/resources/study/config/dynawo-itools-config.yml:/home/powsybl/.itools/config.yml:Z + restart: unless-stopped + environment: + - JAVA_TOOL_OPTIONS=-Xmx768m + command: --server.port=80 --spring.config.additional-location=/config/ + sysctls: + - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 + memswap_limit: 1792m + deploy: + resources: + limits: + memory: 1792m + + dynamic-margin-calculation-server: + profiles: + - all + - suite + - dynamic-simulation + image: gridsuite/dynamic-margin-calculation-server:latest + ports: + - 5041:80 + volumes: + - ../../k8s/resources/study/config/dynamic-margin-calculation-server-application.yml:/config/specific/application.yml:Z + - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + - ../../k8s/resources/study/config/dynawo-itools-config.yml:/home/powsybl/.itools/config.yml:Z + restart: unless-stopped + environment: + - JAVA_TOOL_OPTIONS=-Xmx768m + command: --server.port=80 --spring.config.additional-location=/config/ + sysctls: + - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 + memswap_limit: 1792m + deploy: + resources: + limits: + memory: 1792m + + directory-server: + profiles: + - all + - suite + - study + - study-light + - dynamic-simulation + image: gridsuite/directory-server:latest + ports: + - 5026:80 + volumes: + - ../../k8s/resources/study/config/directory-server-application.yml:/config/specific/application.yml:Z + - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + restart: unless-stopped + depends_on: + logspout: + condition: "service_started" + required: false + environment: + - JAVA_TOOL_OPTIONS=-Xmx186m # not used by the native image + command: --server.port=80 --spring.config.additional-location=/config/ + sysctls: + - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 + memswap_limit: 512m + deploy: + resources: + limits: + memory: 512m + + gridexplore-app: + profiles: + - all + - suite + - study + - study-light + - dynamic-simulation + image: gridsuite/gridexplore-app:latest + ports: + - 80:8080 + volumes: + - ./gridexplore-app-idpSettings.json:/opt/bitnami/apache/htdocs/gridexplore/idpSettings.json:Z + - ../env.json:/opt/bitnami/apache/htdocs/gridexplore/env.json:Z + depends_on: + logspout: + condition: "service_started" + required: false + memswap_limit: 128m + deploy: + resources: + limits: + memory: 128m + restart: unless-stopped + + explore-server: + profiles: + - all + - suite + - study + - study-light + - dynamic-simulation + image: gridsuite/explore-server:latest + ports: + - 5029:80 + volumes: + - ../../k8s/resources/study/config/explore-server-application.yml:/config/specific/application.yml:Z + - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + restart: unless-stopped + depends_on: + logspout: + condition: "service_started" + required: false + environment: + - JAVA_TOOL_OPTIONS=-Xmx384m + command: --server.port=80 --spring.config.additional-location=/config/ + sysctls: + - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 + memswap_limit: 768m + deploy: + resources: + limits: + memory: 768m + + sensitivity-analysis-server: + profiles: + - all + - suite + - study + image: gridsuite/sensitivity-analysis-server:latest + ports: + - 5030:80 + volumes: + - ../../k8s/resources/study/config/sensitivity-analysis-server-application.yml:/config/specific/application.yml:Z + - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + - ../../k8s/resources/study/config/sensitivity-analysis-server-config.yml:/home/powsybl/.itools/config.yml:Z + restart: unless-stopped + depends_on: + logspout: + condition: "service_started" + required: false + environment: + - JAVA_TOOL_OPTIONS=-Xmx768m #deployment: 1408m + command: --server.port=80 --spring.config.additional-location=/config/ + sysctls: + - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 + memswap_limit: 1792m #deployment: 3072m + deploy: + resources: + limits: + memory: 1792m #deployment: 3072m + + shortcircuit-server: + profiles: + - all + - suite + - study + image: gridsuite/shortcircuit-server:latest + ports: + - 5031:80 + volumes: + - ../../k8s/resources/study/config/shortcircuit-server-application.yml:/config/specific/application.yml:Z + - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + - ../../k8s/resources/study/config/shortcircuit-server-config.yml:/home/powsybl/.itools/config.yml:Z + restart: unless-stopped + depends_on: + logspout: + condition: "service_started" + required: false + environment: + - JAVA_TOOL_OPTIONS=-Xmx768m + command: --server.port=80 --spring.config.additional-location=/config/ + sysctls: + - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 + memswap_limit: 1792m + deploy: + resources: + limits: + memory: 1792m + + timeseries-server: + profiles: + - all + - suite + - dynamic-simulation + image: gridsuite/timeseries-server:latest + ports: + - 5037:80 + volumes: + - ../../k8s/resources/study/config/timeseries-server-application.yml:/config/specific/application.yml:Z + - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + restart: unless-stopped + depends_on: + logspout: + condition: "service_started" + required: false + environment: + - JAVA_TOOL_OPTIONS=-Xmx576m + command: --server.port=80 --spring.config.additional-location=/config/ + sysctls: + - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 + memswap_limit: 1g + deploy: + resources: + limits: + memory: 1g + + voltage-init-server: + profiles: + - all + - suite + - study + image: gridsuite/voltage-init-server:latest + ports: + - 5038:80 + volumes: + - ../../k8s/resources/study/config/voltage-init-server-application.yml:/config/specific/application.yml:Z + - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + - ../../k8s/resources/study/config/voltage-init-server-config.yml:/home/powsybl/.itools/config.yml:Z + restart: unless-stopped + depends_on: + logspout: + condition: "service_started" + required: false + environment: + - JAVA_TOOL_OPTIONS=-Xmx768m #deployment: -Xmx1086m + command: --server.port=80 --spring.config.additional-location=/config/ + sysctls: + - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 + memswap_limit: 1792m #deployment: 2432m + deploy: + resources: + limits: + memory: 1792m #deployment: 2432m + + #just here for dev purpose, we don't want to start with this profile unless we need to. + case-import-server: + profiles: + - all + - import + image: gridsuite/case-import-server:latest + ports: + - 5039:80 + volumes: + - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z + restart: unless-stopped + depends_on: + logspout: + condition: "service_started" + required: false + environment: + - JAVA_TOOL_OPTIONS=-Xmx96m + command: --server.port=80 --spring.config.additional-location=/config/ + sysctls: + - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 + memswap_limit: 384m + deploy: + resources: + limits: + memory: 384m + + gridadmin-app: + profiles: + - all + - suite + - study + image: gridsuite/gridadmin-app:latest + ports: + - 82:8080 + volumes: + - ./gridadmin-app-idpSettings.json:/opt/bitnami/apache/htdocs/gridadmin/idpSettings.json:Z + - ../env.json:/opt/bitnami/apache/htdocs/gridadmin/env.json:Z + depends_on: + logspout: + condition: "service_started" + required: false + memswap_limit: 128m + deploy: + resources: + limits: + memory: 128m + restart: unless-stopped diff --git a/docker-compose/study/docker-compose.yml b/docker-compose/study/docker-compose.yml index 1fe73d91..10b769af 100644 --- a/docker-compose/study/docker-compose.yml +++ b/docker-compose/study/docker-compose.yml @@ -1,626 +1,4 @@ -version: '4.0' - -services: - study-server: - profiles: - - all - - suite - - study - - study-light - - dynamic-simulation - image: gridsuite/study-server:latest - ports: - - 5001:80 - volumes: - - ../../k8s/resources/study/config/study-server-application.yml:/config/specific/application.yml:Z - - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z - restart: unless-stopped - depends_on: - logspout: - condition: "service_started" - required: false - environment: - - JAVA_TOOL_OPTIONS=-Xmx576m - command: --server.port=80 --spring.config.additional-location=/config/ - sysctls: - - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 1g - deploy: - resources: - limits: - memory: 1g - - geo-data-server: - profiles: - - all - - suite - - study - - study-light - - dynamic-simulation - image: gridsuite/geo-data-server:latest - ports: - - 8087:80 - volumes: - - ../../k8s/resources/study/config/geo-data-server-application.yml:/config/specific/application.yml:Z - - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z - restart: unless-stopped - depends_on: - logspout: - condition: "service_started" - required: false - environment: - - JAVA_TOOL_OPTIONS=-Xmx576m - command: --server.port=80 --spring.config.additional-location=/config/ - sysctls: - - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 1g - deploy: - resources: - limits: - memory: 1g - - single-line-diagram-server: - profiles: - - all - - suite - - study - - study-light - - dynamic-simulation - image: powsybl/single-line-diagram-server:latest - ports: - - 5005:80 - volumes: - - ../../k8s/resources/study/config/single-line-diagram-server-application.yml:/config/specific/application.yml:Z - - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z - restart: unless-stopped - depends_on: - logspout: - condition: "service_started" - required: false - environment: - - JAVA_TOOL_OPTIONS=-Xmx384m #deployment: 576m - command: --server.port=80 --spring.config.additional-location=/config/ - sysctls: - - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 768m #deployment: 1024m - deploy: - resources: - limits: - memory: 768m #deployment: 1024m - - network-modification-server: - profiles: - - all - - suite - - study - - study-light - - dynamic-simulation - - monitor - image: gridsuite/network-modification-server:latest - ports: - - 5007:80 - volumes: - - ../../k8s/resources/study/config/network-modification-server-application.yml:/config/specific/application.yml:Z - - ../../k8s/resources/study/config/network-modification-server-config.yml:/home/powsybl/.itools/config.yml:Z - - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z - restart: unless-stopped - depends_on: - logspout: - condition: "service_started" - required: false - environment: - - JAVA_TOOL_OPTIONS=-Xmx768m #deployment: 1086m - command: --server.port=80 --spring.config.additional-location=/config/ - sysctls: - - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 1280m #deployment: 1664m - deploy: - resources: - limits: - memory: 1280m #deployment: 1664m - - study-notification-server: - profiles: - - all - - suite - - study - - study-light - - dynamic-simulation - image: gridsuite/study-notification-server:latest - ports: - - 5009:80 - volumes: - - ../../k8s/resources/study/config/study-notification-server-application.yml:/config/specific/application.yml:Z - - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z - restart: unless-stopped - depends_on: - logspout: - condition: "service_started" - required: false - environment: - - JAVA_TOOL_OPTIONS=-Xmx96m - command: --server.port=80 --spring.config.additional-location=/config/ - sysctls: - - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 384m - deploy: - resources: - limits: - memory: 384m - - directory-notification-server: - profiles: - - all - - suite - - study - - study-light - - dynamic-simulation - image: gridsuite/directory-notification-server:latest - ports: - - 5004:80 - volumes: - - ../../k8s/resources/study/config/directory-notification-server-application.yml:/config/specific/application.yml:Z - - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z - restart: unless-stopped - depends_on: - logspout: - condition: "service_started" - required: false - environment: - - JAVA_TOOL_OPTIONS=-Xmx96m - command: --server.port=80 --spring.config.additional-location=/config/ - sysctls: - - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 384m - deploy: - resources: - limits: - memory: 384m - - network-map-server: - profiles: - - all - - suite - - study - - study-light - - dynamic-simulation - image: gridsuite/network-map-server:latest - ports: - - 5006:80 - volumes: - - ../../k8s/resources/study/config/network-map-server-application.yml:/config/specific/application.yml:Z - - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z - restart: unless-stopped - depends_on: - logspout: - condition: "service_started" - required: false - environment: - - JAVA_TOOL_OPTIONS=-Xmx576m #deployment: 768m - command: --server.port=80 --spring.config.additional-location=/config/ - sysctls: - - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 1g #deployment: 1280m - deploy: - resources: - limits: - memory: 1g #deployment: 1280m - - cgmes-gl-server: - profiles: - - all - - suite - - study - image: gridsuite/cgmes-gl-server:latest - ports: - - 8095:80 - volumes: - - ../../k8s/resources/study/config/cgmes-gl-server-application.yml:/config/specific/application.yml:Z - - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z - restart: unless-stopped - depends_on: - logspout: - condition: "service_started" - required: false - environment: - - JAVA_TOOL_OPTIONS=-Xmx96m - command: --server.port=80 --spring.config.additional-location=/config/ - sysctls: - - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 384m - deploy: - resources: - limits: - memory: 384m - - odre-server: - profiles: - - all - - suite - - study - image: gridsuite/odre-server:latest - ports: - - 8090:80 - volumes: - - ../../k8s/resources/study/config/odre-server-application.yml:/config/specific/application.yml:Z - - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z - restart: unless-stopped - depends_on: - logspout: - condition: "service_started" - required: false - environment: - - JAVA_TOOL_OPTIONS=-Xmx768m - command: --server.port=80 --spring.config.additional-location=/config/ - sysctls: - - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 1.25g - deploy: - resources: - limits: - memory: 1.25g - - gridstudy-app: - profiles: - - all - - suite - - study - - dynamic-simulation - image: gridsuite/gridstudy-app:latest - ports: - - 84:8080 - volumes: - - ./gridstudy-app-idpSettings.json:/opt/bitnami/apache/htdocs/gridstudy/idpSettings.json:Z - - ../env.json:/opt/bitnami/apache/htdocs/gridstudy/env.json:Z - depends_on: - logspout: - condition: "service_started" - required: false - memswap_limit: 128m - deploy: - resources: - limits: - memory: 128m - restart: unless-stopped - - security-analysis-server: - profiles: - - all - - suite - - study - - monitor - image: gridsuite/security-analysis-server:latest - ports: - - 5023:80 - volumes: - - ../../k8s/resources/study/config/security-analysis-server-application.yml:/config/specific/application.yml:Z - - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z - - ../../k8s/resources/study/config/security-analysis-server-config.yml:/home/powsybl/.itools/config.yml:Z - restart: unless-stopped - depends_on: - logspout: - condition: "service_started" - required: false - environment: - - JAVA_TOOL_OPTIONS=-Xmx1086m #deployment: 3072m - command: --server.port=80 --spring.config.additional-location=/config/ - sysctls: - - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 1792m #deployment: 5632m - deploy: - resources: - limits: - memory: 1792m #deployment: 5632m - - dynamic-simulation-server: - profiles: - - all - - suite - - dynamic-simulation - image: gridsuite/dynamic-simulation-server:latest - ports: - - 5032:80 - volumes: - - ../../k8s/resources/study/config/dynamic-simulation-server-application.yml:/config/specific/application.yml:Z - - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z - - ../../k8s/resources/study/config/dynawo-itools-config.yml:/home/powsybl/.itools/config.yml:Z - restart: unless-stopped - environment: - - JAVA_TOOL_OPTIONS=-Xmx768m - command: --server.port=80 --spring.config.additional-location=/config/ - sysctls: - - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 1792m - deploy: - resources: - limits: - memory: 1792m - - dynamic-security-analysis-server: - profiles: - - all - - suite - - dynamic-simulation - image: gridsuite/dynamic-security-analysis-server:latest - ports: - - 5040:80 - volumes: - - ../../k8s/resources/study/config/dynamic-security-analysis-server-application.yml:/config/specific/application.yml:Z - - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z - - ../../k8s/resources/study/config/dynawo-itools-config.yml:/home/powsybl/.itools/config.yml:Z - restart: unless-stopped - environment: - - JAVA_TOOL_OPTIONS=-Xmx768m - command: --server.port=80 --spring.config.additional-location=/config/ - sysctls: - - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 1792m - deploy: - resources: - limits: - memory: 1792m - - dynamic-margin-calculation-server: - profiles: - - all - - suite - - dynamic-simulation - image: gridsuite/dynamic-margin-calculation-server:latest - ports: - - 5041:80 - volumes: - - ../../k8s/resources/study/config/dynamic-margin-calculation-server-application.yml:/config/specific/application.yml:Z - - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z - - ../../k8s/resources/study/config/dynawo-itools-config.yml:/home/powsybl/.itools/config.yml:Z - restart: unless-stopped - environment: - - JAVA_TOOL_OPTIONS=-Xmx768m - command: --server.port=80 --spring.config.additional-location=/config/ - sysctls: - - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 1792m - deploy: - resources: - limits: - memory: 1792m - - directory-server: - profiles: - - all - - suite - - study - - study-light - - dynamic-simulation - image: gridsuite/directory-server:latest - ports: - - 5026:80 - volumes: - - ../../k8s/resources/study/config/directory-server-application.yml:/config/specific/application.yml:Z - - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z - restart: unless-stopped - depends_on: - logspout: - condition: "service_started" - required: false - environment: - - JAVA_TOOL_OPTIONS=-Xmx186m # not used by the native image - command: --server.port=80 --spring.config.additional-location=/config/ - sysctls: - - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 512m - deploy: - resources: - limits: - memory: 512m - - gridexplore-app: - profiles: - - all - - suite - - study - - study-light - - dynamic-simulation - image: gridsuite/gridexplore-app:latest - ports: - - 80:8080 - volumes: - - ./gridexplore-app-idpSettings.json:/opt/bitnami/apache/htdocs/gridexplore/idpSettings.json:Z - - ../env.json:/opt/bitnami/apache/htdocs/gridexplore/env.json:Z - depends_on: - logspout: - condition: "service_started" - required: false - memswap_limit: 128m - deploy: - resources: - limits: - memory: 128m - restart: unless-stopped - - explore-server: - profiles: - - all - - suite - - study - - study-light - - dynamic-simulation - image: gridsuite/explore-server:latest - ports: - - 5029:80 - volumes: - - ../../k8s/resources/study/config/explore-server-application.yml:/config/specific/application.yml:Z - - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z - restart: unless-stopped - depends_on: - logspout: - condition: "service_started" - required: false - environment: - - JAVA_TOOL_OPTIONS=-Xmx384m - command: --server.port=80 --spring.config.additional-location=/config/ - sysctls: - - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 768m - deploy: - resources: - limits: - memory: 768m - - sensitivity-analysis-server: - profiles: - - all - - suite - - study - image: gridsuite/sensitivity-analysis-server:latest - ports: - - 5030:80 - volumes: - - ../../k8s/resources/study/config/sensitivity-analysis-server-application.yml:/config/specific/application.yml:Z - - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z - - ../../k8s/resources/study/config/sensitivity-analysis-server-config.yml:/home/powsybl/.itools/config.yml:Z - restart: unless-stopped - depends_on: - logspout: - condition: "service_started" - required: false - environment: - - JAVA_TOOL_OPTIONS=-Xmx768m #deployment: 1408m - command: --server.port=80 --spring.config.additional-location=/config/ - sysctls: - - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 1792m #deployment: 3072m - deploy: - resources: - limits: - memory: 1792m #deployment: 3072m - - shortcircuit-server: - profiles: - - all - - suite - - study - image: gridsuite/shortcircuit-server:latest - ports: - - 5031:80 - volumes: - - ../../k8s/resources/study/config/shortcircuit-server-application.yml:/config/specific/application.yml:Z - - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z - - ../../k8s/resources/study/config/shortcircuit-server-config.yml:/home/powsybl/.itools/config.yml:Z - restart: unless-stopped - depends_on: - logspout: - condition: "service_started" - required: false - environment: - - JAVA_TOOL_OPTIONS=-Xmx768m - command: --server.port=80 --spring.config.additional-location=/config/ - sysctls: - - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 1792m - deploy: - resources: - limits: - memory: 1792m - - timeseries-server: - profiles: - - all - - suite - - dynamic-simulation - image: gridsuite/timeseries-server:latest - ports: - - 5037:80 - volumes: - - ../../k8s/resources/study/config/timeseries-server-application.yml:/config/specific/application.yml:Z - - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z - restart: unless-stopped - depends_on: - logspout: - condition: "service_started" - required: false - environment: - - JAVA_TOOL_OPTIONS=-Xmx576m - command: --server.port=80 --spring.config.additional-location=/config/ - sysctls: - - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 1g - deploy: - resources: - limits: - memory: 1g - - voltage-init-server: - profiles: - - all - - suite - - study - image: gridsuite/voltage-init-server:latest - ports: - - 5038:80 - volumes: - - ../../k8s/resources/study/config/voltage-init-server-application.yml:/config/specific/application.yml:Z - - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z - - ../../k8s/resources/study/config/voltage-init-server-config.yml:/home/powsybl/.itools/config.yml:Z - restart: unless-stopped - depends_on: - logspout: - condition: "service_started" - required: false - environment: - - JAVA_TOOL_OPTIONS=-Xmx768m #deployment: -Xmx1086m - command: --server.port=80 --spring.config.additional-location=/config/ - sysctls: - - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 1792m #deployment: 2432m - deploy: - resources: - limits: - memory: 1792m #deployment: 2432m - - #just here for dev purpose, we don't want to start with this profile unless we need to. - case-import-server: - profiles: - - all - - import - image: gridsuite/case-import-server:latest - ports: - - 5039:80 - volumes: - - ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z - restart: unless-stopped - depends_on: - logspout: - condition: "service_started" - required: false - environment: - - JAVA_TOOL_OPTIONS=-Xmx96m - command: --server.port=80 --spring.config.additional-location=/config/ - sysctls: - - net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0 - memswap_limit: 384m - deploy: - resources: - limits: - memory: 384m - - gridadmin-app: - profiles: - - all - - suite - - study - image: gridsuite/gridadmin-app:latest - ports: - - 82:8080 - volumes: - - ./gridadmin-app-idpSettings.json:/opt/bitnami/apache/htdocs/gridadmin/idpSettings.json:Z - - ../env.json:/opt/bitnami/apache/htdocs/gridadmin/env.json:Z - depends_on: - logspout: - condition: "service_started" - required: false - memswap_limit: 128m - deploy: - resources: - limits: - memory: 128m - restart: unless-stopped +include: + - ../docker-compose.base.yml + - ../technical/docker-compose.technical.yml + - docker-compose.study.yml \ No newline at end of file diff --git a/docker-compose/technical/docker-compose.yml b/docker-compose/technical/docker-compose.technical.yml similarity index 100% rename from docker-compose/technical/docker-compose.yml rename to docker-compose/technical/docker-compose.technical.yml From 0826f8dba6f70726d4bd9d538f3355b77a8922bb Mon Sep 17 00:00:00 2001 From: Joris Mancini Date: Wed, 11 Feb 2026 15:10:10 +0100 Subject: [PATCH 05/18] set back different options as it was Signed-off-by: Joris Mancini --- docker-compose/docker-compose.yml | 6 ------ docker-compose/{ => explicit-profiles}/.env | 0 docker-compose/explicit-profiles/docker-compose.yml | 6 ++++++ docker-compose/suite/.env | 2 ++ docker-compose/suite/docker-compose.yml | 6 ++++++ 5 files changed, 14 insertions(+), 6 deletions(-) delete mode 100644 docker-compose/docker-compose.yml rename docker-compose/{ => explicit-profiles}/.env (100%) create mode 100644 docker-compose/explicit-profiles/docker-compose.yml create mode 100644 docker-compose/suite/.env create mode 100644 docker-compose/suite/docker-compose.yml diff --git a/docker-compose/docker-compose.yml b/docker-compose/docker-compose.yml deleted file mode 100644 index 01a17994..00000000 --- a/docker-compose/docker-compose.yml +++ /dev/null @@ -1,6 +0,0 @@ -include: - - technical/docker-compose.technical.yml - - dynamic-mapping/docker-compose.dynamic-mapping.yml - - monitor/docker-compose.monitor.yml - - study/docker-compose.study.yml - - docker-compose.base.yml \ No newline at end of file diff --git a/docker-compose/.env b/docker-compose/explicit-profiles/.env similarity index 100% rename from docker-compose/.env rename to docker-compose/explicit-profiles/.env diff --git a/docker-compose/explicit-profiles/docker-compose.yml b/docker-compose/explicit-profiles/docker-compose.yml new file mode 100644 index 00000000..3152549c --- /dev/null +++ b/docker-compose/explicit-profiles/docker-compose.yml @@ -0,0 +1,6 @@ +include: + - ../technical/docker-compose.technical.yml + - ../dynamic-mapping/docker-compose.dynamic-mapping.yml + - ../monitor/docker-compose.monitor.yml + - ../study/docker-compose.study.yml + - ../docker-compose.base.yml \ No newline at end of file diff --git a/docker-compose/suite/.env b/docker-compose/suite/.env new file mode 100644 index 00000000..09e4393a --- /dev/null +++ b/docker-compose/suite/.env @@ -0,0 +1,2 @@ +COMPOSE_PROJECT_NAME=gridsuite +COMPOSE_PROFILES=study,dynamic-mapping \ No newline at end of file diff --git a/docker-compose/suite/docker-compose.yml b/docker-compose/suite/docker-compose.yml new file mode 100644 index 00000000..3152549c --- /dev/null +++ b/docker-compose/suite/docker-compose.yml @@ -0,0 +1,6 @@ +include: + - ../technical/docker-compose.technical.yml + - ../dynamic-mapping/docker-compose.dynamic-mapping.yml + - ../monitor/docker-compose.monitor.yml + - ../study/docker-compose.study.yml + - ../docker-compose.base.yml \ No newline at end of file From 4c50448d8b6f0722b39d4889cb27d153b4cbeaa2 Mon Sep 17 00:00:00 2001 From: Joris Mancini Date: Wed, 11 Feb 2026 15:34:48 +0100 Subject: [PATCH 06/18] set back different options as it was Signed-off-by: Joris Mancini --- docker-compose/dynamic-mapping/.env | 2 +- docker-compose/explicit-profiles/.env | 2 +- docker-compose/monitor/.env | 2 +- docker-compose/study/.env | 2 +- docker-compose/technical/.env | 2 ++ docker-compose/technical/docker-compose.yml | 2 ++ 6 files changed, 8 insertions(+), 4 deletions(-) create mode 100644 docker-compose/technical/.env create mode 100644 docker-compose/technical/docker-compose.yml diff --git a/docker-compose/dynamic-mapping/.env b/docker-compose/dynamic-mapping/.env index 448e7ee4..1f960154 100644 --- a/docker-compose/dynamic-mapping/.env +++ b/docker-compose/dynamic-mapping/.env @@ -1,2 +1,2 @@ -COMPOSE_PROJECT_NAME=gridsuite +COMPOSE_PROJECT_NAME=griddynamicmapping COMPOSE_PROFILES=dynamic-mapping \ No newline at end of file diff --git a/docker-compose/explicit-profiles/.env b/docker-compose/explicit-profiles/.env index 1e3fae26..292b728a 100644 --- a/docker-compose/explicit-profiles/.env +++ b/docker-compose/explicit-profiles/.env @@ -1 +1 @@ -COMPOSE_PROJECT_NAME=gridsuite \ No newline at end of file +COMPOSE_PROJECT_NAME=grid \ No newline at end of file diff --git a/docker-compose/monitor/.env b/docker-compose/monitor/.env index e817049f..aaa8dd43 100644 --- a/docker-compose/monitor/.env +++ b/docker-compose/monitor/.env @@ -1,2 +1,2 @@ -COMPOSE_PROJECT_NAME=gridsuite +COMPOSE_PROJECT_NAME=gridmonitor COMPOSE_PROFILES=monitor \ No newline at end of file diff --git a/docker-compose/study/.env b/docker-compose/study/.env index f344d651..2480dc58 100644 --- a/docker-compose/study/.env +++ b/docker-compose/study/.env @@ -1,2 +1,2 @@ -COMPOSE_PROJECT_NAME=gridsuite +COMPOSE_PROJECT_NAME=gridstudy COMPOSE_PROFILES=study \ No newline at end of file diff --git a/docker-compose/technical/.env b/docker-compose/technical/.env new file mode 100644 index 00000000..e5425bac --- /dev/null +++ b/docker-compose/technical/.env @@ -0,0 +1,2 @@ +COMPOSE_PROJECT_NAME=technical +COMPOSE_PROFILES=study \ No newline at end of file diff --git a/docker-compose/technical/docker-compose.yml b/docker-compose/technical/docker-compose.yml new file mode 100644 index 00000000..22d5b446 --- /dev/null +++ b/docker-compose/technical/docker-compose.yml @@ -0,0 +1,2 @@ +include: + - docker-compose.technical.yml \ No newline at end of file From de78cdd22acac7a5c013c8d2c15b16ccb68e617e Mon Sep 17 00:00:00 2001 From: Joris Mancini Date: Wed, 11 Feb 2026 15:43:15 +0100 Subject: [PATCH 07/18] set back different options as it was Signed-off-by: Joris Mancini --- docker-compose/study/.env | 3 +++ docker-compose/suite/.env | 3 +++ docker-compose/technical/.env | 2 +- .../technical/docker-compose.technical.yml | 2 ++ docker-compose/technical/init-geo-data.sh | 20 ++++++++++++------- .../technical/init-lines-catalog.sh | 16 ++++++++++----- 6 files changed, 33 insertions(+), 13 deletions(-) diff --git a/docker-compose/study/.env b/docker-compose/study/.env index 2480dc58..d21e534c 100644 --- a/docker-compose/study/.env +++ b/docker-compose/study/.env @@ -1,2 +1,5 @@ +SHOULD_INIT_GEO_DATA=true +SHOULD_INIT_LINES_CATALOG=true + COMPOSE_PROJECT_NAME=gridstudy COMPOSE_PROFILES=study \ No newline at end of file diff --git a/docker-compose/suite/.env b/docker-compose/suite/.env index 09e4393a..3c72f147 100644 --- a/docker-compose/suite/.env +++ b/docker-compose/suite/.env @@ -1,2 +1,5 @@ +SHOULD_INIT_GEO_DATA=true +SHOULD_INIT_LINES_CATALOG=true + COMPOSE_PROJECT_NAME=gridsuite COMPOSE_PROFILES=study,dynamic-mapping \ No newline at end of file diff --git a/docker-compose/technical/.env b/docker-compose/technical/.env index e5425bac..facd381f 100644 --- a/docker-compose/technical/.env +++ b/docker-compose/technical/.env @@ -1,2 +1,2 @@ -COMPOSE_PROJECT_NAME=technical +COMPOSE_PROJECT_NAME=gridtechnical COMPOSE_PROFILES=study \ No newline at end of file diff --git a/docker-compose/technical/docker-compose.technical.yml b/docker-compose/technical/docker-compose.technical.yml index 115a5e7c..91f77605 100644 --- a/docker-compose/technical/docker-compose.technical.yml +++ b/docker-compose/technical/docker-compose.technical.yml @@ -36,6 +36,8 @@ services: - POSTGRES_DEFAULT_DB=postgres - POSTGRES_PASSWORD=postgres - PGDATA=/var/lib/postgresql/data + env_file: + - $PWD/.env volumes: - $GRIDSUITE_DATABASES/postgres/data:/var/lib/postgresql/data:Z - $GRIDSUITE_DATABASES/init:/init-data:Z diff --git a/docker-compose/technical/init-geo-data.sh b/docker-compose/technical/init-geo-data.sh index 2af9eaab..bac60ec4 100755 --- a/docker-compose/technical/init-geo-data.sh +++ b/docker-compose/technical/init-geo-data.sh @@ -1,5 +1,7 @@ #!/bin/bash +set -e + function curl_() { curl -f -s -o /dev/null -H "Content-Type: application/json" "$@" @@ -10,13 +12,17 @@ function init_geo_data() FILE_SUBSTATIONS=/init-data/geo_data_substations.json FILE_LINES=/init-data/geo_data_lines.json - ([ ! -f "$FILE_SUBSTATIONS" ] || curl_ -d@$FILE_SUBSTATIONS http://172.17.0.1:8087/v1/substations) \ + ([ ! -f "$FILE_SUBSTATIONS" ] || curl_ -d@$FILE_SUBSTATIONS http://geo-data-server/v1/substations) \ && - ([ ! -f "$FILE_LINES" ] || curl_ -d@$FILE_LINES http://172.17.0.1:8087/v1/lines) + ([ ! -f "$FILE_LINES" ] || curl_ -d@$FILE_LINES http://geo-data-server/v1/lines) } -until init_geo_data - do - echo "curl: geo-data-server is unavailable to initialize data - will retry later" - sleep 5 - done +SHOULD_INIT_GEO_DATA="${SHOULD_INIT_GEO_DATA:-false}" + +if [ "$SHOULD_INIT_GEO_DATA" = "true" ]; then + until init_geo_data + do + echo "curl: geo-data-server is unavailable to initialize data - will retry later" + sleep 5 + done +fi diff --git a/docker-compose/technical/init-lines-catalog.sh b/docker-compose/technical/init-lines-catalog.sh index f0d25a79..fbce87b6 100755 --- a/docker-compose/technical/init-lines-catalog.sh +++ b/docker-compose/technical/init-lines-catalog.sh @@ -1,5 +1,7 @@ #!/bin/bash +set -e + function init_lines_catalog() { LINES_CATALOG=/init-data/lines-catalog.json.gz @@ -8,8 +10,12 @@ function init_lines_catalog() fi } -until init_lines_catalog - do - echo "curl: network-modification-server is unavailable to initialize data - will retry later" - sleep 5 - done +SHOULD_INIT_LINES_CATALOG="${SHOULD_INIT_LINES_CATALOG:-false}" + +if [ "SHOULD_INIT_LINES_CATALOG" = "true" ]; then + until init_lines_catalog + do + echo "curl: network-modification-server is unavailable to initialize data - will retry later" + sleep 5 + done +fi From e3bbb210c567ce0e796bd0a7f954a691ba038aeb Mon Sep 17 00:00:00 2001 From: Joris Mancini Date: Wed, 11 Feb 2026 16:15:34 +0100 Subject: [PATCH 08/18] set back different options as it was Signed-off-by: Joris Mancini --- docker-compose/dynamic-mapping/.env | 2 +- docker-compose/explicit-profiles/.env | 2 +- docker-compose/monitor/.env | 2 +- docker-compose/study/.env | 2 +- docker-compose/suite/.env | 2 +- docker-compose/technical/.env | 2 +- docker-compose/technical/init-geo-data.sh | 2 +- docker-compose/technical/init-lines-catalog.sh | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/docker-compose/dynamic-mapping/.env b/docker-compose/dynamic-mapping/.env index 1f960154..7d16274f 100644 --- a/docker-compose/dynamic-mapping/.env +++ b/docker-compose/dynamic-mapping/.env @@ -1,2 +1,2 @@ COMPOSE_PROJECT_NAME=griddynamicmapping -COMPOSE_PROFILES=dynamic-mapping \ No newline at end of file +COMPOSE_PROFILES=dynamic-mapping diff --git a/docker-compose/explicit-profiles/.env b/docker-compose/explicit-profiles/.env index 292b728a..3ea9e04d 100644 --- a/docker-compose/explicit-profiles/.env +++ b/docker-compose/explicit-profiles/.env @@ -1 +1 @@ -COMPOSE_PROJECT_NAME=grid \ No newline at end of file +COMPOSE_PROJECT_NAME=grid diff --git a/docker-compose/monitor/.env b/docker-compose/monitor/.env index aaa8dd43..68b732e2 100644 --- a/docker-compose/monitor/.env +++ b/docker-compose/monitor/.env @@ -1,2 +1,2 @@ COMPOSE_PROJECT_NAME=gridmonitor -COMPOSE_PROFILES=monitor \ No newline at end of file +COMPOSE_PROFILES=monitor diff --git a/docker-compose/study/.env b/docker-compose/study/.env index d21e534c..7f2164dc 100644 --- a/docker-compose/study/.env +++ b/docker-compose/study/.env @@ -2,4 +2,4 @@ SHOULD_INIT_GEO_DATA=true SHOULD_INIT_LINES_CATALOG=true COMPOSE_PROJECT_NAME=gridstudy -COMPOSE_PROFILES=study \ No newline at end of file +COMPOSE_PROFILES=study diff --git a/docker-compose/suite/.env b/docker-compose/suite/.env index 3c72f147..b7c65b79 100644 --- a/docker-compose/suite/.env +++ b/docker-compose/suite/.env @@ -2,4 +2,4 @@ SHOULD_INIT_GEO_DATA=true SHOULD_INIT_LINES_CATALOG=true COMPOSE_PROJECT_NAME=gridsuite -COMPOSE_PROFILES=study,dynamic-mapping \ No newline at end of file +COMPOSE_PROFILES=study,dynamic-mapping diff --git a/docker-compose/technical/.env b/docker-compose/technical/.env index facd381f..98bf9305 100644 --- a/docker-compose/technical/.env +++ b/docker-compose/technical/.env @@ -1,2 +1,2 @@ COMPOSE_PROJECT_NAME=gridtechnical -COMPOSE_PROFILES=study \ No newline at end of file +COMPOSE_PROFILES=study diff --git a/docker-compose/technical/init-geo-data.sh b/docker-compose/technical/init-geo-data.sh index bac60ec4..28a6cfd5 100755 --- a/docker-compose/technical/init-geo-data.sh +++ b/docker-compose/technical/init-geo-data.sh @@ -4,7 +4,7 @@ set -e function curl_() { - curl -f -s -o /dev/null -H "Content-Type: application/json" "$@" + curl --noproxy '*' -f -s -o /dev/null -H "Content-Type: application/json" "$@" } function init_geo_data() diff --git a/docker-compose/technical/init-lines-catalog.sh b/docker-compose/technical/init-lines-catalog.sh index fbce87b6..4d00c2ea 100755 --- a/docker-compose/technical/init-lines-catalog.sh +++ b/docker-compose/technical/init-lines-catalog.sh @@ -6,7 +6,7 @@ function init_lines_catalog() { LINES_CATALOG=/init-data/lines-catalog.json.gz if [ -f $LINES_CATALOG ]; then - curl -X 'POST' -f -s -o /dev/null 'http://network-modification-server/v1/network-modifications/catalog/line_types' -F "file=@${LINES_CATALOG}" + curl -X 'POST' --noproxy -f -s -o /dev/null 'http://network-modification-server/v1/network-modifications/catalog/line_types' -F "file=@${LINES_CATALOG}" fi } From e3dd2abf0da6f67a4737b1cc4493bac3ef37044d Mon Sep 17 00:00:00 2001 From: Joris Mancini Date: Wed, 11 Feb 2026 16:16:45 +0100 Subject: [PATCH 09/18] end of file line Signed-off-by: Joris Mancini --- docker-compose/dynamic-mapping/docker-compose.yml | 2 +- docker-compose/explicit-profiles/docker-compose.yml | 2 +- docker-compose/monitor/docker-compose.yml | 2 +- docker-compose/study/docker-compose.yml | 2 +- docker-compose/suite/docker-compose.yml | 2 +- docker-compose/technical/docker-compose.yml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docker-compose/dynamic-mapping/docker-compose.yml b/docker-compose/dynamic-mapping/docker-compose.yml index 00e4e96c..d1288483 100644 --- a/docker-compose/dynamic-mapping/docker-compose.yml +++ b/docker-compose/dynamic-mapping/docker-compose.yml @@ -1,4 +1,4 @@ include: - ../docker-compose.base.yml - ../technical/docker-compose.technical.yml - - docker-compose.dynamic-mapping.yml \ No newline at end of file + - docker-compose.dynamic-mapping.yml diff --git a/docker-compose/explicit-profiles/docker-compose.yml b/docker-compose/explicit-profiles/docker-compose.yml index 3152549c..204eecb7 100644 --- a/docker-compose/explicit-profiles/docker-compose.yml +++ b/docker-compose/explicit-profiles/docker-compose.yml @@ -3,4 +3,4 @@ include: - ../dynamic-mapping/docker-compose.dynamic-mapping.yml - ../monitor/docker-compose.monitor.yml - ../study/docker-compose.study.yml - - ../docker-compose.base.yml \ No newline at end of file + - ../docker-compose.base.yml diff --git a/docker-compose/monitor/docker-compose.yml b/docker-compose/monitor/docker-compose.yml index 865eafd8..a4142989 100644 --- a/docker-compose/monitor/docker-compose.yml +++ b/docker-compose/monitor/docker-compose.yml @@ -1,4 +1,4 @@ include: - ../docker-compose.base.yml - ../technical/docker-compose.technical.yml - - docker-compose.monitor.yml \ No newline at end of file + - docker-compose.monitor.yml diff --git a/docker-compose/study/docker-compose.yml b/docker-compose/study/docker-compose.yml index 10b769af..f4008b26 100644 --- a/docker-compose/study/docker-compose.yml +++ b/docker-compose/study/docker-compose.yml @@ -1,4 +1,4 @@ include: - ../docker-compose.base.yml - ../technical/docker-compose.technical.yml - - docker-compose.study.yml \ No newline at end of file + - docker-compose.study.yml diff --git a/docker-compose/suite/docker-compose.yml b/docker-compose/suite/docker-compose.yml index 3152549c..204eecb7 100644 --- a/docker-compose/suite/docker-compose.yml +++ b/docker-compose/suite/docker-compose.yml @@ -3,4 +3,4 @@ include: - ../dynamic-mapping/docker-compose.dynamic-mapping.yml - ../monitor/docker-compose.monitor.yml - ../study/docker-compose.study.yml - - ../docker-compose.base.yml \ No newline at end of file + - ../docker-compose.base.yml diff --git a/docker-compose/technical/docker-compose.yml b/docker-compose/technical/docker-compose.yml index 22d5b446..bafe0bf3 100644 --- a/docker-compose/technical/docker-compose.yml +++ b/docker-compose/technical/docker-compose.yml @@ -1,2 +1,2 @@ include: - - docker-compose.technical.yml \ No newline at end of file + - docker-compose.technical.yml From ba538e8cf7443ed540a47f4a08276ec7a562a76e Mon Sep 17 00:00:00 2001 From: Joris Mancini Date: Wed, 11 Feb 2026 16:20:46 +0100 Subject: [PATCH 10/18] remove profile in technical Signed-off-by: Joris Mancini --- docker-compose/technical/.env | 1 - 1 file changed, 1 deletion(-) diff --git a/docker-compose/technical/.env b/docker-compose/technical/.env index 98bf9305..15314f07 100644 --- a/docker-compose/technical/.env +++ b/docker-compose/technical/.env @@ -1,2 +1 @@ COMPOSE_PROJECT_NAME=gridtechnical -COMPOSE_PROFILES=study From 6c124ed82a4b02704a9161195b35c5c9b34379b7 Mon Sep 17 00:00:00 2001 From: Joris Mancini Date: Wed, 11 Feb 2026 16:27:13 +0100 Subject: [PATCH 11/18] revert missing composition in monitor Signed-off-by: Joris Mancini --- docker-compose/monitor/docker-compose.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docker-compose/monitor/docker-compose.yml b/docker-compose/monitor/docker-compose.yml index a4142989..8395c62a 100644 --- a/docker-compose/monitor/docker-compose.yml +++ b/docker-compose/monitor/docker-compose.yml @@ -1,4 +1,6 @@ include: - ../docker-compose.base.yml - ../technical/docker-compose.technical.yml + - ../dynamic-mapping/docker-compose.dynamic-mapping.yml + - ../study/docker-compose.study.yml - docker-compose.monitor.yml From cfe1cf364372ee5333e5d2b44f979a88e135897d Mon Sep 17 00:00:00 2001 From: Joris Mancini Date: Wed, 11 Feb 2026 16:31:19 +0100 Subject: [PATCH 12/18] add dynamic mapping in study Signed-off-by: Joris Mancini --- docker-compose/study/docker-compose.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/docker-compose/study/docker-compose.yml b/docker-compose/study/docker-compose.yml index f4008b26..0a4fb750 100644 --- a/docker-compose/study/docker-compose.yml +++ b/docker-compose/study/docker-compose.yml @@ -1,4 +1,5 @@ include: - ../docker-compose.base.yml - ../technical/docker-compose.technical.yml + - ../dynamic-mapping/docker-compose.dynamic-mapping.yml - docker-compose.study.yml From fb16a24927c30ee3cf282ed6798890b5b99243bc Mon Sep 17 00:00:00 2001 From: Joris Mancini Date: Wed, 11 Feb 2026 16:32:22 +0100 Subject: [PATCH 13/18] add study in dynamic-mapping Signed-off-by: Joris Mancini --- docker-compose/dynamic-mapping/docker-compose.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/docker-compose/dynamic-mapping/docker-compose.yml b/docker-compose/dynamic-mapping/docker-compose.yml index d1288483..0dbe59ec 100644 --- a/docker-compose/dynamic-mapping/docker-compose.yml +++ b/docker-compose/dynamic-mapping/docker-compose.yml @@ -1,4 +1,5 @@ include: - ../docker-compose.base.yml - ../technical/docker-compose.technical.yml + - ../study/docker-compose.study.yml - docker-compose.dynamic-mapping.yml From e661680d5cb063d4d77593b5b4b25ac658c300a3 Mon Sep 17 00:00:00 2001 From: Joris Mancini Date: Wed, 11 Feb 2026 16:46:10 +0100 Subject: [PATCH 14/18] fix: no proxy inside docker and use appropriate env vars (#597) Signed-off-by: Joris Mancini --- docker-compose/dynamic-mapping/.env | 1 - docker-compose/explicit-profiles/.env | 8 -------- docker-compose/monitor/.env | 2 -- docker-compose/study/.env | 5 +++-- docker-compose/suite/.env | 5 +++-- docker-compose/technical/.env | 3 --- docker-compose/technical/init-geo-data.sh | 6 ++++-- docker-compose/technical/init-lines-catalog.sh | 6 ++++-- 8 files changed, 14 insertions(+), 22 deletions(-) diff --git a/docker-compose/dynamic-mapping/.env b/docker-compose/dynamic-mapping/.env index 28673c04..c155139a 100644 --- a/docker-compose/dynamic-mapping/.env +++ b/docker-compose/dynamic-mapping/.env @@ -1,4 +1,3 @@ -PROJECT_DIR_NAME=dynamic-mapping COMPOSE_PATH_SEPARATOR=: COMPOSE_PROJECT_NAME=griddynamicmapping COMPOSE_FILE=docker-compose.override.yml:../docker-compose.base.yml:../study/docker-compose.override.yml:../technical/docker-compose.technical.yml diff --git a/docker-compose/explicit-profiles/.env b/docker-compose/explicit-profiles/.env index 5b281365..baf830c1 100644 --- a/docker-compose/explicit-profiles/.env +++ b/docker-compose/explicit-profiles/.env @@ -1,11 +1,3 @@ -PROJECT_STUDY_DIR_NAME=study -PROJECT_DYNAMIC_MAPPING_DIR_NAME=dynamic-mapping -PROJECT_SUITE_DIR_NAME=suite -DATABASE_PREFIX_NAME= -#PROJECT_DIR_NAME: use "explicit-profiles" for this env with dynamic profiles, and not "study"/"suite" values because our scripts -# will block postgres container if geo-data-server container is not started (because the user explicitly chose other profiles) -# and the PROJECT_DIR_NAME is one of those values -PROJECT_DIR_NAME=explicit-profiles COMPOSE_PATH_SEPARATOR=: COMPOSE_PROJECT_NAME=grid COMPOSE_FILE=../docker-compose.base.yml:../study/docker-compose.override.yml:../dynamic-mapping/docker-compose.override.yml:../technical/docker-compose.technical.yml:../monitor/docker-compose.override.yml diff --git a/docker-compose/monitor/.env b/docker-compose/monitor/.env index 54963e3a..3fb67672 100644 --- a/docker-compose/monitor/.env +++ b/docker-compose/monitor/.env @@ -1,5 +1,3 @@ -PROJECT_DIR_NAME=monitor -PROJECT_STUDY_DIR_NAME=monitor COMPOSE_PATH_SEPARATOR=: COMPOSE_PROJECT_NAME=gridmonitor COMPOSE_FILE=docker-compose.override.yml:../docker-compose.base.yml:../dynamic-mapping/docker-compose.override.yml:../study/docker-compose.override.yml:../technical/docker-compose.technical.yml diff --git a/docker-compose/study/.env b/docker-compose/study/.env index cb1a2740..e370e96b 100644 --- a/docker-compose/study/.env +++ b/docker-compose/study/.env @@ -1,5 +1,6 @@ -PROJECT_DIR_NAME=study -PROJECT_STUDY_DIR_NAME=study +SHOULD_INIT_GEO_DATA=true +SHOULD_INIT_LINES_CATALOG=true + COMPOSE_PATH_SEPARATOR=: COMPOSE_PROJECT_NAME=gridstudy COMPOSE_FILE=docker-compose.override.yml:../docker-compose.base.yml:../dynamic-mapping/docker-compose.override.yml:../technical/docker-compose.technical.yml diff --git a/docker-compose/suite/.env b/docker-compose/suite/.env index 51a3a917..f3034e45 100644 --- a/docker-compose/suite/.env +++ b/docker-compose/suite/.env @@ -1,5 +1,6 @@ -PROJECT_DIR_NAME=suite -PROJECT_SUITE_DIR_NAME=suite +SHOULD_INIT_GEO_DATA=true +SHOULD_INIT_LINES_CATALOG=true + COMPOSE_PATH_SEPARATOR=: COMPOSE_PROJECT_NAME=gridsuite COMPOSE_FILE=docker-compose.marker.yml:../docker-compose.base.yml:../study/docker-compose.override.yml:../dynamic-mapping/docker-compose.override.yml:../technical/docker-compose.technical.yml diff --git a/docker-compose/technical/.env b/docker-compose/technical/.env index d5e07aa0..bbe54ee1 100644 --- a/docker-compose/technical/.env +++ b/docker-compose/technical/.env @@ -1,6 +1,3 @@ -PROJECT_STUDY_DIR_NAME=study -PROJECT_SUITE_DIR_NAME=suite -PROJECT_DIR_NAME=technical COMPOSE_PATH_SEPARATOR=: COMPOSE_PROJECT_NAME=gridtechnical COMPOSE_FILE=docker-compose.technical.yml diff --git a/docker-compose/technical/init-geo-data.sh b/docker-compose/technical/init-geo-data.sh index db0b60ae..ea3d29f3 100755 --- a/docker-compose/technical/init-geo-data.sh +++ b/docker-compose/technical/init-geo-data.sh @@ -4,7 +4,7 @@ set -e function curl_() { - curl -f -s -o /dev/null -H "Content-Type: application/json" "$@" + curl --noproxy '*' -f -s -o /dev/null -H "Content-Type: application/json" "$@" } function init_geo_data() @@ -17,7 +17,9 @@ function init_geo_data() ([ ! -f "$FILE_LINES" ] || curl_ -d@$FILE_LINES http://geo-data-server/v1/lines) } -if [ "$PROJECT_DIR_NAME" == "$PROJECT_STUDY_DIR_NAME" ] || [ "$PROJECT_DIR_NAME" == "$PROJECT_SUITE_DIR_NAME" ] +SHOULD_INIT_GEO_DATA="${SHOULD_INIT_GEO_DATA:-false}" + +if [ "SHOULD_INIT_GEO_DATA" = "true" ] then until init_geo_data do diff --git a/docker-compose/technical/init-lines-catalog.sh b/docker-compose/technical/init-lines-catalog.sh index e1635c06..a6bc4dec 100755 --- a/docker-compose/technical/init-lines-catalog.sh +++ b/docker-compose/technical/init-lines-catalog.sh @@ -6,11 +6,13 @@ function init_lines_catalog() { LINES_CATALOG=/init-data/lines-catalog.json.gz if [ -f $LINES_CATALOG ]; then - curl -X 'POST' -f -s -o /dev/null 'http://network-modification-server/v1/network-modifications/catalog/line_types' -F "file=@${LINES_CATALOG}" + curl -X 'POST' --noproxy '*' -f -s -o /dev/null 'http://network-modification-server/v1/network-modifications/catalog/line_types' -F "file=@${LINES_CATALOG}" fi } -if [ "$PROJECT_DIR_NAME" == "$PROJECT_STUDY_DIR_NAME" ] || [ "$PROJECT_DIR_NAME" == "$PROJECT_SUITE_DIR_NAME" ] +SHOULD_INIT_LINES_CATALOG="${SHOULD_INIT_LINES_CATALOG:-false}" + +if [ "SHOULD_INIT_LINES_CATALOG" = "true" ] then until init_lines_catalog do From 872e3b0e4e570d940fcd92e5a6f59554f3d5e4ff Mon Sep 17 00:00:00 2001 From: Joris Mancini Date: Wed, 11 Feb 2026 16:48:31 +0100 Subject: [PATCH 15/18] revert changes Signed-off-by: Joris Mancini --- docker-compose/technical/init-geo-data.sh | 13 +++++++------ docker-compose/technical/init-lines-catalog.sh | 15 ++++++++------- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/docker-compose/technical/init-geo-data.sh b/docker-compose/technical/init-geo-data.sh index 28a6cfd5..a866fa74 100755 --- a/docker-compose/technical/init-geo-data.sh +++ b/docker-compose/technical/init-geo-data.sh @@ -19,10 +19,11 @@ function init_geo_data() SHOULD_INIT_GEO_DATA="${SHOULD_INIT_GEO_DATA:-false}" -if [ "$SHOULD_INIT_GEO_DATA" = "true" ]; then - until init_geo_data - do - echo "curl: geo-data-server is unavailable to initialize data - will retry later" - sleep 5 - done +if [ "$SHOULD_INIT_GEO_DATA" = "true" ] +then +until init_geo_data + do + echo "curl: geo-data-server is unavailable to initialize data - will retry later" + sleep 5 + done fi diff --git a/docker-compose/technical/init-lines-catalog.sh b/docker-compose/technical/init-lines-catalog.sh index 4d00c2ea..b6df7af6 100755 --- a/docker-compose/technical/init-lines-catalog.sh +++ b/docker-compose/technical/init-lines-catalog.sh @@ -6,16 +6,17 @@ function init_lines_catalog() { LINES_CATALOG=/init-data/lines-catalog.json.gz if [ -f $LINES_CATALOG ]; then - curl -X 'POST' --noproxy -f -s -o /dev/null 'http://network-modification-server/v1/network-modifications/catalog/line_types' -F "file=@${LINES_CATALOG}" + curl -X 'POST' --noproxy '*' -f -s -o /dev/null 'http://network-modification-server/v1/network-modifications/catalog/line_types' -F "file=@${LINES_CATALOG}" fi } SHOULD_INIT_LINES_CATALOG="${SHOULD_INIT_LINES_CATALOG:-false}" -if [ "SHOULD_INIT_LINES_CATALOG" = "true" ]; then - until init_lines_catalog - do - echo "curl: network-modification-server is unavailable to initialize data - will retry later" - sleep 5 - done +if [ "SHOULD_INIT_LINES_CATALOG" = "true" ] +then +until init_lines_catalog + do + echo "curl: network-modification-server is unavailable to initialize data - will retry later" + sleep 5 + done fi From 3f373bf795a77c1f01639e834c985dc5c1808452 Mon Sep 17 00:00:00 2001 From: Joris Mancini Date: Wed, 11 Feb 2026 16:49:32 +0100 Subject: [PATCH 16/18] revert changes Signed-off-by: Joris Mancini --- docker-compose/technical/init-geo-data.sh | 2 +- docker-compose/technical/init-lines-catalog.sh | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docker-compose/technical/init-geo-data.sh b/docker-compose/technical/init-geo-data.sh index a866fa74..540c28e1 100755 --- a/docker-compose/technical/init-geo-data.sh +++ b/docker-compose/technical/init-geo-data.sh @@ -21,7 +21,7 @@ SHOULD_INIT_GEO_DATA="${SHOULD_INIT_GEO_DATA:-false}" if [ "$SHOULD_INIT_GEO_DATA" = "true" ] then -until init_geo_data + until init_geo_data do echo "curl: geo-data-server is unavailable to initialize data - will retry later" sleep 5 diff --git a/docker-compose/technical/init-lines-catalog.sh b/docker-compose/technical/init-lines-catalog.sh index b6df7af6..3c21281b 100755 --- a/docker-compose/technical/init-lines-catalog.sh +++ b/docker-compose/technical/init-lines-catalog.sh @@ -12,9 +12,9 @@ function init_lines_catalog() SHOULD_INIT_LINES_CATALOG="${SHOULD_INIT_LINES_CATALOG:-false}" -if [ "SHOULD_INIT_LINES_CATALOG" = "true" ] +if [ "$SHOULD_INIT_LINES_CATALOG" = "true" ] then -until init_lines_catalog + until init_lines_catalog do echo "curl: network-modification-server is unavailable to initialize data - will retry later" sleep 5 From 1ebd74414b40566bb9b111966bfaa5784de414e8 Mon Sep 17 00:00:00 2001 From: Joris Mancini Date: Thu, 12 Feb 2026 08:30:50 +0100 Subject: [PATCH 17/18] fix: merge error Signed-off-by: Joris Mancini --- docker-compose/dynamic-mapping/.env | 1 - 1 file changed, 1 deletion(-) diff --git a/docker-compose/dynamic-mapping/.env b/docker-compose/dynamic-mapping/.env index 3d9a1924..7d16274f 100644 --- a/docker-compose/dynamic-mapping/.env +++ b/docker-compose/dynamic-mapping/.env @@ -1,3 +1,2 @@ -COMPOSE_PATH_SEPARATOR=: COMPOSE_PROJECT_NAME=griddynamicmapping COMPOSE_PROFILES=dynamic-mapping From 1c593f4f9f052f4cc0a3d4d13665d7388f07a716 Mon Sep 17 00:00:00 2001 From: Joris Mancini Date: Thu, 12 Feb 2026 08:46:34 +0100 Subject: [PATCH 18/18] fix: misleading sentence in README Signed-off-by: Joris Mancini --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 6f0a5969..dc2533a6 100644 --- a/README.md +++ b/README.md @@ -81,8 +81,7 @@ These folders (other than `explicit-profiles`) act now like an alias to `docker with the difference that they have implicitly a profile active and will be considered like another project stack, so compose commands will not affect others folders state. -### Docker-compose profiles -This is the preferred development deployment. +### Docker-compose with profiles _Everything described in this section is inside the folder `explicit-profiles`._ Here's the summary of the profiles and what services they includes: