diff --git a/run/scripts/delete b/run/scripts/delete index 09526c0b55405ab83ed99154b24da11ceb1a42e9..d187b45f56db9a8bab0c98e0f41c4060bd1a9d6d 100755 --- a/run/scripts/delete +++ b/run/scripts/delete @@ -1,14 +1,14 @@ #!/bin/bash function removecontainer() { - docker container ls --all -q -f name=^${PROJECT}_ > /tmp/reset.lst + docker container ls --all -q -f name=^${PROJECT}_ >/tmp/reset.lst IDS=$(cat /tmp/reset.lst) if [[ ! -n ${IDS} ]]; then echo "No containers to be removed." return fi echo "Deleting containers ..." - for CONTAINERID in `cat /tmp/reset.lst`; do + for CONTAINERID in $(cat /tmp/reset.lst); do docker rm -f $CONTAINERID done rm /tmp/reset.lst @@ -25,21 +25,34 @@ function removenetwork() { if [[ -f "docker-compose.yml" ]]; then sed -i -e "/- ${PROJECT}$/d" docker-compose.yml sed -i -e "/^ ${PROJECT}:$/{N;d;}" docker-compose.yml - docker-compose stop - docker rm -f traefik_traefik_1 - docker network rm traefik_${PROJECT} - docker-compose --project-name traefik up -d + NETWORKS="${NETWORKS} traefik_${PROJECT}" fi } +function rebuildtraefik() { + cd ${HOME}/.traefik || return + if [[ -f "docker-compose.yml" ]]; then + docker-compose --project-name traefik up -d --remove-orphans + fi + if [[ "$NETWORKS" == "" ]]; then + return + fi + docker network rm ${NETWORKS} +} + if [[ -n $1 ]]; then - PROJECT=$1 + NETWORKS="" + while [[ -n $1 ]]; do + PROJECT=$1 + read -p "Are you sure you want to remove the project ${PROJECT} with all containers and network? Type YES to confirm: " CONFIRM + if [[ "$CONFIRM" == YES ]]; then + removecontainer + removenetwork + fi + shift + done + rebuildtraefik else echo "Please provide the project name you want to delete." exit fi -read -p "Are you sure you want to remove the project ${PROJECT} with all containers and network? Type YES to confirm: " CONFIRM -if [[ "$CONFIRM" == YES ]]; then - removecontainer - removenetwork -fi