améliore script postinst (FLASK_APP)

This commit is contained in:
Emmanuel Viennet 2021-08-27 10:41:22 +02:00
parent 72c63812fa
commit d2947b23d3
4 changed files with 33 additions and 5 deletions

View File

@ -73,14 +73,25 @@ Installer ScoDoc 9 normalement ([voir la doc](https://scodoc.org/GuideInstallDeb
Puis remplacer `/opt/scodoc` par un clone du git.
sudo su
mv /opt/scodoc /opt/scodoc-distrib # ou ce que vous voulez
mv /opt/scodoc /opt/off-scodoc # ou ce que vous voulez
apt-get install git # si besoin
cd /opt
git clone https://scodoc.org/git/viennet/ScoDoc.git
# (ou bien utiliser votre clone gitea si vous l'avez déjà créé !)
mv ScoDoc scodoc # important !
cd /opt/scodoc
# et voilà.
Il faut ensuite installer l'environnement et le fichier de configuration:
# Le plus simple est de piquer le virtualenv configuré par l'installeur:
mv /opt/off-scodoc/venv /opt/scodoc
Et la config:
ln -s /opt/scodoc-data/.env /opt/scodoc
Cette dernière commande utilise le `.env` crée lors de l'install, ce qui
n'est pas toujours le plus judicieux: vous pouvez modifier son contenu, par
exemple pour travailler en mode "développement" avec `FLASK_ENV=development`.
### Tests unitaires

View File

@ -22,6 +22,8 @@ export SCODOC_VAR_DIR=/opt/scodoc-data
export SCODOC_VERSION_DIR="${SCODOC_VAR_DIR}/config/version"
export SCODOC_LOGOS_DIR="${SCODOC_VAR_DIR}/config/logos"
export FLASK_APP=scodoc.py
# Unix user running ScoDoc server:
export SCODOC_USER=scodoc
export SCODOC_GROUP=root

View File

@ -80,15 +80,23 @@ fi
# --- NGINX
if [ ! -L /etc/nginx/sites-enabled/scodoc9.nginx ]
then
echo "Enabling scodoc9 in nginx"
ln -s /etc/nginx/sites-available/scodoc9.nginx /etc/nginx/sites-enabled/
fi
/bin/rm -f /etc/nginx/sites-enabled/default
# --- POSTGRESQL
# ------------ POSTGRESQL
# --- Ensure postgres user "scodoc" ($POSTGRES_USER) exists
init_postgres_user
# --- MISES A JOUR
# ------------ CONFIG SERVICE SCODOC
echo
echo "Installation du service systemd scodoc9..."
cp "$SCODOC_DIR"/tools/etc/scodoc9.service /etc/systemd/system/
systemctl daemon-reload
# ------------ MISES A JOUR
cp "$SCODOC_DIR"/tools/etc/scodoc-updater.service /etc/systemd/system
cp "$SCODOC_DIR"/tools/etc/scodoc-updater.timer /etc/systemd/system
systemctl enable scodoc-updater.timer

View File

@ -68,6 +68,12 @@ check_create_scodoc_user() {
else
echo "Unix user ${SCODOC_USER} exists"
fi
# Check / set FLASK_APP
scodoc_home=$(getent passwd "${SCODOC_USER}" | cut -d: -f 6)
if [ -e "$scodoc_home/.profile" ] && [ $(grep -c FLASK_APP "$scodoc_home/.profile") == 0 ]
then
echo "export FLASK_APP=scodoc.py" >> "$scodoc_home/.profile"
fi
}
# --- Give all ScoDoc files (/opt/scodoc) to user "scodoc":
@ -79,6 +85,7 @@ change_scodoc_file_ownership() {
# Création du répertoire local (scodoc-data) et vérification du propriétaire
set_scodoc_var_dir() {
echo "Checking $SCODOC_VAR_DIR..."
[ -z ${SCODOC_VAR_DIR+x} ] && die "Error: env var SCODOC_VAR_DIR not set"
[ -d "$SCODOC_VAR_DIR" ] || mkdir "$SCODOC_VAR_DIR" || die "can't create $SCODOC_VAR_DIR directory"
for d in archives photos tmp log config certs config/version config/depts config/logos
do