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
21 lines
861 B
Docker
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"]
|