Run With Docker Compose#
Use this path when you want the service to run in a container and expose the API on port 8010.
Before You Start#
Edit
config.yamlwith the settings you want. The same file is used for both standalone and container runs. For configuration details, see the Configuration Guide.The Compose setup mounts
config.yaml,models/,chunks/,storage/, and the Hugging Face cache into the container.The repository includes placeholder files so fresh clones already contain those mount roots. If you remove any of those directories, recreate them as your user before starting Compose or Docker may recreate the missing host paths as
root./dev/driis passed through by default for host Intel iGPU access.The image defaults to UID/GID
1000:1000, and Compose also runs the container as1000:1000unless you overrideLOCAL_UIDandLOCAL_GID. If your host user is different, see Troubleshooting before starting.
Running the Service#
Start#
From the audio_analyzer/ directory:
docker compose up -d --build
Check Status#
docker compose ps
curl --noproxy '*' http://127.0.0.1:8010/health
Follow Logs#
docker compose logs -f audio-analyzer
Restart#
If you changed only config.yaml:
docker compose restart audio-analyzer
If you changed code or dependencies:
docker compose up -d --build
For a clean restart:
docker compose down
docker compose up -d --build
Stop#
docker compose down
API Use Cases and Examples#
For API use cases, request examples, and endpoint details, see the API Reference.
Notes#
Container host port:
8010The service loads
config.yaml(bind-mounted from the host); the same file is used in standalone modeThe container writes shared files as the user it runs as (default
1000:1000), somodels/,chunks/,storage/, and.cache/huggingface/should remain usable from standalone host runs when host UID/GID matchIf a bind-mount source path is missing on the host, Docker may create it as
rootbefore the service starts; pre-create the directories if you cleaned them outDirect image runs inherit the same non-root default unless you pass a different
--userFirst startup can take longer because model download or export may happen during startup
If you need host microphone access, uncomment the
/dev/snddevice mapping indocker-compose.ymlLinux iGPU access now depends on the host exposing
/dev/driand having Intel/OpenVINO host GPU support installedOn a new machine, Intel/OpenVINO host GPU support is still a separate prerequisite from Python dependency installation