All checks were successful
build-and-deploy / build (push) Successful in 2m23s
Masscan finds are rtsp:// with no snapshot_url, so the popup skipped the
<img> and the leftover source link handed the OS an rtsp:// URL (VLC).
- Popup always hits /api/cameras/{id}/snapshot (HTTP stills, then one
ffmpeg frame grab). No credentials. 10s hard timeout.
- rtsp:// is rendered as text, never as an href.
- ffmpeg added to the app image for the RTSP still/MJPEG path.
- Default MASSCAN_RATE 200 (1k/10k saturated the home uplink).
19 lines
453 B
Docker
19 lines
453 B
Docker
FROM python:3.13-slim AS base
|
|
|
|
WORKDIR /app
|
|
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
gcc libpq-dev ffmpeg \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
COPY app/requirements.txt .
|
|
RUN pip install --no-cache-dir -r requirements.txt
|
|
|
|
COPY app/ ./app/
|
|
COPY alembic.ini ./alembic.ini
|
|
COPY alembic/ ./alembic/
|
|
RUN chmod +x /app/app/docker-entrypoint.sh
|
|
|
|
EXPOSE 8000
|
|
ENV PYTHONPATH=/app/app
|
|
ENTRYPOINT ["/app/app/docker-entrypoint.sh"]
|