Backups - Bitcoin Node app - allow blocks folder backup

New backup feature is awesome! Major props for this feature!

Request

Remove the forced exclusion on the btc blocks folder (/Apps/bitcoin/data/bitcoin/blocks).

Desired outcomes:

  • Deprecate current janky workarounds
  • in favor of new built-in backups and restore feature
  • to maintain a current backup the BTC chain.
  • without needing to re-pull chain:
    • when expanding local SSD, or
    • when recovering/rebuilding Umbrel.

Only Umbrel can fix this

The “Bitcoin Node” app is listed as being maintained/developed by “Umbrel” in the app store.

Forced exclusion feature states the developer can remove such exclusions:

This app excludes the following data from being backed up. These paths usually contain non-essential items (like caches or logs that can be recreated) or data that could cause issues if restored (such as outdated app states that might lead to conflicts or inconsistencies). These files/folders are set by the app developer and cannot be modified:

  • /Apps/bitcoin/data/bitcoin/blocks

Considerations

  • Where users have enabled backups already, removing this exclusion and pushing the change may impact backup target disk space. This can be mitigated by either:

    • updating the setting and not pushing a state change (assumes the .yml isn’t clobbered on future updates), OR
    • push an app-wide exclusion for the app, and remove the blocks folder from the forced block list. This is ideal where Bitcoin Node does not contain user data/settings for backup. This would allow existing users to experience little/no change. Native app-wide exclusion already allows users to exclude entire apps if they prefer, meaning:
      • this solution would have zero impact on early feature adopters, and
      • negligible user impact going forward.
  • Users can modify theumbrel-app.yml, however:

    • Current documentation implies this change will not persist. Consider allowing users an override file which does persist to tweak exclusions in a way which will not be clobbered (without running a cron job to sed pattern delete for the line). This doesn’t need to be in the UI, but could just be an appropriately named file with key/value pares for overrides (e.g., exclude/include:/arbitrary/path/*). The splat being implicit or explicit, TBD.
    • Downstream effects are unclear. (Will the .yml get clobbered on app update…? Will such a clobber also remove the blockchain backup from the target backup disk…?)

Recommendation

  1. Remove the Bitcoin Node app backups exclusion for the folder: /Apps/bitcoin/data/bitcoin/blocks
  2. Enable default app-wide backups exclusion for the Bitcoin Node app.
  3. Push the changes on same future update so the Bitcoin Node app is excluded from backups by default.

This will allow users to “opt in” to backing up the chain using the built-in backups feature. This solution has minimal impact on feature adopters, both early and future. And the solution has very low (if any) impact on target backup storage disks for those already using the feature with this app.

1 Like