#!/bin/bash
#
# Provisioner
#
# Parameters
DIRNAME="`dirname $0`"
# Basic dependencies
DEPENDENCIES="mkdocs apache2 python3-pip pandoc pandoc-citeproc"
# Dependenicies for genesis-get
DEPENDENCIES="$DEPENDENCIES tor python3-requests python3-bs4 python3-socks python3-pybtex python3-tqdm"
# PyPI dependencies
DEPENDENCIES_PIP="mkdocs-bibtex mkdocs-material mkdocs-awesome-pages-plugin mkdocs-static-i18n"
# Ensure an up-to-date system
sudo apt-get update && sudo apt-get dist-upgrade -y && sudo apt-get autoremove -y && sudo apt-get clean
# Install dependencies
sudo apt install -y $DEPENDENCIES
# Install python dependencies
pip3 install --break-system-packages $DEPENDENCIES_PIP
# Configure an onion service
trashman install tor-onion-service
# Configure virtual host for the Onion Service
cat <<-EOF | sudo tee /etc/apache2/sites-available/onion.conf > /dev/null
ServerName localhost
ServerAlias *.onion
DocumentRoot "/srv/shared/site"
AuthType Basic
AuthName "Protected"
AuthUserFile /srv/shared/.htpasswd
Require valid-user
EOF
# Configure virtual host for the local service
cat <<-EOF | sudo tee /etc/apache2/sites-available/local.conf > /dev/null
ServerName protocolos.local
DocumentRoot "/srv/shared/site"
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
EOF
# Enable virtual host
sudo a2ensite onion local
sudo systemctl reload apache2
# Configure PATH
mkdir -p ~/.custom
echo 'export PATH=$PATH:/srv/shared/scripts' > ~/.custom/profile