Waldur Docker-compose deployment
- at least 8GB RAM on Docker Host to run all containers
- Docker v1.13+
1 2 3 4 5
1 2 3 4 5 6 7 8 9 10 11 12
Healthcheck can be accessed on https://localhost/health-check.
Tearing down and cleaning up:
Logs emitted by the containers are collected and saved in the
waldur_logs folder. You can change the location by
editing environment variable (
.env) and updating
When Waldur is launched for the first time, it applies initial database migrations. It means that you may need to wait few minutes until these migrations are applied. Otherwise you may observe HTTP error 500 rendered by REST API server. This issue would be resolved after upgrade to Docker Compose 1.29.
This setup supports following types of SSL certificates:
- Email - set environment variable TLS to your email to register Let's Encrypt account and get free automatic SSL certificates.
- Internal - set environment variable TLS to "internal" to generate self-signed certificates for dev environments
- Custom - set environment variable TLS to "cert.pem key.pem" where cert.pem and key.pem - are paths to your custom certificates (this needs modifying docker-compose with path to your certificates passed as volumes)
Custom Caddy configuration files
To add additional caddy config snippets into the caddy virtual host configuration add .conf files to config/caddy-includes/
Keycloak is an Identity and Access Management software bundled with waldur-docker-compose.
To create a keycloak admin account run:
Login to the admin interface at https://localhost/auth/admin and create Waldur users
Integration with SLURM
SLURM integration requires several major actions.
The preparation step is creation of a shared network for Waldur and FireCREST:
This network will be used for communication between Waldur and FireCREST services.
Deployment of FirecREST
NB: FirecREST integration is not implemented for now. Better check the Waldur SLURM service setup.
The first step is deployment of FirecREST demo. This repository includes build-in SLURM cluster together with FirecREST application itself and several utils (keycloak, minio, jaeger, openapi). An user needs to replace the default keycloak configuration in the firecrest repository. For this, the user should execute the following commands:
1 2 3
Firecrest deployment can be started with these commands:
1 2 3 4 5 6
Update of Waldur setup
Waldur setting should be updated in order to interact with Keycloak service from FireCREST and with FreeIPA demo.
The deployment should be restarted with the fresh settings.
Service provider setup
After this, the service provider should import the SLURM cluster to Waldur. This can be done on Waldur marketplace level, so the result is an offering with the corresponding data.
- Go to
- Input name and other offering details and choose
SLURM remote allocationin "Management" tab
- In the page of the new offering, copy uuid from URL (see image below)
The copied value will be used for deployment of Waldur-SLURM integration service as
- Go to user management tab, set API token lifetime to
token will not time outand click
Update profilebutton. See the example for more details
- Copy value from
Current API tokenfield. This value will be used as
The value of
WALDUR_OFFERING_UUID variables should be adjusted in
Deployment of Waldur SLURM service
The final action is deployment of
waldur-slurm-service module, which is responsible for data synchronization between Waldur and SLURM cluster and modification of corresponding object states in these 2 systems. The user needs to start the deployment in the following way in order to enable
For more configuration details, check Waldur SLURM service guide.
To set up whitelabeling You'll need to set environmental variables. You can see the list of all whitelabeling variables below.
General whitelabeling settings
Logos and images of whitelabeling
The path to a logo is constructed like so: /etc/waldur/icons - is a path in the container (Keep it like it is) + the name of the logo file from config/whitelabeling directory.