Makefile 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. default_target: amd64_frigate
  2. COMMIT_HASH := $(shell git log -1 --pretty=format:"%h"|tail -1)
  3. VERSION := 0.10.1
  4. version:
  5. echo "VERSION='0.10.1-$(COMMIT_HASH)'" > frigate/version.py
  6. web:
  7. docker build --tag chaosbunker/frigate-web --file docker/Dockerfile.web web/
  8. amd64_wheels:
  9. docker build --tag chaosbunker/frigate-wheels:1.0.3-amd64 --file docker/Dockerfile.wheels .
  10. amd64_ffmpeg:
  11. docker build --no-cache --pull --tag chaosbunker/frigate-ffmpeg:1.2.0-amd64 --file docker/Dockerfile.ffmpeg.amd64 .
  12. nginx_frigate:
  13. docker buildx build --push --platform linux/arm/v7,linux/arm64/v8,linux/amd64 --tag chaosbunker/frigate-nginx:1.0.2 --file docker/Dockerfile.nginx .
  14. amd64_frigate: version web
  15. docker build --no-cache --tag chaosbunker/frigate-base --build-arg ARCH=amd64 --build-arg FFMPEG_VERSION=1.1.0 --build-arg WHEELS_VERSION=1.0.3 --build-arg NGINX_VERSION=1.0.2 --file docker/Dockerfile.base .
  16. docker build --no-cache --tag frigate --file docker/Dockerfile.amd64 .
  17. amd64_all: amd64_wheels amd64_ffmpeg amd64_frigate
  18. amd64nvidia_wheels:
  19. docker build --tag chaosbunker/frigate-wheels:1.0.3-amd64nvidia --file docker/Dockerfile.wheels .
  20. amd64nvidia_ffmpeg:
  21. docker build --no-cache --pull --tag chaosbunker/frigate-ffmpeg:1.2.0-amd64nvidia --file docker/Dockerfile.ffmpeg.amd64nvidia .
  22. amd64nvidia_frigate: version web
  23. docker build --no-cache --tag frigate-base --build-arg ARCH=amd64nvidia --build-arg FFMPEG_VERSION=1.0.0 --build-arg WHEELS_VERSION=1.0.3 --build-arg NGINX_VERSION=1.0.2 --file docker/Dockerfile.base .
  24. docker build --no-cache --tag frigate --file docker/Dockerfile.amd64nvidia .
  25. amd64nvidia_all: amd64nvidia_wheels amd64nvidia_ffmpeg amd64nvidia_frigate
  26. aarch64_wheels:
  27. docker build --tag chaosbunker/frigate-wheels:1.0.3-aarch64 --file docker/Dockerfile.wheels .
  28. aarch64_ffmpeg:
  29. docker build --no-cache --pull --tag chaosbunker/frigate-ffmpeg:1.3.0-aarch64 --file docker/Dockerfile.ffmpeg.aarch64 .
  30. aarch64_frigate: version web
  31. docker build --no-cache --tag frigate-base --build-arg ARCH=aarch64 --build-arg FFMPEG_VERSION=1.0.0 --build-arg WHEELS_VERSION=1.0.3 --build-arg NGINX_VERSION=1.0.2 --file docker/Dockerfile.base .
  32. docker build --no-cache --tag chaosbunker/frigate:${VERSION}-aarch64 --file docker/Dockerfile.aarch64 .
  33. aarch64_all: aarch64_wheels aarch64_ffmpeg aarch64_frigate
  34. armv7_wheels:
  35. docker build --tag chaosbunker/frigate-wheels:1.0.3-armv7 --file docker/Dockerfile.wheels .
  36. armv7_ffmpeg:
  37. docker build --no-cache --pull --tag chaosbunker/frigate-ffmpeg:1.2.0-armv7 --file docker/Dockerfile.ffmpeg.armv7 .
  38. armv7_frigate: version web
  39. docker build --no-cache --tag frigate-base --build-arg ARCH=armv7 --build-arg FFMPEG_VERSION=1.0.0 --build-arg WHEELS_VERSION=1.0.3 --build-arg NGINX_VERSION=1.0.2 --file docker/Dockerfile.base .
  40. docker build --no-cache --tag frigate --file docker/Dockerfile.armv7 .
  41. armv7_all: armv7_wheels armv7_ffmpeg armv7_frigate
  42. run_tests:
  43. # PLATFORM: linux/arm64/v8 linux/amd64 or linux/arm/v7
  44. # ARCH: aarch64 amd64 or armv7
  45. @cat docker/Dockerfile.base docker/Dockerfile.$(ARCH) > docker/Dockerfile.test
  46. @sed -i "s/FROM frigate-web as web/#/g" docker/Dockerfile.test
  47. @sed -i "s/COPY --from=web \/opt\/frigate\/build web\//#/g" docker/Dockerfile.test
  48. @sed -i "s/FROM frigate-base/#/g" docker/Dockerfile.test
  49. @echo "" >> docker/Dockerfile.test
  50. @echo "RUN python3 -m unittest" >> docker/Dockerfile.test
  51. @docker buildx build --platform=$(PLATFORM) --tag frigate-base --build-arg NGINX_VERSION=1.0.2 --build-arg FFMPEG_VERSION=1.0.0 --build-arg ARCH=$(ARCH) --build-arg WHEELS_VERSION=1.0.3 --file docker/Dockerfile.test .
  52. @rm docker/Dockerfile.test
  53. .PHONY: web run_tests