Makefile 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. FORCE_REBUILD ?= 0
  2. JITSI_RELEASE ?= stable
  3. JITSI_BUILD ?= unstable
  4. JITSI_REPO ?= jitsi
  5. JITSI_SERVICES := base base-java web prosody jicofo jvb jigasi jibri
  6. BUILD_ARGS := \
  7. --build-arg JITSI_REPO=$(JITSI_REPO) \
  8. --build-arg JITSI_RELEASE=$(JITSI_RELEASE)
  9. ifeq ($(FORCE_REBUILD), 1)
  10. BUILD_ARGS := $(BUILD_ARGS) --no-cache
  11. endif
  12. all: build-all
  13. release:
  14. @$(foreach SERVICE, $(JITSI_SERVICES), $(MAKE) --no-print-directory JITSI_SERVICE=$(SERVICE) buildx;)
  15. buildx:
  16. docker buildx build \
  17. --platform linux/amd64,linux/arm64 \
  18. --progress=plain \
  19. $(BUILD_ARGS) --build-arg BASE_TAG=$(JITSI_BUILD) \
  20. --pull --push \
  21. --tag $(JITSI_REPO)/$(JITSI_SERVICE):$(JITSI_BUILD) \
  22. --tag $(JITSI_REPO)/$(JITSI_SERVICE):$(JITSI_RELEASE) \
  23. $(JITSI_SERVICE)
  24. $(addprefix buildx_,$(JITSI_SERVICES)):
  25. $(MAKE) --no-print-directory JITSI_SERVICE=$(patsubst buildx_%,%,$@) buildx
  26. build:
  27. docker buildx build \
  28. $(BUILD_ARGS) \
  29. --load \
  30. --progress plain \
  31. --tag $(JITSI_REPO)/$(JITSI_SERVICE) \
  32. $(JITSI_SERVICE)
  33. $(addprefix build_,$(JITSI_SERVICES)):
  34. $(MAKE) --no-print-directory JITSI_SERVICE=$(patsubst build_%,%,$@) build
  35. tag:
  36. docker tag $(JITSI_REPO)/$(JITSI_SERVICE) $(JITSI_REPO)/$(JITSI_SERVICE):$(JITSI_BUILD)
  37. push:
  38. docker push $(JITSI_REPO)/$(JITSI_SERVICE):$(JITSI_BUILD)
  39. %-all:
  40. @$(foreach SERVICE, $(JITSI_SERVICES), $(MAKE) --no-print-directory JITSI_SERVICE=$(SERVICE) $(subst -all,;,$@))
  41. clean:
  42. docker-compose stop
  43. docker-compose rm
  44. docker network prune
  45. prepare:
  46. FORCE_REBUILD=1 $(MAKE)
  47. .PHONY: all build tag push clean prepare release $(addprefix build_,$(JITSI_SERVICES))