Raspberry Pi based door controller software
Go to file
Arti Zirk 9ff6217a12
continuous-integration/drone/push Build is failing Details
Use BuildKit crosscompile variables for multiarch
2023-09-06 23:25:06 +03:00
godoor_server use Duration for doorOpenTime + lint 2023-08-17 20:45:11 +03:00
hash Checkpoint 5 2023-07-30 12:38:47 +02:00
.drone.yml Fix Docker image 2023-08-24 22:35:23 +03:00
.env Define a door name in example .env file 2023-08-06 21:59:45 +03:00
.gitignore Checkpoint 5 2023-07-30 12:38:47 +02:00
Dockerfile Use BuildKit crosscompile variables for multiarch 2023-09-06 23:25:06 +03:00
LICENSE Init 2022-04-02 21:14:21 +03:00
Makefile Do not error on git describe if tags are missing 2023-08-11 14:35:57 +03:00
README.md Use BuildKit crosscompile variables for multiarch 2023-09-06 23:25:06 +03:00
go.mod update deps 2023-08-17 20:11:06 +03:00
go.sum update deps 2023-08-17 20:11:06 +03:00
godoor.go Implement #5: SIGUSR1 2023-08-25 06:03:55 +00:00
wiegand.go Enable Wiegand data internal pull-ups 2023-08-11 22:09:22 +03:00
wiegand_mock.go Checkpoint 4 2023-07-30 01:03:52 +03:00

README.md

GoDoor

Go rewrite of kdoorpi. Uses libgpiod native Go library to access the general purpose pins in cross platform way.

Developing

Either build directly on Raspberry Pi or build locally and copy the binary

GOOS=linux GOARCH=arm64 go build
scp godoor rpi4b:

Cross platform buils with containerd/nerdctl

sudo nerdctl build --tag godoor --output type=oci --platform linux/amd64,linux/arm64 .

Nerdctl needs type=oci passed to its BuildKit backend, otherwise it will build a legacy Docker image.

Deployment

The CI system should automatically build docker image and push it to Harbor

Refer to Ansible playbook on how to deploy on all door controllers

Usage

For end users door can be opened by:

  • Web interface
    • Push button
    • Enrolling keyfob and swiping keyfob at door cardreader
  • Issuing /open-...-door command in #members channel

For emergency cases:

  • Log into door controller via SSH and issue killall -sUSR1 godoor