Harbor Documentation

Harbor Documentation

Automatic backups for Shopify storefronts, Git repos, folders, iCloud Drive, and Harbor config.

Harbor is a native macOS menu bar app that creates scheduled backups and recovery packages without a monthly subscription. This page covers what Harbor backs up, how restore works for Shopify, Git, and Harbor Config, and what to expect from scheduled backups.

What Harbor backs up

Harbor supports five source types and stores backups on destinations you choose, such as local folders, mounted volumes, external drives, or network shares.

  • Git repositories with full mirrored Git backup data
  • Local folders as zip or copied folder backups
  • iCloud Drive folders
  • Harbor Config snapshots of Harbor’s own setup and behavior preferences
  • Shopify storefront data including products, collections, pages, blogs, navigation, redirects, and themes

Harbor stores backups on your own drives and destinations, not inside a Harbor cloud account.

Shopify recovery

Harbor’s Shopify recovery flow is storefront-focused. It is designed to rebuild into a clean recovery store first, not to blindly overwrite an active live storefront.

  • Restores products and variants
  • Restores pages, blogs, saved blog articles, collections, navigation menus, and redirects
  • Imports captured theme bundles as unpublished themes in the theme library
  • Blocks guided restore if the target store already has storefront content
  • Allows same-store theme-only restore when only Themes is selected

Harbor does not automatically replace the current active theme.

What Harbor intentionally excludes

New Shopify recovery packages are focused on storefront recovery, not protected customer data or live operational state.

  • Customers are not included in new storefront recovery packages
  • Orders are not included in new storefront recovery packages
  • Inventory quantities are not included in new storefront recovery packages

This keeps Harbor focused on restoring a working storefront without turning it into a customer-data archive product.

Git backup and restore

Harbor creates full mirrored Git backups, then restores them as normal working copies when you use Create Working Copy.

  • Backs up repository refs and Git history
  • Restores a usable working code folder from the backup
  • Does not silently overwrite existing code unless you explicitly choose Replace
  • Supports private HTTPS repositories with a token and SSH repositories that already work on that Mac
  • Can fetch Git LFS objects when git-lfs is installed on the Mac

Git restore brings back committed repository contents. Ignored or local-only files such as .env.local, node_modules, and build output folders are not part of the Git backup unless you commit them.

Harbor Config backup and import

Harbor Config lets Harbor back up its own setup on a schedule as a portable JSON snapshot.

  • Includes sources, schedules, retention rules, destination mappings, and Harbor behavior preferences
  • Behavior preferences include Launch at login, Prevent sleep while running, and Harbor’s notification toggles
  • Restores as a JSON file first, then imports through Dashboard > General
  • Works as a scheduled source just like Git, Shopify, local folders, and iCloud Drive
  • Gives you a portable backup of Harbor itself alongside your normal data backups

Secret tokens, credentials, and destination bookmarks are intentionally excluded from Harbor Config backups.

Scheduling and notifications

Harbor is designed to run unattended from the menu bar and continue working after restarts and missed backup windows.

  • Per-source schedules
  • Launch at login support
  • Catch-up runs after missed backup windows
  • Retention cleanup
  • macOS notification controls for backup success, failure, destination issues, and failure summaries
  • Shopify token auto-renewal for scheduled backups when client credentials are saved

Harbor can show the last Shopify token refresh result directly in the source setup UI, and notification permissions still need to be granted by macOS on each Mac.

Troubleshooting

If Harbor is not behaving the way you expect, start with the source type, the destination connection, and the last backup result in Activity or History.

  • If a Shopify restore is blocked, make sure you are restoring into a clean recovery store unless you are doing a theme-only restore.
  • If a scheduled Shopify backup fails, recheck the saved Client ID, Client Secret, and the last token refresh status in the Shopify source.
  • If a Git restore looks incomplete, remember that Git backups restore committed repository contents, not ignored or local-only files such as .env.local, node_modules, or build output folders.
  • If a Harbor Config import restores the source list but not access to private Git or Shopify accounts, re-enter those credentials after import because Harbor does not export secrets.
  • If a destination shows as unavailable, reconnect the drive, mounted volume, or network path and run the backup again.
  • If notifications are not appearing, confirm Harbor has macOS notification permission and that the relevant notification toggles are enabled in Dashboard > General.