I have gotten the Error 500/NGINX twice, a reboot resolves the issue, please see the logs below: error showed at 11:35, reboot was at 17:42
Running on 4b Pi, debian trixie no desktop environment
v0.6.6
All: (lat, lon removed)
11:35:37 INFO [birdnet]Bird detected | chunk=4 | confidence=91.2 | location_prob=99.9 | location_source=geomodel_v3 | species=Downy Woodpecker | time=2026-04-22T11:35:25
11:35:37 INFO [birdnet]Chunk 4 raw model output | cutoff=75 | filter_threshold=3 | location_source=geomodel_v3 | top3=[{"confidence":91.2,"location_prob":99.9,"species":"Downy Woodpecker"},{"confidence":66,"location_prob":99.8,"species":"White-throated Sparrow"},{"confidence":0.2,"location_prob":99.7,"species":"Northern Cardinal"}]
11:35:49 INFO [icecast]Starting Icecast server...
11:35:49 INFO [icecast]Stream bitrate: 320k
11:35:49 INFO [icecast]Starting Icecast streaming service...
11:35:49 INFO [icecast]Set ICECAST_PASSWORD in your environment for a persistent password.
11:35:49 INFO [icecast]Generated random password for this session.
11:35:49 WARNING [icecast]WARNING: ICECAST_PASSWORD not set or using insecure default.
11:35:52 INFO [icecast]PulseAudio socket found at /run/pulse/native
11:35:52 INFO [icecast]Waiting for PulseAudio...
11:35:52 INFO [icecast]Icecast server started on port 8888
11:35:52 WARNING [main]Recording too short, removing | duration_seconds=0 | expected_min_duration=5 | file=20260422_113540.wav | size_bytes=0
11:35:52 WARNING [main]Recording too short, removing | duration_seconds=0 | expected_min_duration=5 | file=20260422_113528.wav | size_bytes=0
11:35:52 INFO [main]Storage monitor thread started
11:35:52 INFO [main]Storage monitor configuration loaded | auto_cleanup_enabled=true | check_interval_minutes=30 | keep_per_species=60 | target_percent=80 | trigger_percent=85
11:35:52 INFO [main]🔴 Starting PulseAudio recording | chunk_duration=12 | output_dir=/app/data/audio/recordings/source_1 | pulseaudio_source=default | source_id=source_1
11:35:52 INFO [main]Processing thread started
11:35:52 INFO [main]Processing thread started
11:35:52 INFO [main]Recording thread started
11:35:52 INFO [main]Weather service started | lat= | lon=
11:35:52 INFO [main]🎵 BirdNET-PiPy v0.6.6 starting | analysis_chunk_length=3 | recording_dir=/app/data/audio/recordings | recording_length=12 | timezone=America/New_York
11:35:53 INFO [icecast]Launched 1 stream(s)
11:35:53 INFO [icecast][source_1] PulseAudio source: default → /source_1.mp3
11:35:53 INFO [main]Weather updated | code=3 | temp=7.4
11:35:54 INFO [icecast][source_1] Stream connected
11:35:55 INFO [icecast]Received shutdown signal...
11:35:55 WARNING [api]Werkzeug appears to be used in a production deployment. Consider switching to a production web server instead.
11:35:55 INFO [api]Session configured | lifetime_days=7
11:35:55 INFO [api]🌐 API server starting | port=5002 | timezone=America/New_York | websocket=enabled
11:35:55 INFO [api][DB] DatabaseManager initialized | database_path=/app/data/db/birds.db
11:35:55 INFO [main]Shutdown initiated
11:35:55 INFO [main]Received SIGTERM signal, initiating graceful shutdown
11:35:56 INFO [main]🔴 Stopping audio recording
11:35:56 INFO [main]Storage monitor stopped
17:42:36 INFO [main]Shutdown complete
icecast:
11:35:49 INFO [icecast]Stream bitrate: 320k
11:35:49 INFO [icecast]Starting Icecast streaming service...
11:35:49 INFO [icecast]Set ICECAST_PASSWORD in your environment for a persistent password.
11:35:49 INFO [icecast]Generated random password for this session.
11:35:49 WARNING [icecast]WARNING: ICECAST_PASSWORD not set or using insecure default.
11:35:52 INFO [icecast]PulseAudio socket found at /run/pulse/native
11:35:52 INFO [icecast]Waiting for PulseAudio...
11:35:52 INFO [icecast]Icecast server started on port 8888
11:35:53 INFO [icecast]Launched 1 stream(s)
11:35:53 INFO [icecast][source_1] PulseAudio source: default → /source_1.mp3
11:35:54 INFO [icecast][source_1] Stream connected
11:35:55 INFO [icecast]Received shutdown signal...
17:42:56 INFO [icecast]Starting Icecast server...
main:
11:35:52 INFO [main]Storage monitor configuration loaded | auto_cleanup_enabled=true | check_interval_minutes=30 | keep_per_species=60 | target_percent=80 | trigger_percent=85
11:35:52 INFO [main]🔴 Starting PulseAudio recording | chunk_duration=12 | output_dir=/app/data/audio/recordings/source_1 | pulseaudio_source=default | source_id=source_1
11:35:52 INFO [main]Processing thread started
11:35:52 INFO [main]Processing thread started
11:35:52 INFO [main]Recording thread started
11:35:52 INFO [main]Weather service started | lat= | lon=-
11:35:52 INFO [main]🎵 BirdNET-PiPy v0.6.6 starting | analysis_chunk_length=3 | recording_dir=/app/data/audio/recordings | recording_length=12 | timezone=America/New_York
11:35:53 INFO [main]Weather updated | code=3 | temp=7.4
11:35:55 INFO [main]Shutdown initiated
11:35:55 INFO [main]Received SIGTERM signal, initiating graceful shutdown
11:35:56 INFO [main]🔴 Stopping audio recording
11:35:56 INFO [main]Storage monitor stopped
17:42:36 INFO [main]Shutdown complete
api: (request id removed)
08:51:57 INFO [api]API response: GET /api/dashboard | request_id= | status=200
08:51:58 INFO [api]API response: GET /api/dashboard | request_id= | status=200
08:52:07 INFO [api]API request: GET /api/dashboard | method=GET | path=/api/dashboard | remote_addr=172.18.0.5 | request_id=
08:52:10 INFO [api]API response: GET /api/dashboard | request_id= | status=200
11:35:55 WARNING [api]Werkzeug appears to be used in a production deployment. Consider switching to a production web server instead.
11:35:55 INFO [api]Session configured | lifetime_days=7
11:35:55 INFO [api]🌐 API server starting | port=5002 | timezone=America/New_York | websocket=enabled
11:35:55 INFO [api][DB] DatabaseManager initialized | database_path=/app/data/db/birds.db
17:42:59 WARNING [api]Werkzeug appears to be used in a production deployment. Consider switching to a production web server instead.
model:
11:35:35 INFO [birdnet]Bird detected | chunk=2 | confidence=84.6 | location_prob=99.8 | location_source=geomodel_v3 | species=White-throated Sparrow | time=2026-04-22T11:35:20
11:35:35 INFO [birdnet]Chunk 2 raw model output | cutoff=75 | filter_threshold=3 | location_source=geomodel_v3 | top3=[{"confidence":84.6,"location_prob":99.8,"species":"White-throated Sparrow"},{"confidence":18.9,"location_prob":100,"species":"American Robin"},{"confidence":1.7,"location_prob":99.7,"species":"Northern Cardinal"}]
11:35:36 INFO [birdnet]Bird detected | chunk=3 | confidence=84.2 | location_prob=99.8 | location_source=geomodel_v3 | species=White-throated Sparrow | time=2026-04-22T11:35:22.500000
11:35:36 INFO [birdnet]Chunk 3 raw model output | cutoff=75 | filter_threshold=3 | location_source=geomodel_v3 | top3=[{"confidence":84.2,"location_prob":99.8,"species":"White-throated Sparrow"},{"confidence":2.5,"location_prob":100,"species":"American Robin"},{"confidence":2.4,"location_prob":"unmapped","species":"Little Ringed Plover"}]
11:35:37 INFO [birdnet]Request completed | detections=6 | file=20260422_113515.wav | processing_time=5.36
11:35:37 INFO [birdnet]process_audio_file completed | execution_time=5.360392332077026 | function_name=process_audio_file
11:35:37 INFO [birdnet]Analysis complete | chunks_analyzed=5 | detection_rate=100 | file=20260422_113515.wav | total_detections=6
11:35:37 INFO [birdnet]Bird detected | chunk=4 | confidence=91.2 | location_prob=99.9 | location_source=geomodel_v3 | species=Downy Woodpecker | time=2026-04-22T11:35:25
11:35:37 INFO [birdnet]Chunk 4 raw model output | cutoff=75 | filter_threshold=3 | location_source=geomodel_v3 | top3=[{"confidence":91.2,"location_prob":99.9,"species":"Downy Woodpecker"},{"confidence":66,"location_prob":99.8,"species":"White-throated Sparrow"},{"confidence":0.2,"location_prob":99.7,"species":"Northern Cardinal"}]
17:42:44 INFO [birdnet]Loaded ONNX model: /app/model_service/models/v3.0/BirdNET_V3.0_Global_11K_FP32.onnx
I have gotten the Error 500/NGINX twice, a reboot resolves the issue, please see the logs below: error showed at 11:35, reboot was at 17:42
Running on 4b Pi, debian trixie no desktop environment
v0.6.6
All: (lat, lon removed)
11:35:37 INFO [birdnet]Bird detected | chunk=4 | confidence=91.2 | location_prob=99.9 | location_source=geomodel_v3 | species=Downy Woodpecker | time=2026-04-22T11:35:25
11:35:37 INFO [birdnet]Chunk 4 raw model output | cutoff=75 | filter_threshold=3 | location_source=geomodel_v3 | top3=[{"confidence":91.2,"location_prob":99.9,"species":"Downy Woodpecker"},{"confidence":66,"location_prob":99.8,"species":"White-throated Sparrow"},{"confidence":0.2,"location_prob":99.7,"species":"Northern Cardinal"}]
11:35:49 INFO [icecast]Starting Icecast server...
11:35:49 INFO [icecast]Stream bitrate: 320k
11:35:49 INFO [icecast]Starting Icecast streaming service...
11:35:49 INFO [icecast]Set ICECAST_PASSWORD in your environment for a persistent password.
11:35:49 INFO [icecast]Generated random password for this session.
11:35:49 WARNING [icecast]WARNING: ICECAST_PASSWORD not set or using insecure default.
11:35:52 INFO [icecast]PulseAudio socket found at /run/pulse/native
11:35:52 INFO [icecast]Waiting for PulseAudio...
11:35:52 INFO [icecast]Icecast server started on port 8888
11:35:52 WARNING [main]Recording too short, removing | duration_seconds=0 | expected_min_duration=5 | file=20260422_113540.wav | size_bytes=0
11:35:52 WARNING [main]Recording too short, removing | duration_seconds=0 | expected_min_duration=5 | file=20260422_113528.wav | size_bytes=0
11:35:52 INFO [main]Storage monitor thread started
11:35:52 INFO [main]Storage monitor configuration loaded | auto_cleanup_enabled=true | check_interval_minutes=30 | keep_per_species=60 | target_percent=80 | trigger_percent=85
11:35:52 INFO [main]🔴 Starting PulseAudio recording | chunk_duration=12 | output_dir=/app/data/audio/recordings/source_1 | pulseaudio_source=default | source_id=source_1
11:35:52 INFO [main]Processing thread started
11:35:52 INFO [main]Processing thread started
11:35:52 INFO [main]Recording thread started
11:35:52 INFO [main]Weather service started | lat= | lon=
11:35:52 INFO [main]🎵 BirdNET-PiPy v0.6.6 starting | analysis_chunk_length=3 | recording_dir=/app/data/audio/recordings | recording_length=12 | timezone=America/New_York
11:35:53 INFO [icecast]Launched 1 stream(s)
11:35:53 INFO [icecast][source_1] PulseAudio source: default → /source_1.mp3
11:35:53 INFO [main]Weather updated | code=3 | temp=7.4
11:35:54 INFO [icecast][source_1] Stream connected
11:35:55 INFO [icecast]Received shutdown signal...
11:35:55 WARNING [api]Werkzeug appears to be used in a production deployment. Consider switching to a production web server instead.
11:35:55 INFO [api]Session configured | lifetime_days=7
11:35:55 INFO [api]🌐 API server starting | port=5002 | timezone=America/New_York | websocket=enabled
11:35:55 INFO [api][DB] DatabaseManager initialized | database_path=/app/data/db/birds.db
11:35:55 INFO [main]Shutdown initiated
11:35:55 INFO [main]Received SIGTERM signal, initiating graceful shutdown
11:35:56 INFO [main]🔴 Stopping audio recording
11:35:56 INFO [main]Storage monitor stopped
17:42:36 INFO [main]Shutdown complete
icecast:
11:35:49 INFO [icecast]Stream bitrate: 320k
11:35:49 INFO [icecast]Starting Icecast streaming service...
11:35:49 INFO [icecast]Set ICECAST_PASSWORD in your environment for a persistent password.
11:35:49 INFO [icecast]Generated random password for this session.
11:35:49 WARNING [icecast]WARNING: ICECAST_PASSWORD not set or using insecure default.
11:35:52 INFO [icecast]PulseAudio socket found at /run/pulse/native
11:35:52 INFO [icecast]Waiting for PulseAudio...
11:35:52 INFO [icecast]Icecast server started on port 8888
11:35:53 INFO [icecast]Launched 1 stream(s)
11:35:53 INFO [icecast][source_1] PulseAudio source: default → /source_1.mp3
11:35:54 INFO [icecast][source_1] Stream connected
11:35:55 INFO [icecast]Received shutdown signal...
17:42:56 INFO [icecast]Starting Icecast server...
main:
11:35:52 INFO [main]Storage monitor configuration loaded | auto_cleanup_enabled=true | check_interval_minutes=30 | keep_per_species=60 | target_percent=80 | trigger_percent=85
11:35:52 INFO [main]🔴 Starting PulseAudio recording | chunk_duration=12 | output_dir=/app/data/audio/recordings/source_1 | pulseaudio_source=default | source_id=source_1
11:35:52 INFO [main]Processing thread started
11:35:52 INFO [main]Processing thread started
11:35:52 INFO [main]Recording thread started
11:35:52 INFO [main]Weather service started | lat= | lon=-
11:35:52 INFO [main]🎵 BirdNET-PiPy v0.6.6 starting | analysis_chunk_length=3 | recording_dir=/app/data/audio/recordings | recording_length=12 | timezone=America/New_York
11:35:53 INFO [main]Weather updated | code=3 | temp=7.4
11:35:55 INFO [main]Shutdown initiated
11:35:55 INFO [main]Received SIGTERM signal, initiating graceful shutdown
11:35:56 INFO [main]🔴 Stopping audio recording
11:35:56 INFO [main]Storage monitor stopped
17:42:36 INFO [main]Shutdown complete
api: (request id removed)
08:51:57 INFO [api]API response: GET /api/dashboard | request_id= | status=200
08:51:58 INFO [api]API response: GET /api/dashboard | request_id= | status=200
08:52:07 INFO [api]API request: GET /api/dashboard | method=GET | path=/api/dashboard | remote_addr=172.18.0.5 | request_id=
08:52:10 INFO [api]API response: GET /api/dashboard | request_id= | status=200
11:35:55 WARNING [api]Werkzeug appears to be used in a production deployment. Consider switching to a production web server instead.
11:35:55 INFO [api]Session configured | lifetime_days=7
11:35:55 INFO [api]🌐 API server starting | port=5002 | timezone=America/New_York | websocket=enabled
11:35:55 INFO [api][DB] DatabaseManager initialized | database_path=/app/data/db/birds.db
17:42:59 WARNING [api]Werkzeug appears to be used in a production deployment. Consider switching to a production web server instead.
model:
11:35:35 INFO [birdnet]Bird detected | chunk=2 | confidence=84.6 | location_prob=99.8 | location_source=geomodel_v3 | species=White-throated Sparrow | time=2026-04-22T11:35:20
11:35:35 INFO [birdnet]Chunk 2 raw model output | cutoff=75 | filter_threshold=3 | location_source=geomodel_v3 | top3=[{"confidence":84.6,"location_prob":99.8,"species":"White-throated Sparrow"},{"confidence":18.9,"location_prob":100,"species":"American Robin"},{"confidence":1.7,"location_prob":99.7,"species":"Northern Cardinal"}]
11:35:36 INFO [birdnet]Bird detected | chunk=3 | confidence=84.2 | location_prob=99.8 | location_source=geomodel_v3 | species=White-throated Sparrow | time=2026-04-22T11:35:22.500000
11:35:36 INFO [birdnet]Chunk 3 raw model output | cutoff=75 | filter_threshold=3 | location_source=geomodel_v3 | top3=[{"confidence":84.2,"location_prob":99.8,"species":"White-throated Sparrow"},{"confidence":2.5,"location_prob":100,"species":"American Robin"},{"confidence":2.4,"location_prob":"unmapped","species":"Little Ringed Plover"}]
11:35:37 INFO [birdnet]Request completed | detections=6 | file=20260422_113515.wav | processing_time=5.36
11:35:37 INFO [birdnet]process_audio_file completed | execution_time=5.360392332077026 | function_name=process_audio_file
11:35:37 INFO [birdnet]Analysis complete | chunks_analyzed=5 | detection_rate=100 | file=20260422_113515.wav | total_detections=6
11:35:37 INFO [birdnet]Bird detected | chunk=4 | confidence=91.2 | location_prob=99.9 | location_source=geomodel_v3 | species=Downy Woodpecker | time=2026-04-22T11:35:25
11:35:37 INFO [birdnet]Chunk 4 raw model output | cutoff=75 | filter_threshold=3 | location_source=geomodel_v3 | top3=[{"confidence":91.2,"location_prob":99.9,"species":"Downy Woodpecker"},{"confidence":66,"location_prob":99.8,"species":"White-throated Sparrow"},{"confidence":0.2,"location_prob":99.7,"species":"Northern Cardinal"}]
17:42:44 INFO [birdnet]Loaded ONNX model: /app/model_service/models/v3.0/BirdNET_V3.0_Global_11K_FP32.onnx