21 lines
589 B
Makefile
21 lines
589 B
Makefile
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 -aP --delete --chown=$(OWNER) $(RSYNC_EXCLUDES) ./ $(DEST)/
|