fix: resolve NameError on startup, move analyses into recordings, remap port to 8050
- web.py: Python class bodies can't close over a name they also assign; use a temporary alias _analyses_dir to break the self-reference - docker-compose.yml: mount ./recordings/analyses:/recordings/analyses instead of a separate ./analyses volume so cache lives inside recordings; remove --analyses-dir flag (default now resolves correctly); remap external port 8080→8050 for reverse proxy - README.md / CLAUDE.md: update Docker port references to 8050 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -83,7 +83,7 @@ The `output_directory` value is used as-is: a relative path like `recordings` re
|
||||
|
||||
Two services share a `./recordings` bind mount:
|
||||
- `recorder` — runs `isr.py`; volume at `/app/recordings`; mounts `asound.conf` as `/etc/asound.conf`; maps `/dev/snd`; `ipc: host` for dsnoop shared memory; `stop_grace_period: 30s`
|
||||
- `web` — runs `web.py`; same `./recordings` read-only at `/recordings`; exposes port 8080
|
||||
- `web` — runs `web.py`; same `./recordings` read-only at `/recordings`; exposes port 8080 internally (mapped to 8050 on the host)
|
||||
|
||||
**Sharing the soundcard with darkice (or any other ALSA app):**
|
||||
ALSA `hw:` devices are exclusive. `asound.conf` defines a `dsnoop` virtual device `shared_mic` that both processes use instead:
|
||||
|
||||
@@ -36,7 +36,7 @@ cp config.example.ini config.ini
|
||||
# edit config.ini to add your sources (no path changes needed for Docker)
|
||||
|
||||
docker compose up -d
|
||||
# recorder starts immediately; web UI at http://<host>:8080
|
||||
# recorder starts immediately; web UI at http://<host>:8050
|
||||
docker compose logs -f # tail logs from both services
|
||||
docker compose down # graceful stop (waits up to 30 s for files to close)
|
||||
```
|
||||
|
||||
+3
-3
@@ -16,8 +16,8 @@ services:
|
||||
build: .
|
||||
volumes:
|
||||
- ./recordings:/recordings:ro
|
||||
- ./analyses:/analyses
|
||||
- ./recordings/analyses:/recordings/analyses
|
||||
ports:
|
||||
- "8080:8080"
|
||||
- "8050:8080"
|
||||
restart: unless-stopped
|
||||
command: ["python", "web.py", "--dir", "/recordings", "--analyses-dir", "/analyses"]
|
||||
command: ["python", "web.py", "--dir", "/recordings"]
|
||||
|
||||
@@ -1656,9 +1656,10 @@ def main():
|
||||
|
||||
prune_orphan_analyses(analyses_dir, rec_dir)
|
||||
|
||||
_analyses_dir = analyses_dir # class body can't close over a name it also assigns
|
||||
class Handler(_Handler):
|
||||
recordings_dir = str(rec_dir)
|
||||
analyses_dir = str(analyses_dir)
|
||||
analyses_dir = str(_analyses_dir)
|
||||
threshold = args.threshold
|
||||
min_gap = args.min_gap
|
||||
|
||||
|
||||
Reference in New Issue
Block a user