ApplicantPortal/scripts/initial_setup.sh
2025-03-12 20:43:26 -06:00

100 lines
2.6 KiB
Bash

#!/usr/bin/env bash
line_sep="==============================="
cur_dir="$(cd "$( dirname "$0")" && pwd)"
proj_dir="$(cd "$(dirname "$cur_dir")" && pwd)"
init_venv_script="$proj_dir/scripts/init_venv.sh"
venv_activate_path="$proj_dir/venv/bin/activate"
check_python_dev_script="$proj_dir/scripts/check_py_dev.py"
render_docker_compose_template_script="$proj_dir/docker/bin/render_docker_templates.sh"
python="python3.9"
# is python 3.9 installed?
if ! command -v $python &> /dev/null; then
echo "$line_sep"
echo "Installing python 3.9..."
echo "$line_sep"
# fail if something goes wrong
sudo apt-get install python3.9 python3.9-dev || (echo "Failed to install python3.9" && exit 1)
echo "$line_sep"
echo "Installed python 3.9"
echo "$line_sep"
fi
# is python dev installed?
if ! command -v "$check_python_dev_script" &> /dev/null; then
echo "python3.9-dev already installed"
# install python3.9-dev
else
echo "Installing python3.9-dev..."
sudo apt-get install python3.9-dev || (echo "Failed to install python3.9-dev" && exit 1)
echo "$line_sep"
echo "Installed python 3.9-dev"
echo "$line_sep"
fi
# is pip installed?
if [[ $(python3.9 -m pip 2>&1) == *"No module named pip" ]]; then
echo "Installing python3 pip..."
curl https://bootstrap.pypa.io/get-pip.py -o /tmp/get-pip.py || (echo "Failed to download get-pip.py" && exit 1)
$python /tmp/get-pip.py || (echo "get-pip.py failed to run" && exit 1)
fi
# make sure that the virtualenv package is installed
virtualenv_exists="$($python -m pip list | grep -F "virtualenv" | xargs)"
virtualenv_exists=${#virtualenv_exists}
# if the python virtualenv package in not installed, install it
if [[ "$virtualenv_exists" -eq 0 ]]; then
echo "$line_sep"
echo "Installing python virtualenv..."
echo "$line_sep"
$python -m pip install virtualenv
echo "$line_sep"
echo "Installed python virtualenv"
echo "$line_sep"
fi
echo "
$line_sep
Creating python virtual environment
$line_sep"
$init_venv_script || (echo "Failed to create virtual environment. Is python3.9-dev installed?" && exit 1)
echo "
$line_sep
Done creating python virtual environment
$line_sep
$line_sep
Activating the python virtual environment
$line_sep"
source "$venv_activate_path" || (echo "Failed to source the python virtual environment" && exit 1)
echo "
$line_sep
Python virtual environment activated
$line_sep
$line_sep
Rendering the docker compose template
$line_sep"
$render_docker_compose_template_script || (echo "Failed to render the docker compose file" && exit 1)
echo "
$line_sep
Rendered the docker compose file
$line_sep
Done!"