Skip to content

Maintenance

Updating the repository to newer commits or other branches

To update the repository to newer commits or other branches, execute the following commands in the yaptide and/or ui directory:

git pull

update submodules (i.e. converter):

git submodule update --init --recursive

Then stop the containers:

docker compose down

and start them again:

docker compose up --detach --build

Note the --build flag. It is needed to rebuild the containers, as the source code has changed.

Storage volume

The yaptide backend uses the docker volume named yaptide_data to store the data. It hosts PostgreSQL data with following information:

  • user accounts
  • data related to simulations:
    • pending and completed jobs and tasks
    • simulation input files
    • simulation results and logs
  • list of supported clusters

The volume is created automatically (with empty database) when the backend containers are started for the first time. To remove the volume and all data stored in it, stop the backend containers, by executing in the yaptide directory:

docker compose down --volumes

SSL certificates

The SSL certificates are used to secure the communication for two cases:

  • between the user client and the machine serving the UI
  • between the user client and the machine serving the backend

Frontend uses Nginx to serve statically generated HTML, CSS and JavaScript files. Backend uses Nginx as a proxy to forward requests to the backend server. Both Nginx instances are configured to use SSL certificates.

By default the self-signed certificates are used (usually not trusted by the browser). They are generated automatically when the containers are started for the first time.

To replace self-signed certificates with your own, stop the containers and replace the files according to the following recipe.

Frontend

Ensure that yaptide_ui container is running.

Copy the files server.key containing the private key:

docker cp server.key yaptide_ui:/etc/nginx/conf.d/server.key

and server.crt containing the certificate:

docker cp server.crt yaptide_ui:/etc/nginx/conf.d/server.crt

Restart the container:

docker restart yaptide_ui

Backend

Ensure that yaptide_nginx container is running.

Copy the files server.key containing the private key:

docker cp server.key yaptide_nginx:/etc/nginx/conf.d/server.key

and server.crt containing the certificate:

docker cp server.crt yaptide_nginx:/etc/nginx/conf.d/server.crt

Restart the container:

docker restart yaptide_nginx