#!/bin/bash # Script à lancer en tant que root au démarrage du container Docker echo "Initialisation de ScoDoc..." # Le répertoire de ce script: SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" source "$SCRIPT_DIR/config.sh" source "$SCRIPT_DIR/utils.sh" if [ -z "${SCODOC_DATABASE_URI}" ]; then echo "La variable d'environnement SCODOC_DATABASE_URI doit être définie pour poursuivre le démarrage." exit 1 fi db_name=$(echo $SCODOC_DATABASE_URI | sed -E 's/.*\/([^\/]+)$/\1/') if [[ "$db_name" == "$SCODOC_DATABASE_URI" ]]; then # nom de la base de données par défaut si non spécifié dans l'URI db_name="SCODOC" export SCODOC_DATABASE_URI="$SCODOC_DATABASE_URI/$db_name" fi # URI de la base 'postgres', nécessaire pour les commandes de création de base PG_DATABASE_URI=$(echo "$SCODOC_DATABASE_URI" | sed -E 's|/[^/]+$|/postgres|') if [ -z "${CACHE_REDIS_HOST}" ]; then echo "La variable d'environnement CACHE_REDIS_HOST doit être définie pour poursuivre le démarrage." exit 1 fi cd /opt/scodoc || die "Error: chdir to /opt/scodoc" mkdir -p /opt/scodoc-data || die "Error: mkdir /opt/scodoc-data" # ------------ CREATION ENVIRONNEMENT # Création du fichier .env si absent if ! [ -f /opt/scodoc-data/.env ]; then if [ -z "${SCODOC_ADMIN_MAIL}" ]; then echo "La variable d'environnement SCODOC_ADMIN_MAIL doit être définie pour poursuivre l'installation (nécessaire uniquement pour le premier démarrage)." exit 1 fi SECRET_KEY=$(python3 -c "import uuid; print(uuid.uuid4().hex)") cat > /opt/scodoc-data/.env <