com-pas / compas-deployment

CoMPAS Deployment repository
Apache License 2.0
2 stars 2 forks source link
docker-compose iec61850 robotframework

REUSE status CII Best Practices Slack

CoMPAS Deployment Repository

Containing tools / configurations for deploying CoMPAS services. For a deployment overview see here

More about the integration tests being run against these Docker Compose environment can be found here

Docker Compose (PostgreSQL)

There is a pre configured Docker Compose file, which starts all the given CoMPAS services. To start all configured services using PostgreSQL, run the following two commands:

# Build (if needed) and start all the containers in the background.
docker-compose --env-file compas/.env -f compas/docker-compose-postgresql.yml up -d --build

This command will first build the custom images for Keycloak and the Reverse Proxy and then start all containers. To know if all containers are running execute the shell script "bin/docker-wait-on-containers.sh". This script will wait until all containers are running.

The PostgreSQL container is available at port 5432.

To stop and remove all the containers run the command:

# Stop all containers and remove the volumes.
docker-compose -f compas/docker-compose-postgresql.yml down -v

The option '-v' also removes the volumes created, so all data is lost with this option.

Docker Compose (Common)

Custom files

The SCL Validator Service can be extended with custom OCL and NSDOC Files. These can be placed in specific directories, see OCL Files and NSDOC Files.

Known issue with Docker Compose

Using the current configuration with Keycloak and OpenResty (lua-resty-session) sometimes gives an error "state from argument does not match state restored from session". This mostly happens after using logout or the session is expired. The login page is shown, but after login this error is shown. Just open the url http://localhost/ again and OpenSCD is shown again, also being logged in.

Keycloak Demo Configuration

For demo purposes, a demo Keycloak configuration is created which can be imported when running a Keycloak instance.

The following Keycloak attributes have been added:

AWS Documentation

AWS documentation can be found here