#!/bin/sh # Demarrage de l'application. # # Les migrations tournent avant gunicorn, et un echec arrete le conteneur : # une base a moitie migree derriere une application qui repond serait pire # qu'une indisponibilite visible. set -eu # Deux facons de declarer la base : une URL complete, ou les elements separes. # Tester une seule des deux sauterait silencieusement les migrations. if [ -n "${ENCLUME_DATABASE_URL:-}" ] || [ -n "${ENCLUME_DB_HOTE:-}" ]; then echo "enclume : migration de la base" alembic upgrade head else echo "enclume : aucune base configuree, mode sans etat" fi exec gunicorn \ --bind 0.0.0.0:8080 \ --workers "${GUNICORN_WORKERS:-2}" \ --timeout "${GUNICORN_TIMEOUT:-30}" \ --access-logfile - \ --error-logfile - \ --forwarded-allow-ips '*' \ 'enclume.webapp:create_app()'