#!/bin/bash

#   ____                             _            _   
#  / ___| __ _ _ __ __ _  __ _ _ __ | |_ _____  _| |_ 
# | |  _ / _` | '__/ _` |/ _` | '_ \| __/ _ \ \/ / __|
# | |_| | (_| | | | (_| | (_| | | | | ||  __/>  <| |_ 
#  \____|\__,_|_|  \__, |\__,_|_| |_|\__\___/_/\_\\__|
#                  |___/                              

# This receipe is for specific use (Open Stack && Debien)
# Step by step installation process (advanced user mainly)
# For others: a docker image is coming

########################################################################
# To be sure to have updated packages
sudo apt update
sudo apt upgrade

# Tmux to avoid disconnections during the installation process
# Htop for visual monitoring
sudo apt install tmux htop git iptables curl

########################################################################
sudo sed -i "s/bullseye/bookworm/g" /etc/apt/sources.list
sudo apt update
sudo apt dist-upgrade
# sudo reboot #recommended
########################################################################

#sudo apt update
sudo apt install postgresql postgresql-server-dev-15

#git config --global user.email "contact@gargantext.org"
#git config --global user.name "Gargantua"


########################################################################

echo "Installing Nix"
sh <(curl -L https://nixos.org/nix/install) --daemon

#######################################################################
# Get the Sources
git clone https://gitlab.iscpif.fr/gargantext/haskell-gargantext.git
cd haskell-gargantext
git clone https://gitlab.iscpif.fr/gargantext/purescript-gargantext.git



#### Configure timezone and locale ###################################
# todo sync dates
#echo "###########  LOCALES & TZ #################"
#echo "Europe/Paris" > /etc/timezone
#sudo dpkg-reconfigure --frontend=noninteractive tzdata
##ENV TZ "Europe/Paris"
#
#sed -i -e 's/# en_GB.UTF-8 UTF-8/en_GB.UTF-8 UTF-8/' /etc/locale.gen && \
#sed -i -e 's/# fr_FR.UTF-8 UTF-8/fr_FR.UTF-8 UTF-8/' /etc/locale.gen && \
#locale-gen && \
#update-locale LANG=fr_FR.UTF-8 && \
#update-locale LANGUAGE=fr_FR.UTF-8 && \
#update-locale LC_ALL=fr_FR.UTF-8
#################################################################

# Database configuration
# CREATE USER gargantua WITH PASSWORD $(grep DB_PASS gargantext.ini)
# GRANT ALL PRIVILEGES ON DATABASE gargandbV4 to gargantua
# sudo su postgres
# createdb gargandb

#######################################################################
## POSTGRESQL DATA (as ROOT)
#######################################################################
# configure the database with script in devops/postgres
# edit gargantext.ini