- FastAPI backend with JWT authentication - ElGamal, RSA-PSS, ZK-proofs crypto modules - HTML5/JS frontend SPA - MariaDB database with 5 tables - Docker Compose with 3 services (frontend, backend, mariadb) - Comprehensive tests for cryptography - Typst technical report (30+ pages) - Makefile with development commands
29 lines
641 B
Docker
29 lines
641 B
Docker
FROM python:3.12-slim
|
|
|
|
WORKDIR /app
|
|
|
|
# Installer les dépendances système
|
|
RUN apt-get update && apt-get install -y \
|
|
gcc \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Installer Poetry
|
|
RUN pip install --no-cache-dir poetry
|
|
|
|
# Copier le code source en premier
|
|
COPY src/ ./src/
|
|
COPY .env* ./
|
|
|
|
# Copier les fichiers de dépendances
|
|
COPY pyproject.toml poetry.lock* ./
|
|
|
|
# Installer les dépendances Python
|
|
RUN poetry config virtualenvs.create false && \
|
|
poetry install --no-interaction --no-ansi --no-root
|
|
|
|
# Exposer le port
|
|
EXPOSE 8000
|
|
|
|
# Démarrer l'application
|
|
CMD ["uvicorn", "src.backend.main:app", "--host", "0.0.0.0", "--port", "8000"]
|