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