* feat: ratelimit, ghcr package and proper project refactor from askarzh
* fix(bridge): validate media path
* update: dependencies
* fix: added LID to contact number migration
* Drop the obsolete top-level `version: "3.9"` key (Compose v2 ignores it
with a warning).
* Align `POSTGRES_DB` with the database name the bridge actually opens.
main.go opens "whatsapp" unconditionally, so the previous "testdb"
default makes the stack fail on first `docker compose up` with
`pq: database "whatsapp" does not exist`.
* Replace the public placeholder `API_KEY` / `JWT_SECRET` values with
CHANGE_ME markers and an inline command for generating safe ones, so a
user who copy-pastes the file can't accidentally bring up a bridge with
publicly-known credentials.
* Drop the hard-coded `WEBHOOK_URL` pointing at a private 192.168.x
n8n instance and replace with a commented optional example. The env
var is read with `os.Getenv`, so leaving it unset is supported.