Awesome
🔘 Flic smart button bridge
Turn a Raspberry Pi or many single-board computers into a plug-in appliance to bridge your Bluetooth Flic smart buttons to your home automation system of choice, like Home Assistant.
- ARM images are based on Alpine Linux while the x86 ones are based on Debian, and their sizes are kept to a minimum. ⚖️
- Container labels metadata can be explored on MicroBadger. 🔍
- Images and Dockerfiles are provided on a best-effort basis; should you find tweaks and improvements, do open a pull request! 😃
While this project repo's content is optimized for balena, the images and Dockerfiles can be used in many supported ARM, x86_64 and i386 Docker environments, as long as Bluetooth Low Energy and network access are provided.
Usage instructions ℹ️
Run the following commands on your linux-running host:
Start the daemon
docker run --detach --restart=unless-stopped \
--net=host --cap-add=NET_ADMIN \
--name=flic \
renemarc/balena-flic
Explore the above container
docker logs flic
docker exec -it flic bash
Play with a temporary container
docker kill flic
docker run -it --rm --net=host --cap-add=NET_ADMIN \
renemarc/balena-flic bash
See complete usage instructions on GitHub. 👀
Supported tags and respective Dockerfile
links 🔖
latest
(multi-platform)aarch64
,armv7hf
,rpi
(Dockerfile)amd64
,i386
(Dockerfile-debian.Dockerfile)
The latest tag is a multi-platform aware manifest list, and is created/updated on Travis CI using this shell script.
Architecture-specific tags are automated builds, with their base images defined at build-time using a Docker build hook.
Automated build pipeline 🏗
Images are automatically built and kept up to date using the following steps:
-
GitHub ➡️Docker
Architecture-specific images are automatically built by Docker Hub:
- on Git pushes to GitHub.
- when their underlying base images are updated.
-
Docker ➡️dockerhub2ci
Upon automatic image creation, Docker Hub sends a webhook notice to an instance of dockerhub2ci hosted on Heroku.
-
dockerhub2ci ➡️Travis CI
dockerhub2ci then sends a properly-formatted query to Travis CI to start the build of a multi-platform aware manifest list.
-
Travis CI ➡️Docker
Travis CI builds, tests and pushes the manifest latest tag to Docker Hub using this shell script.