• v0.5.1 99a559e7f8

    v0.5.1 Stable

    SisyphusMD released this 2026-01-13 11:57:54 -08:00 | 277 commits to main since this release

    Added

    • SSH public key display after bundle export for easy SFTP server configuration

    Fixed

    • Symlink for archiver.log now uses relative path, resolving correctly when logs directory is mounted outside container
    • Bundle backup (.old file) handling improved to remove existing backup before creating new one
    Downloads
  • v0.5.0 4d0638213d

    v0.5.0 Stable

    SisyphusMD released this 2026-01-13 11:57:25 -08:00 | 279 commits to main since this release

    Added

    • Docker Support: Run Archiver in containers on any platform
      • Interactive setup mode generates bundle file without Linux installation
      • Automated backups with cron scheduling or manual execution
      • Multi-architecture images (linux/amd64, linux/arm64) published to GHCR
    • Bundle Commands: archiver bundle export and archiver bundle import for managing configuration
    • Health Check: archiver healthcheck command for monitoring system health

    Changed

    • BREAKING: Renamed export/import to bundle terminology
      • archiver exportarchiver bundle export
      • archiver importarchiver bundle import
      • Directory: exports/bundle/
      • Environment: EXPORT_PASSWORDBUNDLE_PASSWORD
    • Bundle file is now always bundle.tar.enc (previous version saved as .old, no timestamps)
    • Cron jobs now scheduled for invoking user instead of root user
    • Logs now show storage target name (e.g., "Service: Synology") instead of generic "Archiver" during copy/wrap-up operations

    Fixed

    • Setup script now handles special characters (like $) in passwords and API keys correctly
    • Setup script now creates bundle file even if one wasn't imported
    • Setup script improved S3 region prompt with better examples and optional handling
    • Setup script and bundle-export script now work correctly in Docker (no SUDO_USER dependency)
    • Cron schedule now properly created from setup script for the correct user
    • Log viewer now properly exits when backup completes instead of hanging
    • Restored files now have correct ownership matching the invoking user
    • Directory ownership fixed when restoring to non-existent directory
    • Removed obsolete PRUNE_KEEP_ARRAY from log output
    • Better error messages when running setup on unsupported platforms

    Improved

    • Setup script auto-imports existing bundle files
    • Version pinning for reliable installations
    • Platform detection provides helpful Docker guidance for non-Linux systems
    • Cron instructions now show correct commands for user crontab

    Migration Notes

    Migrating from v0.4.x to v0.5.0 (Bundle Terminology)

    The export/import functionality has been renamed to use "bundle" terminology:

    1. Export file location changed: exports/ directory is now bundle/
    2. Commands renamed:
      • archiver exportarchiver bundle export
      • archiver importarchiver bundle import
    3. Bundle file naming: Files are now always named bundle.tar.enc (previous versions saved as .old, no timestamps)
    4. Environment variable: For Docker, EXPORT_PASSWORD is now BUNDLE_PASSWORD

    Action Required for existing export files:

    • Rename your exports/ directory to bundle/
    • Rename your export file to bundle.tar.enc
    • Use the new archiver bundle export and archiver bundle import commands going forward

    Migrating from Traditional Installation to Docker

    Docker installation is now the recommended deployment method. Legacy installation will be deprecated in v0.7.0.

    Steps to migrate:

    1. Export your configuration (from your current traditional install):

      archiver bundle export
      

      This creates bundle/bundle.tar.enc with your config and keys encrypted.

    2. Save your bundle password: Remember the password you used to encrypt the bundle - you'll need it for Docker.

    3. Set up Docker Compose:

      services:
        archiver:
          container_name: archiver
          image: ghcr.io/sisyphusmd/archiver:0.5.0
          restart: unless-stopped
          environment:
            TZ: "UTC" # Examples: "America/New_York", "Europe/London", "Asia/Tokyo"
            BUNDLE_PASSWORD: "your-bundle-password-here"
            CRON_SCHEDULE: "0 3 * * *"  # Optional - backup will wait for manual invocation if not set
          volumes:
            - /path/to/bundle.tar.enc:/opt/archiver/bundle/bundle.tar.enc
            - /path/to/logs:/opt/archiver/logs # Optional - for log persistence
            - /path/to/service_directories:/path/to/service_directories # Container path must match SERVICE_DIRECTORIES in your config.sh
          hostname: backup-server # Optional - used in backup snapshot IDs
      
    4. Important: Volume paths inside the container must match the SERVICE_DIRECTORIES paths in your config.sh. If your config has /home/user/data, mount it to the same path: -/home/user/data:/home/user/data

    5. Start the container:

      docker compose up -d
      
    6. Verify: Check logs with docker logs -f archiver

    Note: You can run both traditional and Docker installations side-by-side during migration for testing.

    Downloads
  • v0.4.1 9e8869f858

    v0.4.1 Stable

    SisyphusMD released this 2025-06-07 19:04:26 -07:00 | 282 commits to main since this release

    Fixed

    • Added missing restore function for S3 storage backend.
    • Fixed ownership of new local directory when restoring.
    Downloads
  • v0.4.0 8bb9f95807

    v0.4.0 Stable

    SisyphusMD released this 2025-06-06 22:38:00 -07:00 | 286 commits to main since this release

    Added

    • S3 storage backend support added alongside existing SFTP and B2 backends.

    Improved

    • Setup script explicitly checks for export file existence, skipping import gracefully if no exports exist.
    Downloads
  • v0.3.2 46e201f195

    v0.3.2 Stable

    SisyphusMD released this 2024-06-06 20:58:52 -07:00 | 301 commits to main since this release

    Improved

    • Added import and export functions to backup your config.sh and keys files
    • Setup script will auto-import any export file placed in the archiver repo directory
    • Setup script also ensures you have an export file, and places it in an 'exports' directory
    Downloads
  • v0.3.1 069e16a44a

    v0.3.1 Stable

    SisyphusMD released this 2024-06-06 12:16:52 -07:00 | 318 commits to main since this release

    Fixed

    • Fixed pruning (backup rotations)
    Downloads
  • v0.3.0 dc58aef810

    v0.3.0 Stable

    SisyphusMD released this 2024-06-05 16:41:04 -07:00 | 357 commits to main since this release

    !!!BREAKING CHANGE!!!

    • Calling the script with no argument will no longer initiate a backup
    • Must use the full command with argument: 'archiver start'
    • If you have cronjobs scheduled without the 'start' argument, they will no longer initiate a backup without editing to include 'start'
      • You can edit your cronjobs with the following command: 'sudo crontab -e'
      • i.e. '0 3 * * * archiver start'

    Improved

    • Massive argument improvements:
      • Arguments are now single words, not prefaced by '--'
        • archiver start|stop|pause|resume|restart|logs|status|setup|uninstall|restore|help
      • 'archiver' command with no argument (or with 'help' argument) prints a guide to available arguments
      • 'start':
        • 'archiver start' is now required to initiate a backup
          • may need to edit 'sudo crontab -e' if it previously did not include the 'start' argument
        • 'archiver start logs' to initiate a backup and view logs
        • 'archiver start prune|retain' prune and retain will override the behavior to prune or retain backups for this run only
        • logs and prune|retain can be combined
      • 'stop|pause|resume':
        • 'archiver stop|pause|resume' manually stops, pauses, or resumes a running backup
        • 'archiver resume' can be combined with 'logs'
      • 'logs'
        • 'archiver logs' will display the logs of a running backup (but no longer starts a new backup)
      • 'status'
        • 'archiver status' prints whether or not there is a currently running backup process
      • 'restart'
        • 'archiver restart' will stop any running backup and start a new one from the beginning
        • similar to 'archiver start' can be used with logs|prune|retain
      • 'restore'
        • 'archiver restore' will run the restore script
      • 'help'
        • 'archiver help' will display information about available commands and arguments
      • 'setup|uninstall'
        • 'archiver setup|uninstall' will run the setup or uninstall scripts
        • although, on first run, setup will require './archiver.sh setup' from the archiver dir, given archiver will not be in the PATH yet
        • uninstall function coming soon
    Downloads
  • v0.2.3 3b36b1e730

    v0.2.3 Stable

    SisyphusMD released this 2024-06-04 07:41:08 -07:00 | 395 commits to main since this release

    Fixed

    • Fixed LOCKFILE being left by main.sh.

    Improved

    • Setup script places archiver in PATH.
      • Please run './setup.sh' again from the archiver repo directory to make this change.
        • You can skip all sections of the setup script by typing 'n' when prompted. The script will make this change regardless.
      • You should now run Archiver backups with the command 'archiver'.
      • This is global, no more need to change to your archiver directory.
      • It accepts arguments, such as 'archiver --view-logs' and 'archiver --stop'. More arguments to come soon.
      • Cron can also call 'archiver' directly: (e.g. '0 3 * * * archiver').
        • To edit your prior cronjob, run 'sudo crontab -e', and replace the path to the archiver script with simply 'archiver'.
    Downloads
  • v0.2.2 0fea8dfa19

    v0.2.2 Stable

    SisyphusMD released this 2024-06-03 20:56:54 -07:00 | 402 commits to main since this release

    Improved

    • Scripts will auto-escalate to sudo now. So README no longer recommends to run with sudo.
    • Logs all go to a single file now for easier viewing.
    • Reorganized directory structure.
    • Stop is now an argument './archiver.sh --stop'.
    Downloads
  • v0.2.1 375c21a013

    v0.2.1 Stable

    SisyphusMD released this 2024-06-02 20:15:52 -07:00 | 414 commits to main since this release

    Improved

    • The LOCKFILE mechanism is much more robust now.
    • Setting the stage for all commands to be through "sudo archiver --argument" rather than through calling various scripts.
    Downloads