Files
2026-08-24 13:49:35 +01:00

59 lines
1.3 KiB
Makefile

SERVER := "bl@flo-homeserver"
PKG := "user-to-support-chat"
BINARY := "target/release/user-to-support-chat"
DEV_DIR := "./local"
DEV_BINARY := DEV_DIR + "/user-to-support-chat"
default:
@just --list
build: clippy fmt build-release
build-release:
touch src/main.rs
cargo build --release
deploy: build
ssh {{SERVER}} "rm -rf /tmp/{{PKG}}-deploy && mkdir -p /tmp/{{PKG}}-deploy"
rsync -avz --delete {{BINARY}} {{SERVER}}:/tmp/{{PKG}}-deploy/
ssh -t {{SERVER}} "sudo rsync -a --delete --exclude='.env' --exclude='config.json' --exclude='data/' --chown={{PKG}}:{{PKG}} /tmp/{{PKG}}-deploy/ /opt/{{PKG}}/ && sudo systemctl restart {{PKG}}"
ssh {{SERVER}} "rm -rf /tmp/{{PKG}}-deploy"
dev-build: clippy fmt dev-build-debug
dev-build-debug:
mkdir -p {{DEV_DIR}}
cargo build
dev-start:
rm -rf {{DEV_DIR}}
mkdir -p {{DEV_DIR}}
cargo build
cp target/debug/{{PKG}} {{DEV_BINARY}}
cd {{DEV_DIR}} && ./{{PKG}}
run:
cargo run
clippy:
cargo clippy -- -D warnings
fmt:
cargo fmt
test:
cargo test
clean:
cargo clean
rm -rf {{DEV_DIR}}
status:
ssh -t {{SERVER}} "sudo systemctl status {{PKG}}"
logs:
ssh -t {{SERVER}} "sudo journalctl -u {{PKG}} -n 100 --no-pager"
logs-follow:
ssh -t {{SERVER}} "sudo journalctl -u {{PKG}} -f"