include server.cfg .PHONY: all clean deploy update-collection all: @$(MAKE) -C frontend clean: @$(MAKE) -C frontend clean @$(MAKE) -C backend clean SSH_OPTS := -q -o ControlMaster=auto -o ControlPath=.ssh-deployment.sock deploy: all @echo " SSH $(WEB_SERVER)" @ssh $(SSH_OPTS) -Nf $(WEB_SERVER) @echo " RSYNC frontend/ $(WEB_SERVER):$(SERVER_STATIC_PATH)" @rsync -rltizm --delete-excluded --exclude=Makefile --exclude=*.swp --exclude=bin/ --exclude=Makefile \ --include=scripts.min.js --include=styles.min.css --exclude=*.js --exclude=*.css \ --rsh="ssh $(SSH_OPTS)" frontend/ "$(WEB_SERVER):$(SERVER_STATIC_PATH)" @echo " RSYNC backend/zmusic/ $(WEB_SERVER):$(SERVER_APP_PATH)" @rsync -rltizm --delete-excluded --exclude=*.swp --exclude=*.pyc --filter="P app.cfg" \ --rsh="ssh $(SSH_OPTS)" backend/zmusic/ "$(WEB_SERVER):$(SERVER_APP_PATH)" @echo " UWSGI restart" @ssh $(SSH_OPTS) $(WEB_SERVER) "systemctl restart uwsgi@emperor.service" @echo " SSH $(WEB_SERVER)" @ssh -O exit $(SSH_OPTS) $(WEB_SERVER) update-collection: @echo " RSYNC $(LOCAL_COLLECTION_PATH) $(WEB_SERVER):$(SERVER_MUSIC_PATH)" @rsync -avziP --delete-excluded --delete-after --fuzzy --exclude=.directory '$(LOCAL_COLLECTION_PATH)/' '$(WEB_SERVER):$(SERVER_MUSIC_PATH)' @echo " SCAN $(URL_BASE)" @curl -L '$(URL_BASE)/scan?username=$(ADMIN_USERNAME)&password=$(ADMIN_PASSWORD)'