CIA/e-voting-system/docker/Dockerfile.backend
E-Voting Developer 6df490a7b1 Add post-quantum cryptography (FIPS 203/204)
- Add hybrid PQC using liboqs: ML-DSA-65 (Dilithium) + ML-KEM-768 (Kyber)
- Signatures: RSA-PSS + Dilithium (defense-in-depth)
- Encryption: ML-KEM-768 (Kyber) + ElGamal
- Tests for PQC hybrid operations
- Cleanup: remove non-essential scripts and docs
- Minimal, production-ready e-voting system
2025-11-05 17:49:29 +01:00

32 lines
720 B
Docker

FROM python:3.12-slim
WORKDIR /app
# Installer les dépendances système (inclure cmake et git pour liboqs)
RUN apt-get update && apt-get install -y \
gcc \
cmake \
git \
build-essential \
&& 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"]