IP     ?= 192.168.1.195
REMOTE_USER   ?= pi
REMOTE  = $(REMOTE_USER)@$(IP)
DEST   ?= /home/$(REMOTE_USER)/projet-agreg
RSYNC_OPTS = -arvz --delete --exclude='__pycache__' --exclude='*.pyc' --exclude='.env' --exclude='.venv' --exclude='Makefile' --exclude='.git' --exclude='.vscode' --exclude='.gitignore'

.PHONY: deploy

deploy-all: deploy-gw deploy-app

deploy-app:
	@echo "Déploiement sur $(REMOTE):$(DEST)"
	ssh $(REMOTE) "mkdir -p $(DEST)"
	rsync $(RSYNC_OPTS) ./app $(REMOTE):$(DEST)/app
	@echo "Déploiement terminé"
	ssh $(REMOTE) "cd $(DEST)/app && docker compose up -d --force-recreate --build"
	@echo "Services redémarrés"

deploy-gw:
	@echo "Déploiement sur $(REMOTE):$(DEST)"
	ssh $(REMOTE) "mkdir -p $(DEST)"
	rsync $(RSYNC_OPTS) ./lora-gateway $(REMOTE):$(DEST)/lora-gateway
	@echo "Déploiement terminé"
	ssh $(REMOTE) "cd $(DEST)/lora-gateway && docker compose up -d --force-recreate"
	@echo "Services redémarrés"