Doorboy proxy exports door access information from MongoDB to door Raspberry Pi controllers
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Lauri Võsandi 9e7c49884a Modernize whole stack 4 months ago
.drone.yml Add Drone config 5 months ago
.flake8 Modernize whole stack 4 months ago
.gitignore Simplify and clean up 1 year ago
.gitlint Modernize whole stack 4 months ago
.pre-commit-config.yaml Modernize whole stack 4 months ago
Dockerfile Modernize whole stack 4 months ago
README.md Modernize whole stack 4 months ago
docker-compose.yml Modernize whole stack 4 months ago
doorboy.py Modernize whole stack 4 months ago
mongo-init.sh Modernize whole stack 4 months ago
requirements.txt Drop gunicorn and bind to 0.0.0.0 (#12) 8 months ago

README.md

Background

This component serves allowed list of keyfob UID hashes from MongoDB and pushes open door commands to door controllers.

Testing endpoints

For manually testing something like this might help:

curl -f http://127.0.0.1:5000/allowed -H "KEY: 0123456789"

Test scenarios

When updating doorboy proxy, members site or kdoorpi verify follwing:

  • Swiping unknown card shows up as unknown, it can be claimed on members site and it immediately can be used after claiming
  • Card enable/disable on members site works and has effect
  • Opening door via buttons at https://members.k-space.ee/m/doorboy works and has effect
  • Opening door via /open-ground-door, /open-front-door and /open-back-door commands in Slack channel #members works
  • TODO: Keep door open via members site works and has effect

When testing changes prefer using the back door and use a brick or something to keep it open to prevent interfering with other members entering and exiting.

Development

The easiest is to obtain VM from Proxmox cluster with public IP address. To run development instance:

docker-compose -f docker-compose.yml up --build

On kdoorpi override KDOORPI_API_ALLOWED, KDOORPI_API_LONGPOLL environment variables to redirect requests to your dev instance.