Deploy script: use scp/tar instead of rsync, strip macOS xattrs
Some checks failed
CI / backend (push) Has been cancelled
CI / frontend (push) Has been cancelled
CI / ui (push) Has been cancelled

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
Dennis Nemec
2026-09-02 21:57:31 +02:00
parent a9f22601fb
commit 12269051c4

View File

@ -1,7 +1,7 @@
#!/usr/bin/env bash
# Deploy a test instance to the Debian server (ssh alias "softvisor") on port 3333.
# Builds a static x86_64 binary in Docker, ships it with the frontend, installs a
# systemd unit. Safe to re-run: keeps the existing .env (and therefore the DB/admin).
# systemd unit (scp/tar, the server has no rsync). Safe to re-run: keeps the existing .env (and therefore the DB/admin).
set -euo pipefail
cd "$(dirname "$0")/.."
@ -17,8 +17,9 @@ docker run --rm -v "$PWD/backend":/home/rust/src -v cargo-registry-musl:/root/.c
echo "== upload"
ssh "$HOST" "mkdir -p $DIR/data"
rsync -az backend/target/x86_64-unknown-linux-musl/release/monitoring-server "$HOST:$DIR/monitoring-server"
rsync -az --delete frontend/dist/ "$HOST:$DIR/dist/"
ssh "$HOST" "systemctl stop monitoring.service 2>/dev/null || true"
scp -q backend/target/x86_64-unknown-linux-musl/release/monitoring-server "$HOST:$DIR/monitoring-server"
COPYFILE_DISABLE=1 tar --no-xattrs -C frontend/dist -czf - . | ssh "$HOST" "rm -rf $DIR/dist && mkdir -p $DIR/dist && tar -C $DIR/dist -xzf -"
echo "== configure (first run only)"
if ! ssh "$HOST" "test -f $DIR/.env"; then