Update Main to monorepo structure (#5)

* feat: Convert to a webhooks api model!

feat: Update readme with new api docs and images and logo

feat: reoptimize jpgs and add comments to all images for credit

feat: Add database backend implementations
Todo is to update the readme

feat: use memory storage for endpoints

feat: add logging to rest api and remove ctrl override

feat: remove keyboard monitor

delete the discord api from direct reference

* feat: webhook sending with retries and backoff

Also some great readme changes

* feat: add a web based dev mode!

* feat: better error handling for webhook endopoints

* feat: remove verbose logs

* feat: add docs for local dev

* feat: remove complex webhook stuff
config file with endpoints listed instead

* feat: update logo

* feat: set endpoint and remove rest api

* fix: check for negative config numbers

* feat: remove timestamps from webhook
Use Date header instead

* feat: refactor to using one endpoint with env vars

* feat: change logging to be one rolling log
With a max line size of 10k lines

* feat: move config to toml, keep api in env var

* feat: use .env files for managing env vars

* fix: remove log files from dev

* fix: unblock web monitor thread

* feat: merge into a monorepo with noisebridge-status
This commit is contained in:
Jet Pham 2025-08-05 00:33:41 -05:00 committed by GitHub
parent 716153b1b6
commit dff2e96947
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
54 changed files with 6967 additions and 973 deletions

26
noisebell-pi/env.example Normal file
View file

@ -0,0 +1,26 @@
# Environment variables for noisebell
# Copy this file to .env and modify as needed
# GPIO Configuration
NOISEBELL_GPIO_PIN=17
NOISEBELL_GPIO_DEBOUNCE_DELAY_SECS=5
# Web Monitor Configuration
NOISEBELL_WEB_MONITOR_PORT=8080
NOISEBELL_WEB_MONITOR_ENABLED=true
# Logging Configuration
NOISEBELL_LOGGING_LEVEL=info
NOISEBELL_LOGGING_FILE_PATH=logs/noisebell.log
NOISEBELL_LOGGING_MAX_BUFFERED_LINES=10000
# Monitor Configuration
NOISEBELL_MONITOR_TYPE=web
# Endpoint Configuration
NOISEBELL_ENDPOINT_URL=https://noisebell.jetpham.com/api/status
NOISEBELL_ENDPOINT_TIMEOUT_SECS=30
NOISEBELL_ENDPOINT_RETRY_ATTEMPTS=3
# API key for endpoint notifications (optional)
ENDPOINT_API_KEY=your_api_key_here