Files
2026-08-25 23:33:54 +01:00

62 lines
1.9 KiB
Makefile

host := "bl@flo-homeserver"
hagfisk_dir := "~/hagfisk"
# Build binary locally
build:
echo "Building hagfisk binary..."
cargo build --release
# Stop app service (must stop before DB operations)
stop-app:
ssh {{host}} "systemctl --user stop hagfisk.service"
# Start app service
start-app:
ssh {{host}} "systemctl --user start hagfisk.service"
# Restart app service
restart-app:
ssh {{host}} "systemctl --user restart hagfisk.service"
# Deploy and restart (safe for regular updates)
deploy: build
ssh -q {{host}} "rm -f {{hagfisk_dir}}/hagfisk"
echo "Syncing binary to remote..."
rsync -avz --progress ./target/release/hagfisk {{host}}:{{hagfisk_dir}}/hagfisk
echo "Restoring SELinux contexts..."
ssh -t -q {{host}} "sudo restorecon -RF {{hagfisk_dir}}"
ssh -q {{host}} "systemctl --user daemon-reload"
ssh -q {{host}} "systemctl --user restart hagfisk.service"
# Deploy with full re-ingest (stops service first)
deploy-reingest: build stop-app
echo "Syncing binary to remote..."
rsync -avz --progress ./target/release/hagfisk {{host}}:{{hagfisk_dir}}/hagfisk
echo "Restoring SELinux contexts..."
ssh -t -q {{host}} "sudo restorecon -RF {{hagfisk_dir}}"
ssh -q {{host}} "systemctl --user daemon-reload"
echo "Running full re-ingest..."
ssh {{host}} "cd {{hagfisk_dir}} && ./hagfisk ingest --full"
echo "Starting service..."
ssh {{host}} "systemctl --user start hagfisk.service"
# Manual full ingest (assumes service is stopped)
ingest-full:
ssh {{host}} "cd {{hagfisk_dir}} && ./hagfisk ingest --full"
# Stream logs from remote app
logs-app:
ssh {{host}} "journalctl --user -u hagfisk -f"
# Show status of app
ps-app:
ssh {{host}} "systemctl --user status hagfisk.service"
# Stream logs from remote ingest (manual run)
logs-ingest:
ssh {{host}} "journalctl --user -u hagfisk-ingest -f"
# Show status of ingest
ps-ingest:
ssh {{host}} "systemctl --user status hagfisk-ingest.service"