Files
py-dvt-ate/Dockerfile
Kai Chappell 51a479c61e
All checks were successful
CI / Lint (push) Successful in 4s
CI / Type Check (push) Successful in 19s
CI / Test (push) Successful in 52s
CI / Release (push) Has been skipped
fix(docker): use host nginx, fix libgdk-pixbuf package name
- Update libgdk-pixbuf2.0-0 to libgdk-pixbuf-2.0-0 for Debian Trixie
- Remove bundled nginx container in favor of host nginx
- Use host networking for cloudflared to reach host nginx
- Expose streamlit on localhost:8080 for host nginx proxy
2026-01-29 22:24:02 +00:00

40 lines
946 B
Docker

FROM python:3.11-slim
WORKDIR /app
# Install system dependencies for WeasyPrint (PDF generation)
RUN apt-get update && apt-get install -y --no-install-recommends \
libpango-1.0-0 \
libpangocairo-1.0-0 \
libgdk-pixbuf-2.0-0 \
libffi-dev \
shared-mime-info \
&& rm -rf /var/lib/apt/lists/*
# Copy project files
COPY pyproject.toml .
COPY src/ src/
COPY config/ config/
# Install package with reports dependencies (for PDF export)
RUN pip install --no-cache-dir -e ".[reports]"
# Create data directory for SQLite and measurements
RUN mkdir -p /app/data/measurements /app/data/reports
# Streamlit configuration
RUN mkdir -p ~/.streamlit
RUN echo '[server]\n\
headless = true\n\
address = "0.0.0.0"\n\
port = 8080\n\
enableXsrfProtection = false\n\
enableCORS = false\n\
\n\
[browser]\n\
gatherUsageStats = false\n' > ~/.streamlit/config.toml
EXPOSE 8080
CMD ["streamlit", "run", "src/py_dvt_ate/app/dashboard/app.py"]