diff --git a/compose_files_conf.sh b/compose_files_conf.sh deleted file mode 100755 index 4fabc7a1d7132ae3521356776298752c6ecd3558..0000000000000000000000000000000000000000 --- a/compose_files_conf.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/bash - -# Get the path to all docker-compose files -# with the "-f" flag. - -# Comment the services out that you do not want to use. - - -# Variable that holds all docker-compose files. -# This is the main compose file which includes letsencrypt -# for your auto generated certificates. Don not remove! -docker_compose_files=" -f docker-compose.base.yml " - -# noVNC - Screen sharing with VNC -# docker_compose_files+=" -f ./novnc/docker-compose.yml " - -# letsencrypt -docker_compose_files+=" -f letsencrypt-webserver/docker-compose.yml " - -# jitsi -docker_compose_files+=" -f jitsi/docker-compose.yml " - -# mumble -#docker_compose_files+=" -f ./build-mumble-web/docker-compose.production.yml" - - -# "return" the string -echo "$docker_compose_files" \ No newline at end of file diff --git a/config.sh b/config.sh new file mode 100755 index 0000000000000000000000000000000000000000..7098ee9eb173680eb2988893eb20941a7a1dac6f --- /dev/null +++ b/config.sh @@ -0,0 +1,57 @@ +#!/bin/bash + +# Get the path to all docker-compose files +# with the "-f" flag. + +## YOUR SETTINGS +## Configure domains and letsencrypt +# +DOMAIN=armin-co.de +SUB_DOMAINS="" +MAIL=test@armin-co.de + +USE_JITSI="true" +USE_NO_VNC="false" +USE_MUMBLE="false" + +# Git +GIT_URL="https://gitlab.cvh-server.de/aco/" + + +# Variable that holds all docker-compose files. +# This is the main compose file. Don not remove! +# Required for unified a unified path layout. +base_compose_file=" -f docker-compose.base.yml " +DOCKER_COMPOSE_FILES=$base_compose_file + +# Letsencrypt +letsencrypt_compose_file=" -f letsencrypt-webserver/docker-compose.yml " +DOCKER_COMPOSE_FILES+=$letsencrypt_compose_file +LETSENCRYPT_DIR=letsencrypt-webserver +LETSENCRYPT_URL="$GIT_URL$LETSENCRYPT_DIR".git + +# Jitsi +JITSI_DIR=jitsi-auto-config +JITSI_URL="$GIT_URL$JITSI_DIR".git +if [$USE_JITSI = "true"]; then +jitsi_compose_file=" -f jitsi/docker-compose.yml " +DOCKER_COMPOSE_FILES+=$jitsi_compose_file +SUB_DOMAINS+="jitsi," +fi + +# noVNC - Screen sharing with VNC +NOVNC_DIR=novnc +NOVNC_URL="$GIT_URL$NOVNC_DIR".git +if [$USE_NO_VNC = "true"]; then +novnc_compose_file=" -f ./novnc/docker-compose.yml " +DOCKER_COMPOSE_FILES+=$novnc_compose_file +fi + +# Mumble +MUMBLE_DIR=build-mumble-web +MUMBLE_URL=https://github.com/Johni0702/mumble-web.git +if [$USE_MUMBLE = "true"]; then +mumble_compose_file=" -f ./build-mumble-web/docker-compose.production.yml" +DOCKER_COMPOSE_FILES+=$mumble_compose_file +SUB_DOMAINS+="mumble-web" +fi \ No newline at end of file diff --git a/configure_once.sh b/configure_once.sh index 6aedf939119a512da6d754dd4a7c3949454b4fe8..5ca00859151001e228df866368aeeb39f7a8c606 100755 --- a/configure_once.sh +++ b/configure_once.sh @@ -1,77 +1,33 @@ #!/bin/bash - -## YOUR SETTINGS -## Configure domains and letsencrypt -# -domain=armin-co.de -sub_domains=mumble,mumble-web,jitsi -mail=test@armin-co.de - - - -# git -git_url="https://gitlab.cvh-server.de/aco/" - -## Mumble -# -mumble_dir=build-mumble-web -mumble_url="$git_url$mumble_dir".git - -## Jitsi -# -jitsi_dir=jitsi-auto-config -jitsi_url="$git_url$jitsi_dir".git - - -## letsencrypt -# -le_dir=letsencrypt-webserver -le_url="$git_url$le_dir".git - -## noVNC -# -novnc_dir=novnc -novnc_url="$git_url$novnc_dir".git - - -# Do not request new certificates while developing -dbg_delete_letsencrypt=false - +source config.sh # Remove all existing repositories # and configurations. -function remove_all() { +function remove_all_configs() { echo "Removing all previous configs..." git clean -fd git pull - rm -rf $mumble_dir $jitsi_dir $novnc_dir - - if [$dbg_delete_letsencrypt = "true"]; then - rm -rf $le_dir - fi - + rm -rf $MUMBLE_DIR $JITSI_DIR $NOVNC_DIR echo "Removed all repositories." } - # Clone repositories function clone_repositories() { - git clone $mumble_url - git clone $jitsi_url - git clone $le_url - git clone $novnc_url + git clone $LETSENCRYPT_URL + git clone $JITSI_URL + git clone $NOVNC_URL + git clone $MUMBLE_URL + wait } - - function configure_letsencrypt() { echo "" echo "Setting your letsencrypt domain settings." echo "" - le_compose=$le_dir/docker-compose.yml + le_compose=$LETSENCRYPT_DIR/docker-compose.yml # Adds your domain to docker-compose - sed -i "s/your-domain.com/$domain/" $le_compose + sed -i "s/your-domain.com/$DOMAIN/" $le_compose # Adds the list of subdomains to use to docker-compose sed -i "s/your_subdomains/$sub_domains/" $le_compose # Add E-Mail address that will be used to notify you @@ -79,10 +35,10 @@ function configure_letsencrypt() { sed -i "s/your_email/$mail/" $le_compose # For using not only your subdomains uncomment the following line. - # sed -i "s/- ONLY_SUBDOMAINS=true/- ONLY_SUBDOMAINS=false/" $le_dir + # sed -i "s/- ONLY_SUBDOMAINS=true/- ONLY_SUBDOMAINS=false/" $LETSENCRYPT_DIR # start once to generate directories and certificates - docker-compose -f $le_compose up -d && docker logs reverse-proxy && docker-compose -f $le_compose down + docker-compose $base_compose_file $letsencrypt_compose_file up -d && docker logs reverse_proxy && docker-compose $base_compose_file $letsencrypt_compose_file down echo "" echo "Done configuring LetsEncrypt and generating certificates." } @@ -91,11 +47,11 @@ function configure_letsencrypt() { ## Configure Murmur (mumble server) and mumble-web # function configure_mumble() { - cd build-mumble-web + cd $MUMBLE_DIR git clone https://github.com/Johni0702/mumble-web.git cd .. mkdir murmur - cp $mumble_dir/murmur/mumble-server.ini murmur/mumble-server.ini + cp $MUMBLE_DIR/murmur/mumble-server.ini murmur/mumble-server.ini touch murmur/mumble-server.log } @@ -107,18 +63,12 @@ echo "Starting configuration with cleaning up and pulling again." echo "" ./tools/stop_containers.sh -remove_all +remove_all_configs clone_repositories -# configure letsencrypt configure_letsencrypt - -# configure mumble configure_mumble - ./tools/stop_containers.sh -## pull and update all images -# -# ./tools/update_containers.sh \ No newline at end of file +./tools/update_containers.sh \ No newline at end of file diff --git a/tools/start_containers.sh b/tools/start_containers.sh index 6463d3a6125f4865825a5b86ab836248e09e9fcf..214073c204b6b792e0cdb81d8e7eddf7243cffd2 100755 --- a/tools/start_containers.sh +++ b/tools/start_containers.sh @@ -1,7 +1,5 @@ #!/bin/bash # start/restart all containers -# compose_files=$(./compose_files_conf.sh) -# -source compose_files_conf.sh +source config.sh docker-compose $docker_compose_files up -d \ No newline at end of file diff --git a/tools/stop_containers.sh b/tools/stop_containers.sh index 3d319f1cadce8b66d12c0ab1601a3c3678f59e7a..e9dc11257fcf3f28fbe2ad7e5026fd10adde4f02 100755 --- a/tools/stop_containers.sh +++ b/tools/stop_containers.sh @@ -1,6 +1,4 @@ #!/bin/bash -# compose_files=$(./compose_files_conf.sh) - -source compose_files_conf.sh +source config.sh docker-compose $docker_compose_files down \ No newline at end of file diff --git a/tools/update_containers.sh b/tools/update_containers.sh index c50731e87d1cfa9f1ac48d98acef13d4024cbb67..c61051d8e036e5e0d78ff6a849af16f3a39d24c6 100755 --- a/tools/update_containers.sh +++ b/tools/update_containers.sh @@ -2,17 +2,23 @@ # Update and restart containers -source compose_files_conf.sh -# compose_files=$(./compose_files_conf.sh) +source config.sh echo "Pulling images" echo "" + # pull updated images docker-compose $docker_compose_files pull echo "Building images" echo "" -# build new images if neccessary -docker-compose -f build-mumble-web/docker-compose.production.yml build -docker-compose -f novnc/docker-compose.yml build + +# Build new images if neccessary +if [$USE_MUMBLE = "true"]; then + docker-compose -f $mumble_compose_file build +fi + +if [$USE_NOVNC = "true"]; then + docker-compose -f $novnc_compose_file build +fi