poulpe/provisioning/bootstrap.sh

61 lines
2.2 KiB
Bash
Raw Normal View History

2016-09-28 20:36:48 +02:00
#!/bin/sh
# Configuration de la base de données. Le mot de passe est constant car c'est
# pour une installation de dév locale qui ne sera accessible que depuis la
# machine virtuelle.
DBUSER="event_gestion"
DBNAME="event_gestion"
DBPASSWD="4KZt3nGPLVeWSvtBZPsd9jdssdJMds78"
# Installation de paquets utiles
2017-05-16 12:43:40 +02:00
apt-get update && apt-get upgrade
apt-get install -y python3-pip python3-dev python3-venv libpq-dev postgresql \
postgresql-contrib libjpeg-dev
2016-09-28 20:36:48 +02:00
# Setup Database and User
sudo -u postgres createdb $DBNAME
sudo -u postgres createuser -SDR $DBUSER
sudo -u postgres psql -c "ALTER USER $DBUSER WITH PASSWORD '$DBPASSWD';"
sudo -u postgres psql -c "ALTER USER $DBUSER CREATEDB;"
2016-09-28 22:06:05 +02:00
sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE $DBNAME TO $DBUSER;"
2016-09-28 20:36:48 +02:00
# Mise en place du .bash_profile pour tout configurer lors du `vagrant ssh`
2017-05-16 12:43:40 +02:00
cat >> ~vagrant/.bashrc <<EOF
# On utilise les settings de développement
2016-09-29 00:13:16 +02:00
export DJANGO_SETTINGS_MODULE='evenementiel.settings_dev'
2016-09-28 20:36:48 +02:00
2017-05-16 12:43:40 +02:00
# Identifiants postgres
2016-09-28 20:36:48 +02:00
export DBUSER="$DBUSER"
export DBNAME="$DBNAME"
export DBPASSWD="$DBPASSWD"
# On va dans /vagrant où se trouve le code
cd /vagrant
2017-05-16 12:43:40 +02:00
# On active le virtualenv
source ~vagrant/venv/bin/activate
2016-09-28 20:36:48 +02:00
EOF
2017-05-16 12:43:40 +02:00
chown vagrant: ~vagrant/.bashrc
2016-09-28 20:36:48 +02:00
# On va dans /vagrant où se trouve le code
cd /vagrant
# Installation des dépendances python
2017-05-16 12:43:40 +02:00
# Notes :
# - Je ne comprends pas trop pourquoi j'ai besoin d'installer wheel, il devrait
# venir avec pip il me semble… Mais sans ça, l'installation de
# django-boostrap-form échoue.
# - A priori upgrade pip via pip est inutile au moment où j'écris ce script mais
# la version de pip de PyPi peut être mise à jour plus vite que celle des
# paquets Debian et on préfère la version la plus récente (ça nous a déjà posé
# des problèmes).
sudo -H -u vagrant python3 -m venv ~vagrant/venv
sudo -H -u vagrant ~vagrant/venv/bin/pip install -U pip wheel
sudo -H -u vagrant ~vagrant/venv/bin/pip install -U -r requirements-devel.txt
2016-09-28 20:36:48 +02:00
# Préparation de Django
2017-05-16 12:43:40 +02:00
sudo -H -u vagrant DJANGO_SETTINGS_MODULE='evenementiel.settings_dev' \
DBUSER=$DBUSER DBNAME=$DBNAME DBPASSWD=$DBPASSWD \
~vagrant/venv/bin/python manage.py migrate