For the course 1TD265 (Applied Cloud Computing) @ Uppsala University. Sets up a distributed airfoil calculation cluster using FEniCS with dynamic scaling based on the size of the workload. Requires OpenStack.
- docker-compose up
- Update
docker-compose.prod.ymlwith your domain(s). 3 are required for the web interface, object storage, and API. - Create an instance with Docker and OpenStack credentials as environment variables.
- Install docker
- Authenticate with GitHub package registry (to download private packages)
- Run
docker stack deploy -c docker-compose.prod.yml --with-registry-auth - Run
cd worker-monitor && python3 workerMonitor.py - Go to yourdomain.tld and get computing!
Notes
Traefik (reverse proxy) service discovery can be a slow when deploying it, it speeds up later. Configure hostnames in docker-compose.prod.yml to the correct hostnames before deploying. Services available:
- api.hostname.tld (REST API)
- data.hostname.tld (MinIO / Object Storage)
- hostname.tld (Web Interface)
- hostname.tld:8080 (Traefik/reverse proxy monitoring)
Preferably, don't mooch off our hosting of the murtazo.tgz tarball! Update it to your location in worker/Dockerfile :)
- docker
Also, make sure that the docker daemon is running. If not, run systemctl start docker.service.