From cb11a74d33f0e58809e47052e1c6b4d3993082d8 Mon Sep 17 00:00:00 2001 From: EvanChal Date: Sun, 25 Jan 2026 23:04:14 +0100 Subject: [PATCH] fix(dockefile) --- backend/Dockerfile | 14 +++----------- backend/entrypoint.sh | 30 ++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 11 deletions(-) create mode 100644 backend/entrypoint.sh diff --git a/backend/Dockerfile b/backend/Dockerfile index ec663f0..71ce34e 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -42,17 +42,9 @@ COPY . . # Permissions RUN chmod -R 755 /app +RUN chmod +x entrypoint.sh EXPOSE 8000 -# Hot-reload + respect des en-têtes proxy (utile si tu testes derrière Traefik en dev) -# Astuce: on exclut uploads/logs du reload pour éviter les restarts inutiles -CMD ["uvicorn", "app:app", \ - "--reload", \ - "--reload-exclude", "uploads/*", \ - "--reload-exclude", "logs/*", \ - "--host", "0.0.0.0", \ - "--port", "8000", \ - "--log-level", "debug", \ - "--proxy-headers", \ - "--forwarded-allow-ips=*"] +# Lancer les migrations puis démarrer l'application +CMD ["./entrypoint.sh"] diff --git a/backend/entrypoint.sh b/backend/entrypoint.sh new file mode 100644 index 0000000..9ab3803 --- /dev/null +++ b/backend/entrypoint.sh @@ -0,0 +1,30 @@ +#!/bin/bash +set -e + +echo "Running database migrations..." +alembic upgrade head + +echo "Starting application..." + +# Détecter l'environnement (production ou développement) +if [ "$ENVIRONMENT" = "production" ]; then + echo "Running in production mode..." + exec uvicorn app:app \ + --host 0.0.0.0 \ + --port 8000 \ + --log-level info \ + --proxy-headers \ + --forwarded-allow-ips=* +else + echo "Running in development mode..." + exec uvicorn app:app \ + --reload \ + --reload-exclude "uploads/*" \ + --reload-exclude "logs/*" \ + --host 0.0.0.0 \ + --port 8000 \ + --log-level debug \ + --proxy-headers \ + --forwarded-allow-ips=* +fi +