aboutsummaryrefslogtreecommitdiff
path: root/scripts/provision
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/provision')
-rwxr-xr-xscripts/provision66
1 files changed, 66 insertions, 0 deletions
diff --git a/scripts/provision b/scripts/provision
new file mode 100755
index 0000000..cf7b5d7
--- /dev/null
+++ b/scripts/provision
@@ -0,0 +1,66 @@
+#!/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"
+
+# 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 $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
+<VirtualHost *:80>
+ ServerName localhost
+ ServerAlias *.onion
+ DocumentRoot "/srv/shared/site"
+
+ <Directory /srv/shared/site>
+ AuthType Basic
+ AuthName "Protected"
+ AuthUserFile /srv/shared/.htpasswd
+ Require valid-user
+ </Directory>
+</VirtualHost>
+EOF
+
+# Configure virtual host for the local service
+cat <<-EOF | sudo tee /etc/apache2/sites-available/local.conf > /dev/null
+<VirtualHost *:80>
+ ServerName protocolos.local
+ DocumentRoot "/srv/shared/site"
+
+ <Directory /srv/shared/site>
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+ </Directory>
+</VirtualHost>
+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