#!/bin/bash
echo ========================== PLUGIN COMPILATION ==================================

cd chrome-extension/ 
npm install


export HOST_ADDR="www.researchexperimentation.fr"
export PROTOCOL="https"

export CERTIFICAT_SOURCE="/etc/letsencrypt"
export CERTIFICAT_TARGET="/etc/letsencrypt"
export NODE_ENV="production"

export PLUGIN_INFO=$(node -e 'console.log(JSON.stringify(require("./src/manifest.json")))')


npm run production 
zip -r dist.zip ./dist
mv dist.zip ../dashboard/public
cd ..

echo ========================== CONTAINER DOWN ==================================

docker-compose -f docker-compose.yml -f docker-compose.production-ovh.yml down

echo ========================== VOLUMES CLEANING ==================================

VOLUMES_TO_KEEP[0]=db-data
VOLUMES_TO_KEEP[1]=screenshot
 
for volume in $VOLUMES
do
    must_be_deleted=true
    for volume_to_keep in ${VOLUMES_TO_KEEP[*]}
    do
      if [[ $volume =~ .*$volume_to_keep.* ]];
      then
        must_be_deleted=false
      fi
    done
    if $must_be_deleted = true; then
        docker volume rm $volume 
    fi
done

echo ========================== CONTAINER BUILDING ==================================
docker-compose -f docker-compose.yml -f docker-compose.production-ovh.yml up --build

#  docker-compose -f docker-compose.production-ovh.yml up --build --no-start
#  docker-compose -f docker-compose.production-ovh.yml start mongo rabbitmq website session model printer dashboard account reverseproxy
