Skip to content

Implement convenience backup and restore strategy#133

Open
michael wants to merge 7 commits into
tpfrom
backup-and-restore
Open

Implement convenience backup and restore strategy#133
michael wants to merge 7 commits into
tpfrom
backup-and-restore

Conversation

@michael

@michael michael commented Jul 9, 2026

Copy link
Copy Markdown
Owner

No description provided.

@vercel

vercel Bot commented Jul 9, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
editable-website Ready Ready Preview, Comment Jul 11, 2026 8:57pm

@michael michael changed the base branch from ccm to tp July 10, 2026 12:06
michael added 2 commits July 10, 2026 16:19
Each site now lives in its own checkout with its own repo, with
Editable kept as the upstream remote for upgrades. Consequences:

- data.sh resolves the app like the fly CLI: -a flag > FLY_APP env >
  app in fly.toml, and trims whitespace from flyctl machine ids
- Backup names include the app name so data-backups/ stays readable
  across sites
- fly.toml carries region, VM sizing, and volume initial size, so the
  first deploy is just `fly deploy`
- npm scripts cover all data commands (pull/push/backup/backups/
  restore), parameterless
- New src/custom.css is user-owned and never touched by upstream,
  keeping `git pull upstream main` conflict-free
- README: "Your site is your repo" setup flow (upstream/origin),
  parameterless deploy guide, -a documented as escape hatch, and a
  new Upgrading section
Three failure modes found while testing push against a live app:

- remote-db.sh: force `sqlite3 -list -noheader` when parsing
  integrity_check output — newer sqlite3 CLIs render box tables on a
  tty (fly ssh allocates one), which broke the comparison against 'ok'
  and aborted the push before the swap
- data.sh: clear remote staging leftovers (clean-incoming) at the start
  of push, pull, and restore — sftp put and VACUUM INTO refuse to
  overwrite files left behind by an interrupted run
- data.sh: set COPYFILE_DISABLE when tarring assets so macOS tar omits
  xattr headers that GNU tar on the server warns about

The sqlite3 fix lives in the container image, so it takes effect on the
next `fly deploy`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant