#!/bin/bash # create a circus network containing most of the containers making interaction # on a network layer in between the containers possible docker network create circus 2> /dev/zero # create a network containing the database storing the challenges making it # possible that containers in the same network can interact with the database docker network create circus_db 2> /dev/zero # get a hostname and a ctfname from the user read -e -p "HOSTNAME: " -i "ctf.flexerilla.team" HOSTNAME read -e -p "CTFNAME: " -i "FlexCTF" CTFNAME # Write the vars to the .env file echo "HOSTNAME=$HOSTNAME" > .env echo "CTFNAME=$CTFNAME" >> .env # Grafana settings read -e -p "Grafana server: " -i "https://grafana.$HOSTNAME:3000" GF_SERVER_ROOT_URL read -e -p "Grafana admin pwd: " -i "secret" GF_SECURITY_ADMIN_PASSWORD # Write the Grafana settings into the grafana.env file echo "GF_SERVER_ROOT_URL=$GF_SERVER_ROOT_URL" > grafana.env echo "GF_SECURITY_ADMIN_PASSWORD=$GF_SECURITY_ADMIN_PASSWORD" >> grafana.env # Ask if the circus should be started read -p "Do you want to start the circus now? (y/n) " -n 1 -r echo # (optional) move to a new line if [[ ! $REPLY =~ ^[Yy]$ ]] then exit 1 fi # start the docker-compose docker-compose up -d