The Dim Sum Labs payment, door and membership system. Allows members to register their (cash or paypal) payment and receive login credentials. These can be used to open the door via either web interface or rfid card.
The system's workflow
- The dsl-accounts repository is updated by the space orga when payments are made.
- The hackman-paymentimport service (included here) downloads the dsl-accounts data every hour.
If there is an issue with the paymentimport or the space orga have missed an update. You can submit that you have paid.
- Go to http://door/ and log in with your credentials.
- Go to Account actions
- Select the month you are paying for and inform the door of your payment
Note: Informing the door this way is temporary and will only last until the next payment import.
- Continuous deployment based on Travis-ci builds
- UDEV-based autostart for the components that depend on hardware:
- hackman-rfidd expects to find a usb serial adaptor
- dsl-lights expects to find a pimoroni Mote Host USB device
- Debian buster or newer (requires Python 3.5)
Installation on raspberry pi
These steps can be quite slow to complete - the ansible system uses quite a lot of CPU and RAM, which can be in short supply on the Raspberry Pi.
The intent is to have a documented process that depends only on the Raspberry Pi hardware and thus can be easily tested or trialed. That being said, there are several ways to speed up or otherwise improve on this in the future.
- Start with a fresh raspian lite buster install image, with ssh enabled
- Dont forget to change the passwords and set up any extra users on the pi
sudo apt-get update && sudo apt-get -y upgrade
sudo apt-get -y install git ansible
git clonethis repo into a convinient place ( e.g
- cd into the repo
- If replacing an old system, restore the old database to
- Add the
~hackman/.ssh/id_ed25519.pubto the email@example.com authorised keys
- Add the door-backup.dsl ssh host key to the
- reboot to activate all changes
- Never run anything manually again \o/
- Ensure the CI tests are showing green (See the top of this README)
- ssh to door system
- cd into the repo
systemctl restart hackman
systemctl restart hackman-doord
systemctl restart hackman-rfidd