mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-08 11:17:27 +00:00
28 lines
870 B
Text
28 lines
870 B
Text
FROM python:3.11-slim
|
|
|
|
# Install PostgreSQL binaries — required by pytest-postgresql to spawn ephemeral test databases
|
|
RUN apt-get update \
|
|
&& apt-get install -y --no-install-recommends postgresql \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
WORKDIR /app
|
|
ENV PYTHONPATH=/app
|
|
|
|
# Copy requirements first so Docker can cache the install layer
|
|
COPY backend/engine/requirements.txt backend/engine/requirements.txt
|
|
COPY backend/app/requirements/requirements.txt backend/app/requirements/requirements.txt
|
|
COPY test.requirements.txt test.requirements.txt
|
|
|
|
RUN pip install --no-cache-dir \
|
|
-r backend/engine/requirements.txt \
|
|
-r backend/app/requirements/requirements.txt \
|
|
-r test.requirements.txt
|
|
|
|
# Copy source
|
|
COPY . .
|
|
|
|
# pg_ctl refuses to run as root — create an unprivileged user
|
|
RUN useradd -m testuser && chown -R testuser /app
|
|
USER testuser
|
|
|
|
CMD ["pytest"]
|