#!/bin/bash
APP="$1"; CONTAINER="$2"

if [[ ! -f "$HOME/$APP/PORT" ]]; then
  # First deploy
  ID=$(docker run -d -p 5000 -e PORT=5000 $CONTAINER /bin/bash -c "/start web")
  echo $ID > "$HOME/$APP/CONTAINER"
  PORT=$(docker inspect $ID | ruby -e 'require"json";puts JSON.parse(STDIN.read)["NetworkSettings"]["PortMapping"]["5000"]')
  echo $PORT > "$HOME/$APP/PORT"
  if [[ -f "$HOME/DOMAIN" ]]; then
    HOSTNAME="${APP/\//-}.$(< "$HOME/DOMAIN")"
    $HOME/nginx-app-conf ${APP/\//-} $PORT $HOSTNAME > $HOME/$APP/nginx.conf
    nc -U $HOME/reload-nginx
  else
    HOSTNAME="$(< "$HOME/HOSTNAME"):$PORT"
  fi
  echo $HOSTNAME > "$HOME/$APP/HOSTNAME"
else
  # Regular deploy
  OLDID=$(< "$HOME/$APP/CONTAINER")
  docker kill $OLDID > /dev/null
  PORT=$(< "$HOME/$APP/PORT")
  ID=$(docker run -d -p ":$PORT" -e "PORT=$PORT" $CONTAINER /bin/bash -c "/start web")
  echo $ID > "$HOME/$APP/CONTAINER"
fi
