#!/bin/sh

set -eu


basedir="$(readlink -f "$(dirname $0)")"
tmpdir="$basedir"/tmp
datadir="$tmpdir"/data
mkdir -p "$datadir"

dockerfile="$datadir"/../Dockerfile.dev
(
  sed -e '1,/WORKDIR/!d' "$basedir"/Dockerfile
  echo "COPY requirements-dev.txt /srv"
  echo "RUN pip3 install -r /srv/requirements-dev.txt"
  echo 'RUN apt-get install -qy snakefood'
  echo "RUN groupadd -g $(id -g) $(id -gn)"
  echo "RUN useradd -m -u $(id -u) -g $(id -g) -s /bin/bash ${USER}"
  echo "USER ${USER}"
  echo 'CMD sh -c "./manage.py test && ./manage.py migrate && ./manage.py runserver 0.0.0.0:8000"'
) > "$dockerfile"

docker build -t squad/dev -f "$dockerfile" .

exec docker run \
  --env=XDG_DATA_HOME=/app/tmp/data \
  --publish=8000:8000 \
  --volume="$basedir":/app \
  --rm \
  -it squad/dev "$@"
