ekke e3e30ad709 Deploy script: rsync the build across instead of re-sending it whole
Transferring with tar meant pushing the full 16 MB on every deploy, most of it
unchanged source maps, over the link to Accra. rsync sends only what differs —
on a no-op deploy that is now zero bytes.

--delete matters as much as the speed. A staging directory without it quietly
accumulates every asset ever built, which is precisely how the stale chunks kept
reappearing: the existing staging area at /home/sema_gopa/pwa/dist holds 226
files against a build of 47, so copying from it restored everything that had
been pruned. The trailing slash on the source copies contents including
dotfiles, so .htaccess comes along; dist/* would skip it. tar remains as a
fallback where rsync is not installed, and the AppleDouble sweep stays for both.

The final hop still has to be docker cp. rsync is not installed in the
container, the live src directory is owned by root so sema_gopa cannot create or
delete entries in it, and there is no passwordless sudo — docker exec is the
only route that has root where the bind mount lands.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-10-21 16:29:41 +02:00
..