Additional mysql, mssql and postgresql databases and tables configure required.
queuewatches the mounted record folders and publishes every finished recording as a taskrediskeeps the task queueworker_5090andworker_1080are worker pools, one per recognition backend; the pool size limits how many requests a backend receives at oncecleanerdrops outdated rows from the databaseflowerserves the queue monitoring UI
git clone https://github.com/a-iceberg/stt_server.git
Copy docker-compose-default.yml to docker-compose.yml, then fill in the database credentials, the mount paths and the recognition backend URLs.
You have to mount folders after each restart of the server.
Mount folders:
sh mount.sh
Run:
sh compose.sh
FILE_STABLE_SECONDS and ENQUEUE_LOOKBEHIND_SECONDS define how long a recording has to rest before it is queued, and together they set the delay between the end of a call and its transcription.
Queue depth, task duration and failures: http://<server>:5555, credentials are taken from FLOWER_BASIC_AUTH.
Logs and performance monitoring available in Portainer
Recordings that failed every retry are kept in the folder mounted as FAILED_FILES_PATH instead of being deleted.
Drop all pending tasks and clear the queue table:
sudo docker-compose -p call_centre_stt_server run --rm queue clean.py