45 lines
1.4 KiB
Docker
45 lines
1.4 KiB
Docker
FROM python:3.12-slim
|
|
|
|
WORKDIR /app
|
|
|
|
# Install system dependencies and Poetry
|
|
RUN apt-get update \
|
|
&& apt-get install -y --no-install-recommends \
|
|
gcc \
|
|
&& rm -rf /var/lib/apt/lists/* \
|
|
&& pip install --no-cache-dir poetry
|
|
|
|
# Copy Poetry configuration
|
|
COPY DockerApiServices/pyproject.toml ./pyproject.toml
|
|
|
|
# Configure Poetry and install dependencies with optimizations
|
|
RUN poetry config virtualenvs.create false \
|
|
&& poetry install --no-interaction --no-ansi --no-root --only main \
|
|
&& pip cache purge \
|
|
&& rm -rf ~/.cache/pypoetry
|
|
|
|
# Copy application code
|
|
COPY DockerApiServices/ValidationServiceApi /app
|
|
|
|
# Copy application code
|
|
COPY ApiLayers /app/ApiLayers
|
|
COPY Services /app/Services
|
|
|
|
# Events
|
|
# COPY Events/base_request_model.py /app/Events/base_request_model.py
|
|
COPY Events/Engine /app/Events/Engine
|
|
COPY Events/AllEvents/validations /app/Events/AllEvents/validations
|
|
COPY Events/base_request_model.py /app/Events/base_request_model.py
|
|
COPY DockerApiServices/ValidationServiceApi/events_file.py /app/Events/AllEvents/events_file.py
|
|
|
|
COPY Events/AllEvents /app/Events/JustEvents
|
|
COPY Events/AllEvents/just_events_file.py /app/Events/JustEvents/events_file.py
|
|
|
|
# Set Python path to include app directory
|
|
ENV PYTHONPATH=/app \
|
|
PYTHONUNBUFFERED=1 \
|
|
PYTHONDONTWRITEBYTECODE=1
|
|
|
|
# Run the application using the configured uvicorn server
|
|
CMD ["poetry", "run", "python", "app.py"]
|