cc-docker/setupDev.sh

103 lines
3.1 KiB
Bash
Raw Normal View History

#!/bin/bash
2024-10-14 23:00:44 +02:00
echo ""
echo "-----------------------------------------------------------------"
echo "Welcome to cc-docker automatic deployment script."
echo "Make sure you have sudo rights to run docker services"
echo "This script assumes that docker command is added to sudo group"
echo "This means that docker commands do not explicitly require"
echo "'sudo' keyword to run. You can use this following command:"
echo ""
echo "sudo groupadd docker"
echo "sudo usermod -aG docker $USER"
echo ""
echo "This will add docker to the sudo usergroup and all the docker"
echo "command will run as sudo by default without requiring"
echo "'sudo' keyword."
echo "-----------------------------------------------------------------"
echo ""
# Check cc-backend, touch job.db if exists
if [ ! -d cc-backend ]; then
echo "'cc-backend' not yet prepared! Please clone cc-backend repository before starting this script."
echo -n "Stopped."
exit
else
cd cc-backend
if [ ! -d var ]; then
2024-10-10 22:09:01 +02:00
wget https://hpc-mover.rrze.uni-erlangen.de/HPC-Data/0x7b58aefb/eig7ahyo6fo2bais0ephuf2aitohv1ai/job-archive-demo.tar
tar xf job-archive-demo.tar
rm ./job-archive-demo.tar
2024-10-10 23:56:44 +02:00
cp ./configs/env-template.txt .env
cp ./configs/config-demo.json config.json
2024-10-14 23:00:44 +02:00
make
2024-10-10 22:09:01 +02:00
./cc-backend -migrate-db
./cc-backend --init-db --add-user demo:admin:AdminDev
cd ..
else
2024-10-10 22:09:01 +02:00
cd ..
# echo "'cc-backend/var' exists. Cautiously exiting."
# echo -n "Stopped."
# exit
fi
fi
2024-10-14 23:00:44 +02:00
mkdir -m777 data
# Download unedited checkpoint files to ./data/cc-metric-store-source/checkpoints
if [ ! -d data/cc-metric-store-source ]; then
2024-10-10 15:04:47 +02:00
mkdir -p data/cc-metric-store-source/checkpoints
cd data/cc-metric-store-source/checkpoints
wget https://hpc-mover.rrze.uni-erlangen.de/HPC-Data/0x7b58aefb/eig7ahyo6fo2bais0ephuf2aitohv1ai/cc-metric-store-checkpoints.tar.xz
tar xf cc-metric-store-checkpoints.tar.xz
rm cc-metric-store-checkpoints.tar.xz
cd ../../../
else
echo "'data/cc-metric-store-source' already exists!"
fi
# Update timestamps
perl ./migrateTimestamps.pl
2023-06-23 06:37:41 +02:00
# Create archive folder for rewritten ccms checkpoints
if [ ! -d data/cc-metric-store/archive ]; then
mkdir -p data/cc-metric-store/archive
fi
# cleanup sources
# rm -r ./data/job-archive-source
2024-10-10 22:09:01 +02:00
# rm -r ./data/cc-metric-store-source
# prepare folders for influxdb2
if [ ! -d data/influxdb ]; then
mkdir -p data/influxdb/data
2024-10-10 23:56:44 +02:00
mkdir -p data/influxdb/config
else
echo "'data/influxdb' already exists!"
fi
# Check dotenv-file and docker-compose-yml, copy accordingly if not present and build docker services
if [ ! -d .env ]; then
cp templates/env.default ./.env
fi
2024-10-10 15:04:47 +02:00
if [ ! -f docker-compose.yml ]; then
cp templates/docker-compose.yml.default ./docker-compose.yml
fi
2024-10-10 22:09:01 +02:00
docker-compose down
cd slurm/base/
make
cd ../..
docker-compose build
docker-compose up -d
2024-10-10 22:09:01 +02:00
echo ""
echo "Setup complete, containers are up by default: Shut down with 'docker-compose down'."
2024-10-14 23:00:44 +02:00
echo "Use './cc-backend/cc-backend -server' to start cc-backend."
2024-10-10 22:09:01 +02:00
echo "Use scripts in /scripts to load data into influx or mariadb."