fix: separate analyses dir so caching works with read-only recordings mount
The Docker web container mounts ./recordings as :ro, causing every cache write to fail silently (PermissionError swallowed by bare except). Fix: add --analyses-dir flag (default: <recordings>/analyses for local runs). docker-compose.yml adds ./analyses:/analyses (writable) and passes --analyses-dir /analyses to web.py. Cache write failures now print a warning instead of being swallowed silently. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -147,11 +147,12 @@ strftime codes are substituted at split time. The file extension is added automa
|
||||
## Web UI (`web.py`)
|
||||
|
||||
```bash
|
||||
python web.py # serves ./recordings on port 8080
|
||||
python web.py --dir /path/to/audio # custom recordings directory
|
||||
python web.py --port 8888 # custom port
|
||||
python web.py --threshold 0.03 # loudness threshold 0–1 (default 0.05)
|
||||
python web.py --min-gap 15 # grace period in seconds for merging loud sections (default 2)
|
||||
python web.py # serves ./recordings on port 8080
|
||||
python web.py --dir /path/to/audio # custom recordings directory
|
||||
python web.py --port 8888 # custom port
|
||||
python web.py --threshold 0.03 # loudness threshold 0–1 (default 0.05)
|
||||
python web.py --min-gap 15 # grace period in seconds for merging loud sections (default 2)
|
||||
python web.py --analyses-dir /path/to/dir # where to store analysis cache files (default: <recordings>/analyses)
|
||||
```
|
||||
|
||||
Shows recordings grouped by day with collapsible sections. Features:
|
||||
@@ -211,6 +212,8 @@ docker compose down && docker compose up -d --build
|
||||
|
||||
**Log file in Docker:** The recorder always logs to stdout, so `docker compose logs -f` shows live output. To persist logs on the host, set `log_file = /app/recordings/recorder.log` in `config.ini` (the `recordings` directory is the bind mount).
|
||||
|
||||
**Analysis cache in Docker:** The web container mounts `./recordings` read-only, so analysis cache files are written to a separate `./analyses` bind mount (mapped to `/analyses` inside the container). This directory is created automatically by Docker Compose on first run. Cache files are stored as `analyses/<filename>.analysis.json` on the host.
|
||||
|
||||
**File retention:** Individual recordings can be deleted from the web UI. For bulk / automated cleanup, add a cron job on the host:
|
||||
```bash
|
||||
# Delete recordings older than 30 days
|
||||
|
||||
Reference in New Issue
Block a user