Skip to content

natankeddem/bale

Repository files navigation

bale: ZFS Snapshot Browser Based GUI

Host Creation

bale_host_creation.webm

Manual Management Task Handling

bale_manual_task.webm

Automatic Management Task Handling

bale_auto_task.webm

Downloading Files From Snapshots

bale_file_download.webm

Simple Automations

bale_simple_automation.webm

ZFS-Autobackup Automations

bale_zab_automation.webm

⚠️ WARNING

This utility is currently in early development and may undergo breaking changes in future updates. Your configuration may be lost, and snapshot functionality might be affected. Use with caution; data loss may occur.

Features

  • Remote Management: bale handles all interactions over SSH, eliminating the need for local installation. You can manage your ZFS snapshots from anywhere.
  • Multi-Host Support: Configure bale to manage multiple hosts within the same installation, making it a versatile choice for system administrators.
  • User-Friendly GUI: Easily manage your ZFS snapshots with an intuitive web-based interface that simplifies the process.
  • Automation: bale can automate generic remote and local applications as well as work seamlessly with zfs_autobackup, streamlining your backup and snapshot tasks.
  • Download: Easily download files directly from your ZFS snapshots through the web interface.

Installation

Using Docker

  1. Download docker-compose.yml.

  2. Customize the docker-compose.yml file to suit your requirements.

  3. Run the application using Docker Compose:

    docker-compose up -d

Using Proxmox LXC Container

  1. Download pve-install.yml and inv.yml.

  2. Ensure you have a compatible Debian template available and updated inv.yml accordingly.

  3. Customize the inv.yml file to match your specific setup requirements.

  4. Execute the Ansible playbook for Proxmox LXC container installation against your Proxmox host:

    ansible-playbook -i inv.yml pve-install.yml

Manual install on Debian

  1. Install required packages.

    sudo apt update
    sudo apt install -y git python3-pip python3-venv sshpass
  2. Clone the repository.

    git clone https://github.com/natankeddem/bale.git
  3. Move to bale directory.

    cd bale
  4. Create python virtual environment.

    python3 -m venv ./venv
  5. Activate virtual environment.

    source ./venv/bin/activate
  6. Install pip3 packages from requirements.txt

    pip3 install -r requirements.txt
  7. Exit the virtual environment.

    deactivate
  8. Edit resources/bale.service with the actual path you are utilizing on your system.

    nano resources/bale.service
  9. Change paths in resources/bale.service if needed then copy to service directory and activate.

    sudo cp resources/bale.service /etc/systemd/system
    sudo systemctl enable bale.service
  10. Start the service and check status.

    sudo systemctl start bale.service
    sudo systemctl status bale.service

    Troubleshooting

    If you get an error like this: bale.service: Failed to locate executable /root/bale/venv/bin/python: No such file or directory, modify the path in your /etc/systemd/system/bale.service file.

    sudo nano /etc/systemd/system/bale.service
    sudo systemctl daemon-reload
    sudo systemctl start bale.service
    sudo systemctl status bale.service

Access GUI

Access bale by navigating to http://host:8080.