#!/bin/bash set -e # Attendre que PostgreSQL soit prêt until pg_isready -h localhost -p 5432 -U postgres; do sleep 1 done # Créer l'utilisateur et la base synapse si nécessaire su - postgres -c "psql -tc \"SELECT 1 FROM pg_roles WHERE rolname = 'synapse'\" | grep -q 1 || createuser -s synapse" su - postgres -c "psql -tc \"ALTER USER synapse PASSWORD 'ChangeMoiBdd';\"" su - postgres -c "createdb -O synapse synapse" || true # Lancer supervisord en arrière-plan supervisord -c /etc/supervisord.conf & SUPERVISOR_PID=$! # Attendre que Synapse soit prêt (port 7860) echo ">>> Attente du démarrage de Synapse..." until curl -s -o /dev/null http://localhost:7860/_matrix/client/versions; do sleep 2 done # Création du compte administrateur si les variables sont définies if [ -n "$ADMIN_USER" ] && [ -n "$ADMIN_PASSWORD" ]; then echo ">>> Création du compte administrateur $ADMIN_USER..." /opt/venv_synapse/bin/register_new_matrix_user \ -c /data/synapse/homeserver.yaml \ -u "$ADMIN_USER" \ -p "$ADMIN_PASSWORD" \ -a \ http://localhost:7860 || true fi # Garder le conteneur en vie wait $SUPERVISOR_PID