Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ $ cd deployment
## Docker compose deployment

> **Important**
> [Docker Compose v2](https://docs.docker.com/compose/install/standalone/) is mandatory.
> [Docker Compose v2.20.0+](https://docs.docker.com/compose/install/standalone/) is mandatory.
> _See instructions in [sub-section](#installing--updating-docker-compose-to-v2)_


Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
92 changes: 92 additions & 0 deletions docker-compose/_base/docker-compose.fronts.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
services:
gridadmin-app:
profiles:
- all
- suite
- study
image: gridsuite/gridadmin-app:latest
ports:
- 82:8080
volumes:
- ./config/apps/gridadmin-app-idpSettings.json:/opt/bitnami/apache/htdocs/gridadmin/idpSettings.json:Z
- ./config/apps/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

gridexplore-app:
profiles:
- all
- suite
- study
- study-light
- dynamic-simulation
image: gridsuite/gridexplore-app:latest
ports:
- 80:8080
volumes:
- ./config/apps/gridexplore-app-idpSettings.json:/opt/bitnami/apache/htdocs/gridexplore/idpSettings.json:Z
- ./config/apps/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

gridstudy-app:
profiles:
- all
- suite
- study
- dynamic-simulation
image: gridsuite/gridstudy-app:latest
ports:
- 84:8080
volumes:
- ./config/apps/gridstudy-app-idpSettings.json:/opt/bitnami/apache/htdocs/gridstudy/idpSettings.json:Z
- ./config/apps/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

griddyna-app:
profiles:
- all
- suite
- dynamic-mapping
- dynamic-simulation
image: gridsuite/griddyna-app:latest
ports:
- 83:8080
volumes:
- ./config/apps/griddyna-app-idpSettings.json:/opt/bitnami/apache/htdocs/griddyna/idpSettings.json:Z
- ./config/apps/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
Original file line number Diff line number Diff line change
@@ -1,6 +1,95 @@
version: '4.0'

services:
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:
- ./config/metadata/apps-metadata.json:/opt/bitnami/apache/htdocs/apps-metadata.json:Z
- ./config/metadata/version.json:/opt/bitnami/apache/htdocs/version.json:Z
- ./config/metadata/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

rabbitmq:
image: rabbitmq:4.0.4-management
Expand All @@ -14,16 +103,32 @@ services:
required: false
restart: unless-stopped

s3-storage:
image: minio/minio:RELEASE.2023-09-27T15-22-50Z
# need to override entrypoint to create the bucket, is there a simpler way ?
entrypoint: sh
# We couldn't find yet another way to conditionnally start or not the minio container. Better solution appreciated.
command: -c '[ "${STORAGE_TYPE-FS}" = "S3" ] || exit 0; mkdir -p /data/ws-bucket && /usr/bin/docker-entrypoint.sh server /data --console-address ":19090"'
ports:
- 19000:9000
- 19090:19090
environment:
- MINIO_ROOT_USER=s3username
- MINIO_ROOT_PASSWORD=s3password
volumes:
- $GRIDSUITE_DATABASES/cases_v1/miniodata:/data:Z
restart: on-failure

postgres:
build:
context: $PWD/../technical
context: ./config/postgresql
dockerfile: Dockerfile-postgres
args:
- http_proxy=${http_proxy-}
- https_proxy=${https_proxy-}
- no_proxy=${no_proxy-}
ports:
- "5432:5432"
- 5432:5432
command: "/init-databases.sh
-c listen_addresses='*'
-c shared_preload_libraries='auto_explain'
Expand All @@ -41,10 +146,10 @@ services:
volumes:
- $GRIDSUITE_DATABASES/postgres/data:/var/lib/postgresql/data:Z
- $GRIDSUITE_DATABASES/init:/init-data:Z
- $PWD/../technical/create-postgres-databases.sh:/create-postgres-databases.sh:Z
- $PWD/../technical/init-databases.sh:/init-databases.sh:Z
- $PWD/../technical/init-geo-data.sh:/init-geo-data.sh:Z
- $PWD/../technical/init-lines-catalog.sh:/init-lines-catalog.sh:Z
- ./config/postgresql/create-postgres-databases.sh:/create-postgres-databases.sh:Z
- ./config/postgresql/init-databases.sh:/init-databases.sh:Z
- ./config/postgresql/init-geo-data.sh:/init-geo-data.sh:Z
- ./config/postgresql/init-lines-catalog.sh:/init-lines-catalog.sh:Z
restart: unless-stopped

postgres-exporter:
Expand All @@ -53,7 +158,7 @@ services:
- metrics
image: prometheuscommunity/postgres-exporter:v0.15.0
ports:
- "9187:9187"
- 9187:9187
environment:
- DATA_SOURCE_USER=postgres
- DATA_SOURCE_PASS=postgres
Expand All @@ -62,6 +167,20 @@ services:
depends_on:
- postgres

pgadmin:
profiles:
- all
- pgadmin
image: dpage/pgadmin4:latest
ports:
- 12080:80
environment:
- [email protected]
- PGADMIN_DEFAULT_PASSWORD=admin
volumes:
- ./config/servers_pgadmin.json:/pgadmin4/servers.json
restart: unless-stopped

elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:8.7.1
ports:
Expand All @@ -83,10 +202,9 @@ services:
- all
- metrics
image: prometheuscommunity/elasticsearch-exporter:v1.7.0
command:
- '--es.uri=http://elasticsearch:9200'
command: --es.uri=http://elasticsearch:9200
ports:
- "9114:9114"
- 9114:9114
restart: unless-stopped
depends_on:
- elasticsearch
Expand All @@ -110,8 +228,8 @@ services:
- kibana
image: docker.elastic.co/logstash/logstash:8.7.1
volumes:
- $PWD/../technical/pipelines.yml:/config/pipelines.yml:Z
- $PWD/../technical/logstash.conf:/usr/share/logstash/pipeline/logstash.conf:Z
- ./config/logstash/pipelines.yml:/config/pipelines.yml:Z
- ./config/logstash/logstash.conf:/usr/share/logstash/pipeline/logstash.conf:Z
environment:
- LOGSPOUT=ignore
depends_on:
Expand Down Expand Up @@ -142,57 +260,27 @@ services:
- socat
restart: unless-stopped

pgadmin:
profiles:
- all
- pgadmin
image: dpage/pgadmin4:latest
ports:
- "12080:80"
environment:
- [email protected]
- PGADMIN_DEFAULT_PASSWORD=admin
volumes:
- $PWD/../technical/servers_pgadmin.json:/pgadmin4/servers.json
restart: unless-stopped

s3-storage:
image: minio/minio:RELEASE.2023-09-27T15-22-50Z
# need to override entrypoint to create the bucket, is there a simpler way ?
entrypoint: sh
# We couldn't find yet another way to conditionnally start or not the minio container. Better solution appreciated.
command: -c '[ "${STORAGE_TYPE-FS}" = "S3" ] || exit 0; mkdir -p /data/ws-bucket && /usr/bin/docker-entrypoint.sh server /data --console-address ":19090"'
ports:
- "19000:9000"
- "19090:19090"
environment:
- MINIO_ROOT_USER=s3username
- MINIO_ROOT_PASSWORD=s3password
volumes:
- $GRIDSUITE_DATABASES/cases_v1/miniodata:/data:Z
restart: on-failure

prometheus:
profiles:
- all
- metrics
image: prom/prometheus:v2.28.1
command: --enable-feature=exemplar-storage
volumes:
- $PWD/../technical/prometheus.yml:/prometheus/prometheus.yml:ro
- ./config/prometheus.yml:/prometheus/prometheus.yml:ro
restart: unless-stopped
ports:
- "8000:9090"
- 8000:9090

grafana:
profiles:
- all
- metrics
image: grafana/grafana:10.2.2
volumes:
- $PWD/../technical/grafana/datasources:/etc/grafana/provisioning/datasources:ro
- $PWD/../technical/grafana/dashboards:/etc/grafana/provisioning/dashboards:ro
- $PWD/../technical/grafana/alerting:/etc/grafana/provisioning/alerting:ro
- ./config/grafana/datasources:/etc/grafana/provisioning/datasources:ro
- ./config/grafana/dashboards:/etc/grafana/provisioning/dashboards:ro
- ./config/grafana/alerting:/etc/grafana/provisioning/alerting:ro
restart: unless-stopped
environment:
- GF_AUTH_ANONYMOUS_ENABLED=true
Expand All @@ -201,4 +289,4 @@ services:
- GF_ANALYTICS_REPORTING_ENABLED=false
- GF_ANALYTICS_CHECK_FOR_UPDATES=false
ports:
- "7000:3000"
- 7000:3000
Loading