• v0.5.0 4d0638213d

    v0.5.0 Stable

    SisyphusMD released this 2026-01-13 11:57:25 -08:00 | 103 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