#!/bin/bash

status_check() {
    docker-compose ps --services --filter "status=running" | grep nginx:1.15-alpine
    export status=$?
    if [ $status = 0 ]; then
        return 1
    else
        return 0
    fi
}
build() {
    echo "Building The Container...."
    docker-compose build
}

start() {
    echo "Starting The Container...."
    docker-compose up --build
    # sleep 30
}

down() {
    echo "Stopping The Container...."
    docker-compose down

}
echo 
echo "Nginx & Certbot Docker Image"
echo "============================================================"
echo
now=$(date)
echo "Start At: $now"
cd $PWD
status_check
export CT_STATUS=$?
case "$1" in 
    build)
        if [[ "$CT_STATUS" -eq "1" ]]; then
            stop
            build
        else
            build
        fi
       ;;
    start | up)
       if [[ "$CT_STATUS" -eq "1" ]]; then
            stop
            build
            start
        else
            start
        fi
       ;;
    stop | down)
       if [[ "$CT_STATUS" -eq "1" ]]; then
            down
        else
            echo "Container Is Not Running....."
        fi
       ;;
    restart)
        if [[ "$CT_STATUS" -eq "1" ]]; then
            stop
            build
            start
        else
            build
            start
        fi
       ;;
    status)       
        if [[ "$CT_STATUS" -eq "1" ]];
            then
            echo "Container Is Running........"
        else
            echo "Container Is Not Running........"
        fi
       ;;
    *)
       echo "Usage: $0 {start|down|stop|status|restart}"
esac