#!/bin/bash -e
#adduser --system --no-create-home --home /data --uid 1000  www-user
#sed -i "s/APACHE_RUN_USER=www-data/APACHE_RUN_USER=www-user/" /etc/apache2/envvars
sed -i "s#data_directory = '.*'#data_directory = '/data/run/postgres'#" /etc/postgresql/10/main/postgresql.conf

# for deploy mode with SSL:
if [[ -e /data/ssl/fullchain1.pem ]] ; then
  a2enmod ssl || true
  rm /etc/apache2/sites-enabled/apache-local.conf
  ln -s /data/dev/apache-deploy.conf /etc/apache2/sites-enabled/
fi

/etc/init.d/apache2 start

export OER_SRC_DIR=/data/oer
export PLATFORM_PATH=/data/src

/etc/init.d/docker start

V="/data/run/virtualenv"
if [[ ! -e $V ]] ; then
  mkdir -p /data/run/postgres
  chown postgres /data/run/postgres
  rm -rf /var/lib/postgresql/10/main/

  sudo -u postgres /usr/lib/postgresql/10/bin/initdb -D /data/run/postgres
  /etc/init.d/postgresql restart
  sudo -u postgres psql -c "CREATE USER hoou WITH PASSWORD 'hoohoohoo123';"
  sudo -u postgres psql -c "CREATE DATABASE hoou;"
  sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE hoou to hoou;"

  # psql -h localhost -U hoou hoou # should work

  mkdir -p $V
  virtualenv -p python3 $V
  cd $V
  source $V/bin/activate
  pip3 install -U -r  /data/dev/requirements.txt
  pip3 install --ignore-installed python-social-auth

  cd /data/src
  sed -i "s/'generated_exercises',/#'generated_exercises',/" main/settings.py
  python3 ./manage.py migrate
  sed -i "s/#'generated_exercises',/'generated_exercises',/" main/settings.py  
  mkdir /data/run/jobs/
  chown www-data /data/run/jobs/

  # prepare docker image for worker
  docker build -t kunkel/oer-worker /data/dev/worker
else
  /etc/init.d/postgresql restart
  source $V/bin/activate
fi


/data/scripts/update-courses.sh

# hardening...

tail -f /var/log/apache2/error.log
