diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..cbf324a --- /dev/null +++ b/Makefile @@ -0,0 +1,20 @@ +DEST ?= /srv/task-inventory +OWNER ?= task-inventory:task-inventory +OWNER_USER = $(firstword $(subst :, ,$(OWNER))) + +RSYNC_EXCLUDES := \ + --exclude='/.git/' \ + --exclude='/data/' \ + --exclude='/config.yaml' \ + --exclude='/node_modules/' + +.PHONY: deploy sync + +# Full deployment: sync files, fix ownership, install dependencies +deploy: sync + sudo chown -R $(OWNER) $(DEST) + sudo -u $(OWNER_USER) npm ci --prefix $(DEST) + +# Copy files only — useful for quick updates when dependencies haven't changed +sync: + sudo rsync -a --delete $(RSYNC_EXCLUDES) ./ $(DEST)/