diff --git a/README.md b/README.md
index 0d9ae647..fa0c28f9 100644
--- a/README.md
+++ b/README.md
@@ -57,7 +57,7 @@ $ cd deployment
### Application profiles _(alias)_
> [!NOTE]
-> If you want to use profiles other than the ones associated with the folders (`dynamic-mapping`, `monitor`, `study`, `suite`, `technical`), you have to use profiles as explained in the [next section](#docker-compose-profiles).
+> If you want to use profiles other than the ones associated with the folders (`dynamic-mapping`, `monitor`, `study`, `suite`, `technical`, `study-light`), you have to use profiles as explained in the [next section](#docker-compose-profiles).
```bash
$ cd docker-compose/suite
@@ -68,6 +68,10 @@ $ cd docker-compose/study
$ docker compose up
```
```bash
+$ cd docker-compose/study-light
+$ docker compose up
+```
+```bash
$ cd docker-compose/dynamic-mapping
$ docker compose up
```
@@ -91,22 +95,22 @@ _Everything described in this section is inside the folder `explicit-profiles`._
Here's the summary of the profiles and what services they includes:
| **Component \ Service** | **_(none)_** | **study** | **study-light** | **dynamic-mapping** | **dynamic-simulation** | **suite** | **import** | **kibana** | **pgadmin** | **metrics** | **monitor** |
|--- |--- |--- |--- |--- |--- |--- |--- |--- |--- |--- |--- |
-| rabbitmq
postgres
elasticsearch
minio* | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | ✅ |
-| kibana
logstash
socat
logspout | | | | | | | | ✅ | | | |
+| case-import-server | | | | | | | ✅ | | | | |
+| kibana
logspout
logstash
socat | | | | | | | | ✅ | | | |
+| elasticsearch-exporter
grafana
postgres-exporter
prometheus | | | | | | | | | | ✅ | |
+| gridmonitor-app
monitor-lf-worker-server
monitor-notification-server
monitor-sa-worker-server
monitor-server | | | | | | | | | | | ✅ |
| pgadmin | | | | | | | | | ✅ | | |
-| apps‑metadata‑server
mock‑user‑service
gateway
config‑server
loadflow‑server
user‑admin‑server | | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | | | ✅ |
-| config‑notification‑server
network‑conversion‑server
network‑store‑server | | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | | | |
-| actions‑server
case‑server
filter‑server
report‑server | | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | | | ✅ |
-| griddyna‑app
dynamic‑mapping‑server | | | | ✅ | ✅ | ✅ | | | | | |
-| gridstudy‑app
dynamic‑simulation‑server
dynamic‑security‑analysis‑server
dynamic‑margin‑calculation‑server
timeseries‑server | | | | | ✅ | ✅ | | | | | |
-| cgmes‑gl‑server
odre‑server
sensitivity‑analysis‑server
shortcircuit‑server
voltage‑init‑server
gridadmin‑app | | ✅ | | | | ✅ | | | | | |
-| security‑analysis‑server | | ✅ | | | | ✅ | | | | | ✅ |
-| directory‑server | | ✅ | ✅ | | ✅ | ✅ | | | | | ✅ |
-| directory‑notification‑server
explore‑server
geo‑data‑server
gridexplore‑app
network‑map‑server
single‑line‑diagram‑server
study‑notification‑server
study‑server | | ✅ | ✅ | | ✅ | ✅ | | | | | |
-| network‑modification‑server | | ✅ | ✅ | | ✅ | ✅ | | | | | ✅ |
-| gridmonitor-app
monitor-server
monitor-sa-worker-server
monitor-lf-worker-server
monitor-notification-server | | | | | | | | | | | ✅ |
-| case‑import‑server | | | | | | | ✅ | | | | |
-| grafana
prometheus | | | | | | | | | | ✅ | |
+| dynamic-margin-calculation-server
dynamic-security-analysis-server
dynamic-simulation-server
timeseries-server | | | | | ✅ | ✅ | | | | | |
+| cgmes-gl-server
gridadmin-app
odre-server
sensitivity-analysis-server
shortcircuit-server
voltage-init-server | | ✅ | | | | ✅ | | | | | |
+| dynamic-mapping-server
griddyna-app | | | | ✅ | ✅ | ✅ | | | | | |
+| geo-data-server | | ✅ | | | ✅ | ✅ | | | | | |
+| security-analysis-server | | ✅ | | | | ✅ | | | | | ✅ |
+| directory-notification-server
explore-server
gridexplore-app
gridstudy-app
network-map-server
single-line-diagram-server
study-notification-server
study-server | | ✅ | ✅ | | ✅ | ✅ | | | | | |
+| directory-server
network-modification-server | | ✅ | ✅ | | ✅ | ✅ | | | | | ✅ |
+| actions-server | | ✅ | | ✅ | ✅ | ✅ | ✅ | | | | ✅ |
+| config-notification-server
network-conversion-server
network-store-server
study-config-server
user-identity-server | | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | | | |
+| apps-metadata-server
case-server
config-server
filter-server
gateway
loadflow-server
mock-user-service
report-server
user-admin-server | | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | | | ✅ |
+| elasticsearch
postgres
rabbitmq
s3-storage | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
To use a profile, you use:
```shell
@@ -561,4 +565,3 @@ services:
...
```
Now, when using ```docker compose up```, your custom Docker image will be used.
-
diff --git a/docker-compose/docker-compose.base.yml b/docker-compose/docker-compose.base.yml
index 33f9a36b..f1d41ec1 100644
--- a/docker-compose/docker-compose.base.yml
+++ b/docker-compose/docker-compose.base.yml
@@ -1,5 +1,3 @@
-version: '4.0'
-
services:
case-server:
profiles:
@@ -18,12 +16,20 @@ services:
- ../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:
+ postgres:
+ condition: service_healthy
+ elasticsearch:
+ condition: service_healthy
+ s3-storage:
+ condition: service_healthy
+ rabbitmq:
+ condition: service_healthy
logspout:
condition: "service_started"
required: false
restart: unless-stopped
environment:
- - JAVA_TOOL_OPTIONS=-Xmx186m #deployment: 768m
+ - JAVA_TOOL_OPTIONS=-Xmx186m
command: >
--server.port=80
--spring.config.additional-location=/config/
@@ -41,7 +47,6 @@ services:
- all
- suite
- study
- - study-light
- dynamic-mapping
- dynamic-simulation
- import
@@ -54,19 +59,23 @@ services:
- ../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z
restart: unless-stopped
depends_on:
+ postgres:
+ condition: service_healthy
+ rabbitmq:
+ condition: service_healthy
logspout:
condition: "service_started"
required: false
environment:
- - JAVA_TOOL_OPTIONS=-Xmx576m
+ - 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: 1g
+ memswap_limit: 768m
deploy:
resources:
limits:
- memory: 1g
+ memory: 768m
filter-server:
profiles:
@@ -86,6 +95,10 @@ services:
- ../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z
restart: unless-stopped
depends_on:
+ postgres:
+ condition: service_healthy
+ rabbitmq:
+ condition: service_healthy
logspout:
condition: "service_started"
required: false
@@ -93,12 +106,12 @@ services:
sysctls:
- net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0
environment:
- - JAVA_TOOL_OPTIONS=-Xmx576m
- memswap_limit: 1g
+ - JAVA_TOOL_OPTIONS=-Xmx384m
+ memswap_limit: 768m
deploy:
resources:
limits:
- memory: 1g
+ memory: 768m
user-admin-server:
profiles:
@@ -118,6 +131,10 @@ services:
- ../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z
restart: unless-stopped
depends_on:
+ postgres:
+ condition: service_healthy
+ rabbitmq:
+ condition: service_healthy
logspout:
condition: "service_started"
required: false
@@ -149,6 +166,8 @@ services:
- ../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z
restart: unless-stopped
depends_on:
+ postgres:
+ condition: service_healthy
logspout:
condition: "service_started"
required: false
@@ -180,6 +199,8 @@ services:
- ../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z
restart: unless-stopped
depends_on:
+ postgres:
+ condition: service_healthy
logspout:
condition: "service_started"
required: false
@@ -212,6 +233,8 @@ services:
- ../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z
restart: unless-stopped
depends_on:
+ postgres:
+ condition: service_healthy
logspout:
condition: "service_started"
required: false
@@ -219,12 +242,12 @@ services:
sysctls:
- net.ipv4.ip_unprivileged_port_start=0 # for docker < 20.03.0
environment:
- - JAVA_TOOL_OPTIONS=-Xmx384m
- memswap_limit: 768m
+ - JAVA_TOOL_OPTIONS=-Xmx186m
+ memswap_limit: 512m
deploy:
resources:
limits:
- memory: 768m
+ memory: 512m
network-store-server:
profiles:
@@ -243,19 +266,21 @@ services:
- ../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z
restart: unless-stopped
depends_on:
+ postgres:
+ condition: service_healthy
logspout:
condition: "service_started"
required: false
environment:
- - JAVA_TOOL_OPTIONS=-Xmx1086m #deployment: 1408m
+ - 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: 1664m #deployment: 2048m
+ memswap_limit: 1280m
deploy:
resources:
limits:
- memory: 1664m #deployment: 2048m
+ memory: 1280m
network-conversion-server:
profiles:
@@ -275,19 +300,25 @@ services:
- ../k8s/resources/common/config/network-conversion-server-config.yml:/home/powsybl/.itools/config.yml:Z
restart: unless-stopped
depends_on:
+ elasticsearch:
+ condition: service_healthy
+ s3-storage:
+ condition: service_healthy
+ rabbitmq:
+ condition: service_healthy
logspout:
condition: "service_started"
required: false
environment:
- - JAVA_TOOL_OPTIONS=-Xmx768m #deployment: 1408m
+ - 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: 1280m #deployment: 2048m
+ memswap_limit: 1g
deploy:
resources:
limits:
- memory: 1280m #deployment: 2048m
+ memory: 1g
loadflow-server:
profiles:
@@ -308,19 +339,23 @@ services:
- ../k8s/resources/common/config/loadflow-server-config.yml:/home/powsybl/.itools/config.yml:Z
restart: unless-stopped
depends_on:
+ postgres:
+ condition: service_healthy
+ rabbitmq:
+ condition: service_healthy
logspout:
condition: "service_started"
required: false
environment:
- - JAVA_TOOL_OPTIONS=-Xmx768m #deployment: 1408m
+ - 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: 1792m #deployment: 3072m
+ memswap_limit: 1g
deploy:
resources:
limits:
- memory: 1792m #deployment: 3072m
+ memory: 1g
config-server:
profiles:
@@ -339,6 +374,11 @@ services:
- ../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
+ depends_on:
+ postgres:
+ condition: service_healthy
+ rabbitmq:
+ condition: service_healthy
environment:
- JAVA_TOOL_OPTIONS=-Xmx96m
command: --server.port=80 --spring.config.additional-location=/config/
@@ -366,6 +406,9 @@ services:
- ../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
+ depends_on:
+ rabbitmq:
+ condition: service_healthy
environment:
- JAVA_TOOL_OPTIONS=-Xmx96m
command: --server.port=80 --spring.config.additional-location=/config/
diff --git a/docker-compose/dynamic-mapping/docker-compose.dynamic-mapping.yml b/docker-compose/dynamic-mapping/docker-compose.dynamic-mapping.yml
index 74a32790..e9002c99 100644
--- a/docker-compose/dynamic-mapping/docker-compose.dynamic-mapping.yml
+++ b/docker-compose/dynamic-mapping/docker-compose.dynamic-mapping.yml
@@ -1,5 +1,3 @@
-version: '4.0'
-
services:
griddyna-app:
profiles:
@@ -38,16 +36,18 @@ services:
- ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z
restart: unless-stopped
depends_on:
+ postgres:
+ condition: service_healthy
logspout:
condition: "service_started"
required: false
environment:
- - JAVA_TOOL_OPTIONS=-Xmx576m
+ - 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: 1g
+ memswap_limit: 768m
deploy:
resources:
limits:
- memory: 1g
\ No newline at end of file
+ memory: 768m
diff --git a/docker-compose/monitor/docker-compose.monitor.yml b/docker-compose/monitor/docker-compose.monitor.yml
index 4e3f06ca..ea1d368a 100644
--- a/docker-compose/monitor/docker-compose.monitor.yml
+++ b/docker-compose/monitor/docker-compose.monitor.yml
@@ -1,5 +1,3 @@
-version: '4.0'
-
services:
monitor-server:
profiles:
@@ -15,6 +13,12 @@ services:
logspout:
condition: "service_started"
required: false
+ postgres:
+ condition: service_healthy
+ s3-storage:
+ condition: service_healthy
+ rabbitmq:
+ condition: service_healthy
restart: unless-stopped
environment:
- JAVA_TOOL_OPTIONS=-Xmx96m
@@ -40,17 +44,21 @@ services:
logspout:
condition: "service_started"
required: false
+ s3-storage:
+ condition: service_healthy
+ rabbitmq:
+ condition: service_healthy
restart: unless-stopped
environment:
- - JAVA_TOOL_OPTIONS=-Xmx1086m #deployment: 3072m
+ - 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 #deployment: 5632m
+ memswap_limit: 1280m
deploy:
resources:
limits:
- memory: 1792m #deployment: 5632m
+ memory: 1280m
monitor-lf-worker-server:
profiles:
@@ -65,17 +73,21 @@ services:
logspout:
condition: "service_started"
required: false
+ s3-storage:
+ condition: service_healthy
+ rabbitmq:
+ condition: service_healthy
restart: unless-stopped
environment:
- - JAVA_TOOL_OPTIONS=-Xmx768m #deployment: 1408m
+ - 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: 1536m #deployment: 3072m
+ memswap_limit: 1280m
deploy:
resources:
limits:
- memory: 1536m #deployment: 3072m
+ memory: 1280m
monitor-notification-server:
profiles:
@@ -92,6 +104,8 @@ services:
logspout:
condition: "service_started"
required: false
+ rabbitmq:
+ condition: service_healthy
environment:
- JAVA_TOOL_OPTIONS=-Xmx96m
command: --server.port=80 --spring.config.additional-location=/config/
diff --git a/docker-compose/study-light/.env b/docker-compose/study-light/.env
new file mode 100644
index 00000000..380c3a26
--- /dev/null
+++ b/docker-compose/study-light/.env
@@ -0,0 +1,5 @@
+SHOULD_INIT_GEO_DATA=true
+SHOULD_INIT_LINES_CATALOG=true
+
+COMPOSE_PROJECT_NAME=gridstudylight
+COMPOSE_PROFILES=study-light
diff --git a/docker-compose/study-light/docker-compose.yml b/docker-compose/study-light/docker-compose.yml
new file mode 100644
index 00000000..56f1b702
--- /dev/null
+++ b/docker-compose/study-light/docker-compose.yml
@@ -0,0 +1,4 @@
+include:
+ - ../docker-compose.base.yml
+ - ../technical/docker-compose.technical.yml
+ - ../study/docker-compose.study.yml
diff --git a/docker-compose/study/docker-compose.study.yml b/docker-compose/study/docker-compose.study.yml
index 59f73c08..b44f4ebc 100644
--- a/docker-compose/study/docker-compose.study.yml
+++ b/docker-compose/study/docker-compose.study.yml
@@ -1,5 +1,3 @@
-version: '4.0'
-
services:
study-server:
profiles:
@@ -16,26 +14,31 @@ services:
- ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z
restart: unless-stopped
depends_on:
+ postgres:
+ condition: service_healthy
+ elasticsearch:
+ condition: service_healthy
+ rabbitmq:
+ condition: service_healthy
logspout:
condition: "service_started"
required: false
environment:
- - JAVA_TOOL_OPTIONS=-Xmx576m
+ - 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: 1g
+ memswap_limit: 768m
deploy:
resources:
limits:
- memory: 1g
+ memory: 768m
geo-data-server:
profiles:
- all
- suite
- study
- - study-light
- dynamic-simulation
image: gridsuite/geo-data-server:latest
ports:
@@ -45,19 +48,21 @@ services:
- ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z
restart: unless-stopped
depends_on:
+ postgres:
+ condition: service_healthy
logspout:
condition: "service_started"
required: false
environment:
- - JAVA_TOOL_OPTIONS=-Xmx576m
+ - 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: 1g
+ memswap_limit: 768m
deploy:
resources:
limits:
- memory: 1g
+ memory: 768m
single-line-diagram-server:
profiles:
@@ -74,19 +79,21 @@ services:
- ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z
restart: unless-stopped
depends_on:
+ postgres:
+ condition: service_healthy
logspout:
condition: "service_started"
required: false
environment:
- - JAVA_TOOL_OPTIONS=-Xmx384m #deployment: 576m
+ - JAVA_TOOL_OPTIONS=-Xmx186m
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
+ memswap_limit: 512m
deploy:
resources:
limits:
- memory: 768m #deployment: 1024m
+ memory: 512m
network-modification-server:
profiles:
@@ -105,19 +112,25 @@ services:
- ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z
restart: unless-stopped
depends_on:
+ postgres:
+ condition: service_healthy
+ elasticsearch:
+ condition: service_healthy
+ rabbitmq:
+ condition: service_healthy
logspout:
condition: "service_started"
required: false
environment:
- - JAVA_TOOL_OPTIONS=-Xmx768m #deployment: 1086m
+ - 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: 1280m #deployment: 1664m
+ memswap_limit: 1g
deploy:
resources:
limits:
- memory: 1280m #deployment: 1664m
+ memory: 1g
study-notification-server:
profiles:
@@ -134,6 +147,8 @@ services:
- ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z
restart: unless-stopped
depends_on:
+ rabbitmq:
+ condition: service_healthy
logspout:
condition: "service_started"
required: false
@@ -163,6 +178,8 @@ services:
- ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z
restart: unless-stopped
depends_on:
+ rabbitmq:
+ condition: service_healthy
logspout:
condition: "service_started"
required: false
@@ -196,15 +213,15 @@ services:
condition: "service_started"
required: false
environment:
- - JAVA_TOOL_OPTIONS=-Xmx576m #deployment: 768m
+ - 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: 1g #deployment: 1280m
+ memswap_limit: 768m
deploy:
resources:
limits:
- memory: 1g #deployment: 1280m
+ memory: 768m
cgmes-gl-server:
profiles:
@@ -250,21 +267,22 @@ services:
condition: "service_started"
required: false
environment:
- - JAVA_TOOL_OPTIONS=-Xmx768m
+ - 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: 1.25g
+ memswap_limit: 1g
deploy:
resources:
limits:
- memory: 1.25g
+ memory: 1g
gridstudy-app:
profiles:
- all
- suite
- study
+ - study-light
- dynamic-simulation
image: gridsuite/gridstudy-app:latest
ports:
@@ -298,19 +316,23 @@ services:
- ../../k8s/resources/study/config/security-analysis-server-config.yml:/home/powsybl/.itools/config.yml:Z
restart: unless-stopped
depends_on:
+ postgres:
+ condition: service_healthy
+ rabbitmq:
+ condition: service_healthy
logspout:
condition: "service_started"
required: false
environment:
- - JAVA_TOOL_OPTIONS=-Xmx1086m #deployment: 3072m
+ - 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 #deployment: 5632m
+ memswap_limit: 1280m
deploy:
resources:
limits:
- memory: 1792m #deployment: 5632m
+ memory: 1280m
dynamic-simulation-server:
profiles:
@@ -325,16 +347,23 @@ services:
- ../../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
+ depends_on:
+ postgres:
+ condition: service_healthy
+ s3-storage:
+ condition: service_healthy
+ rabbitmq:
+ condition: service_healthy
environment:
- - JAVA_TOOL_OPTIONS=-Xmx768m
+ - 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: 1792m
+ memswap_limit: 1g
deploy:
resources:
limits:
- memory: 1792m
+ memory: 1g
dynamic-security-analysis-server:
profiles:
@@ -349,16 +378,23 @@ services:
- ../../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
+ depends_on:
+ postgres:
+ condition: service_healthy
+ s3-storage:
+ condition: service_healthy
+ rabbitmq:
+ condition: service_healthy
environment:
- - JAVA_TOOL_OPTIONS=-Xmx768m
+ - 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: 1792m
+ memswap_limit: 1g
deploy:
resources:
limits:
- memory: 1792m
+ memory: 1g
dynamic-margin-calculation-server:
profiles:
@@ -373,16 +409,23 @@ services:
- ../../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
+ depends_on:
+ postgres:
+ condition: service_healthy
+ s3-storage:
+ condition: service_healthy
+ rabbitmq:
+ condition: service_healthy
environment:
- - JAVA_TOOL_OPTIONS=-Xmx768m
+ - 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: 1792m
+ memswap_limit: 1g
deploy:
resources:
limits:
- memory: 1792m
+ memory: 1g
directory-server:
profiles:
@@ -400,19 +443,25 @@ services:
- ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z
restart: unless-stopped
depends_on:
+ postgres:
+ condition: service_healthy
+ elasticsearch:
+ condition: service_healthy
+ rabbitmq:
+ condition: service_healthy
logspout:
condition: "service_started"
required: false
environment:
- - JAVA_TOOL_OPTIONS=-Xmx186m
+ - 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: 512m
+ memswap_limit: 384m
deploy:
resources:
limits:
- memory: 512m
+ memory: 384m
gridexplore-app:
profiles:
@@ -453,19 +502,21 @@ services:
- ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z
restart: unless-stopped
depends_on:
+ rabbitmq:
+ condition: service_healthy
logspout:
condition: "service_started"
required: false
environment:
- - JAVA_TOOL_OPTIONS=-Xmx384m
+ - JAVA_TOOL_OPTIONS=-Xmx186m
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
+ memswap_limit: 512m
deploy:
resources:
limits:
- memory: 768m
+ memory: 512m
sensitivity-analysis-server:
profiles:
@@ -481,19 +532,23 @@ services:
- ../../k8s/resources/study/config/sensitivity-analysis-server-config.yml:/home/powsybl/.itools/config.yml:Z
restart: unless-stopped
depends_on:
+ postgres:
+ condition: service_healthy
+ rabbitmq:
+ condition: service_healthy
logspout:
condition: "service_started"
required: false
environment:
- - JAVA_TOOL_OPTIONS=-Xmx768m #deployment: 1408m
+ - 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: 1792m #deployment: 3072m
+ memswap_limit: 1g
deploy:
resources:
limits:
- memory: 1792m #deployment: 3072m
+ memory: 1g
shortcircuit-server:
profiles:
@@ -509,19 +564,25 @@ services:
- ../../k8s/resources/study/config/shortcircuit-server-config.yml:/home/powsybl/.itools/config.yml:Z
restart: unless-stopped
depends_on:
+ postgres:
+ condition: service_healthy
+ s3-storage:
+ condition: service_healthy
+ rabbitmq:
+ condition: service_healthy
logspout:
condition: "service_started"
required: false
environment:
- - JAVA_TOOL_OPTIONS=-Xmx768m
+ - 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: 1792m
+ memswap_limit: 1g
deploy:
resources:
limits:
- memory: 1792m
+ memory: 1g
timeseries-server:
profiles:
@@ -536,19 +597,21 @@ services:
- ../../k8s/resources/common/config/common-application.yml:/config/common/application.yml:Z
restart: unless-stopped
depends_on:
+ postgres:
+ condition: service_healthy
logspout:
condition: "service_started"
required: false
environment:
- - JAVA_TOOL_OPTIONS=-Xmx576m
+ - 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: 1g
+ memswap_limit: 768m
deploy:
resources:
limits:
- memory: 1g
+ memory: 768m
voltage-init-server:
profiles:
@@ -564,19 +627,25 @@ services:
- ../../k8s/resources/study/config/voltage-init-server-config.yml:/home/powsybl/.itools/config.yml:Z
restart: unless-stopped
depends_on:
+ postgres:
+ condition: service_healthy
+ s3-storage:
+ condition: service_healthy
+ rabbitmq:
+ condition: service_healthy
logspout:
condition: "service_started"
required: false
environment:
- - JAVA_TOOL_OPTIONS=-Xmx768m #deployment: -Xmx1086m
+ - 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: 1792m #deployment: 2432m
+ memswap_limit: 1g
deploy:
resources:
limits:
- memory: 1792m #deployment: 2432m
+ memory: 1g
#just here for dev purpose, we don't want to start with this profile unless we need to.
case-import-server:
diff --git a/docker-compose/technical/docker-compose.technical.yml b/docker-compose/technical/docker-compose.technical.yml
index cbec35a8..ae1618e9 100644
--- a/docker-compose/technical/docker-compose.technical.yml
+++ b/docker-compose/technical/docker-compose.technical.yml
@@ -1,5 +1,3 @@
-version: '4.0'
-
services:
rabbitmq:
@@ -8,6 +6,11 @@ services:
- 15672:15672
- 5672:5672
- 15692:15692
+ healthcheck:
+ test: ["CMD-SHELL", "rabbitmq-diagnostics ping"]
+ interval: 10s
+ timeout: 5s
+ retries: 10
depends_on:
logspout:
condition: "service_started"
@@ -45,6 +48,11 @@ services:
- ./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
+ healthcheck:
+ test: ["CMD-SHELL", "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DEFAULT_DB"]
+ interval: 10s
+ timeout: 5s
+ retries: 10
restart: unless-stopped
postgres-exporter:
@@ -60,7 +68,8 @@ services:
- DATA_SOURCE_URI=postgres:5432/postgres?sslmode=disable
restart: unless-stopped
depends_on:
- - postgres
+ postgres:
+ condition: service_healthy
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:8.19.10
@@ -76,6 +85,11 @@ services:
- action.auto_create_index=filebeat-*
volumes:
- $GRIDSUITE_DATABASES/elasticsearch:/usr/share/elasticsearch/data
+ healthcheck:
+ test: ["CMD-SHELL", "curl -fsS http://localhost:9200/_cluster/health >/dev/null"]
+ interval: 10s
+ timeout: 5s
+ retries: 10
restart: unless-stopped
elasticsearch-exporter:
@@ -89,7 +103,8 @@ services:
- "9114:9114"
restart: unless-stopped
depends_on:
- - elasticsearch
+ elasticsearch:
+ condition: service_healthy
kibana:
profiles:
@@ -101,7 +116,8 @@ services:
environment:
- LOGSPOUT=ignore
depends_on:
- - elasticsearch
+ elasticsearch:
+ condition: service_healthy
restart: unless-stopped
logstash:
@@ -115,7 +131,8 @@ services:
environment:
- LOGSPOUT=ignore
depends_on:
- - elasticsearch
+ elasticsearch:
+ condition: service_healthy
restart: unless-stopped
socat:
@@ -154,6 +171,9 @@ services:
- PGADMIN_DEFAULT_PASSWORD=admin
volumes:
- ./servers_pgadmin.json:/pgadmin4/servers.json
+ depends_on:
+ postgres:
+ condition: service_healthy
restart: unless-stopped
s3-storage:
@@ -169,6 +189,11 @@ services:
- MINIO_ROOT_PASSWORD=s3password
volumes:
- $GRIDSUITE_DATABASES/cases_v1/miniodata:/data:Z
+ healthcheck:
+ test: ["CMD-SHELL", "curl -fsS http://localhost:9000/minio/health/live >/dev/null"]
+ interval: 10s
+ timeout: 5s
+ retries: 10
restart: on-failure
prometheus: