Complete project rebrand for better positioning in the press freedom and digital security space. FieldWitness communicates both field deployment and evidence testimony — appropriate for the target audience of journalists, NGOs, and human rights organizations. Rename mapping: - soosef → fieldwitness (package, CLI, all imports) - soosef.stegasoo → fieldwitness.stego - soosef.verisoo → fieldwitness.attest - ~/.soosef/ → ~/.fwmetadata/ (innocuous data dir name) - SOOSEF_DATA_DIR → FIELDWITNESS_DATA_DIR - SoosefConfig → FieldWitnessConfig - SoosefError → FieldWitnessError Also includes: - License switch from MIT to GPL-3.0 - C2PA bridge module (Phase 0-2 MVP): cert.py, export.py, vendor_assertions.py - README repositioned to lead with provenance/federation, stego backgrounded - Threat model skeleton at docs/security/threat-model.md - Planning docs: docs/planning/c2pa-integration.md, docs/planning/gtm-feasibility.md Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
52 lines
1.4 KiB
Docker
52 lines
1.4 KiB
Docker
# FieldWitness Docker Image
|
|
#
|
|
# Build:
|
|
# docker build -t fieldwitness -f docker/Dockerfile .
|
|
#
|
|
# Or use docker-compose from docker/:
|
|
# docker compose up
|
|
|
|
FROM python:3.12-slim
|
|
|
|
ENV PYTHONDONTWRITEBYTECODE=1
|
|
ENV PYTHONUNBUFFERED=1
|
|
ENV PIP_ROOT_USER_ACTION=ignore
|
|
|
|
# System dependencies
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
gcc \
|
|
g++ \
|
|
libc-dev \
|
|
libffi-dev \
|
|
libzbar0 \
|
|
libjpeg-dev \
|
|
zlib1g-dev \
|
|
curl \
|
|
openssl \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
WORKDIR /app
|
|
|
|
# ── Install fieldwitness ─────────────────────────────────────────
|
|
COPY pyproject.toml pyproject.toml
|
|
COPY README.md README.md
|
|
COPY src/ src/
|
|
COPY frontends/ frontends/
|
|
RUN pip install --no-cache-dir /app[web,cli]
|
|
|
|
# ── Runtime setup ────────────────────────────────────────────────
|
|
RUN mkdir -p /root/.fwmetadata
|
|
|
|
COPY docker/entrypoint.sh /app/entrypoint.sh
|
|
RUN chmod +x /app/entrypoint.sh
|
|
|
|
ENV FIELDWITNESS_DATA_DIR=/root/.fwmetadata
|
|
WORKDIR /app
|
|
|
|
EXPOSE 35811
|
|
|
|
HEALTHCHECK --interval=30s --timeout=5s --start-period=15s --retries=3 \
|
|
CMD curl -fs --max-time 3 http://localhost:35811/ || curl -fsk --max-time 3 https://localhost:35811/ || exit 1
|
|
|
|
ENTRYPOINT ["/app/entrypoint.sh"]
|