monitor/api/docker/Dockerfile
fds2610-bot 9426406ee5 Sprachaufnahme: Agent-Kachel, Aufnahme-Webseite und API-Warteschlange
Setzt den in #84 skizzierten Workflow um: record.html nimmt im
Handy-Browser eine Sprachnotiz per MediaRecorder auf und laedt sie
unauthentifiziert zu POST /api/v1/agents/{id}/recordings hoch. Ein
Klick auf die Personen-Figur jedes registrierten Agenten in der
Buero-Visualisierung verlinkt dorthin, ein Zaehler am Schreibtisch
zeigt offene Aufnahmen. Der Agent selbst holt seine Warteschlange
ueber die bestehenden Api-Key-authentifizierten Endpunkte ab
(GET .../recordings, GET /recordings/{id}/audio) und markiert eine
Aufnahme nach der Transkription per PATCH als erledigt - die
eigentliche Transkription (whisper.cpp/faster-whisper) bleibt
agent-seitig, siehe fds2610/Agent#17.

Schliesst #85
2026-09-03 21:26:28 +02:00

21 lines
861 B
Docker

FROM php:8.2-cli-alpine
RUN apk add --no-cache curl-dev sqlite-dev \
&& apk add --no-cache --virtual .build-deps $PHPIZE_DEPS \
&& docker-php-ext-install pdo pdo_sqlite curl \
&& pecl install pcov \
&& docker-php-ext-enable pcov \
&& apk del .build-deps
COPY --from=composer:2 /usr/bin/composer /usr/bin/composer
WORKDIR /app
COPY docker/entrypoint.sh /usr/local/bin/entrypoint.sh
RUN chmod +x /usr/local/bin/entrypoint.sh
ENTRYPOINT ["entrypoint.sh"]
# upload_max_filesize/post_max_size ueber dem PHP-Default (2M/8M) fuer Sprachaufnahmen
# (Issue #85, record.html): muss >= MONITOR_MAX_RECORDING_BYTES aus docker-compose.yml sein,
# post_max_size zusaetzlich etwas darueber wegen des Multipart-Overheads (Feldname/Boundary).
CMD ["php", "-d", "upload_max_filesize=30M", "-d", "post_max_size=32M", "-S", "0.0.0.0:8080", "-t", "public"]