openmediavault-snapraid-aio

    • Official Post

    auanasgheps


    I started a separate plugin for the snapraid-aio script. once it is stable, I will remove the snapraid diff script stuff from the snapraid plugin.


    This initial code will likely need lots of changes but it doing the basic config script creation and provides the aio script.


    GitHub - OpenMediaVault-Plugin-Developers/openmediavault-snapraid-aio: openmediavault plugin for snapraid aio script
    openmediavault plugin for snapraid aio script. Contribute to OpenMediaVault-Plugin-Developers/openmediavault-snapraid-aio development by creating an account on…
    github.com

    omv 8.0.10-2 synchrony | 6.17 proxmox kernel

    plugins :: omvextrasorg 8.0.2 | kvm 8.0.5 | compose 8.1.3 | cterm 8.0 | borgbackup 8.1.2 | cputemp 8.0 | mergerfs 8.0 | scripts 8.0.1 | writecache 8.1


    omv-extras.org plugins source code and issue tracker - github - changelogs


    Please try ctrl-shift-R and read this before posting a question.

    Please put your OMV system details in your signature.
    Please don't PM for support... Too many PMs!

  • Hi ryecoaaron, thanks for the initial effort on this!

    Please note that I've been working a lot on the dev branch.

    Most of the changes are done, I just need to merge a PR.


    I had a quick look and it seems that you used the master as a reference.


    Therefore, regarding the configuration reference and descriptions which needs to be exposed in the UI, please refer to this: https://github.com/auanasgheps…ob/dev/script-config.conf


    What's the "logic" of the plugin? I would expect it to expose most/all configuration options and push them to the config files. If it's only this, the testing shouldn't be too much hard.


    A nice to have would be to install automatically the dependencies. The script handles this automatically, but I think would be best to integrate them in the install phase.

    Required:

    - curl

    - jq

    - bc

    - python3-markdown


    Optional: Pipx + Apprise for enhanced notifications.




     

    OMV BUILD - MY NAS KILLER - OMV 7.x + omvextrasorg (updated automatically every week)

    NAS Specs: Core i3-8300 - ASRock H370M-ITX/ac - 16GB RAM - Sandisk Ultra Flair 32GB (OMV), 1TB NVME SSD (Docker Apps), 2x16TB HDDs w/ SnapRAID - Fractal Design Node 304 - Be quiet! Pure Power 11 350W


    My all-in-one SnapRAID script!

    • Official Post

    I had a quick look and it seems that you used the master as a reference.

    Damn. Did it change that much? With so many fields, this is the worst part of the plugin.

    A nice to have would be to install automatically the dependencies. The script handles this automatically, but I think would be best to integrate them in the install phase.

    It is doing this. https://github.com/OpenMediaVa…b/main/debian/control#L11

    What's the "logic" of the plugin? I would expect it to expose most/all configuration options and push them to the config files. If it's only this, the testing shouldn't be too much hard.

    It should expose all of the config options. Currently, the user edits and the plugin saves to the database. When the user applies changes, the saltstack writes /etc/snapraid-aio.conf.


    I was really hoping to hand this off. I can help but I don't use snapraid or the script. So, it is really hard for me to test. I also don't really know how the script should be used. Creating this initial plugin was about all of my available time for a while which was much less work than getting the current plugin to stop using the old script and start using the new one.

    omv 8.0.10-2 synchrony | 6.17 proxmox kernel

    plugins :: omvextrasorg 8.0.2 | kvm 8.0.5 | compose 8.1.3 | cterm 8.0 | borgbackup 8.1.2 | cputemp 8.0 | mergerfs 8.0 | scripts 8.0.1 | writecache 8.1


    omv-extras.org plugins source code and issue tracker - github - changelogs


    Please try ctrl-shift-R and read this before posting a question.

    Please put your OMV system details in your signature.
    Please don't PM for support... Too many PMs!

    • Official Post

    omv 8.0.10-2 synchrony | 6.17 proxmox kernel

    plugins :: omvextrasorg 8.0.2 | kvm 8.0.5 | compose 8.1.3 | cterm 8.0 | borgbackup 8.1.2 | cputemp 8.0 | mergerfs 8.0 | scripts 8.0.1 | writecache 8.1


    omv-extras.org plugins source code and issue tracker - github - changelogs


    Please try ctrl-shift-R and read this before posting a question.

    Please put your OMV system details in your signature.
    Please don't PM for support... Too many PMs!

  • Thank you. I will do some tests, I have a VM with random data so I don't break anything.

    I'll provide some feedback soon!

    OMV BUILD - MY NAS KILLER - OMV 7.x + omvextrasorg (updated automatically every week)

    NAS Specs: Core i3-8300 - ASRock H370M-ITX/ac - 16GB RAM - Sandisk Ultra Flair 32GB (OMV), 1TB NVME SSD (Docker Apps), 2x16TB HDDs w/ SnapRAID - Fractal Design Node 304 - Be quiet! Pure Power 11 350W


    My all-in-one SnapRAID script!

  • I was really hoping to hand this off. I can help but I don't use snapraid or the script. So, it is really hard for me to test. I also don't really know how the script should be used. Creating this initial plugin was about all of my available time for a while which was much less work than getting the current plugin to stop using the old script and start using the new one.

    I really appreciate it.
    I've delayed my help for an official integration because I wanted to make changes to the script, but I hadn't had time until recently.


    The logic is always the same: automate all SnapRAID routine actions. Some of these things are very specific to the SnapRAID world. However, the description I've added to each field in the configuration file should be enough to explain every option, at least for a SnapRAID user.


    In addition to the core SnapRAID actions, the script does some nice things.


    An example is the Docker management. When SnapRAID is running, no application should write any data to the array.

    To resolve this problem, my script stops or pauses containers during the execution.


    Currently, a user has to enter the containers manually. Could we pull containers names so they can be selected with a dropdown list?

    OMV BUILD - MY NAS KILLER - OMV 7.x + omvextrasorg (updated automatically every week)

    NAS Specs: Core i3-8300 - ASRock H370M-ITX/ac - 16GB RAM - Sandisk Ultra Flair 32GB (OMV), 1TB NVME SSD (Docker Apps), 2x16TB HDDs w/ SnapRAID - Fractal Design Node 304 - Be quiet! Pure Power 11 350W


    My all-in-one SnapRAID script!

    • Official Post

    Could we pull containers names so they can be selected with a dropdown list?

    yes. only running containers?

    omv 8.0.10-2 synchrony | 6.17 proxmox kernel

    plugins :: omvextrasorg 8.0.2 | kvm 8.0.5 | compose 8.1.3 | cterm 8.0 | borgbackup 8.1.2 | cputemp 8.0 | mergerfs 8.0 | scripts 8.0.1 | writecache 8.1


    omv-extras.org plugins source code and issue tracker - github - changelogs


    Please try ctrl-shift-R and read this before posting a question.

    Please put your OMV system details in your signature.
    Please don't PM for support... Too many PMs!

  • Yes, I think it would make sense to only pull running containers. Those are the ones that need to be stopped/paused.


    I also think we can discard the "Remote Docker Management" section, since it's for very advanced uses where SnapRAID and Docker are not running on the same host.

    OMV BUILD - MY NAS KILLER - OMV 7.x + omvextrasorg (updated automatically every week)

    NAS Specs: Core i3-8300 - ASRock H370M-ITX/ac - 16GB RAM - Sandisk Ultra Flair 32GB (OMV), 1TB NVME SSD (Docker Apps), 2x16TB HDDs w/ SnapRAID - Fractal Design Node 304 - Be quiet! Pure Power 11 350W


    My all-in-one SnapRAID script!

    • Official Post

    The plugin has had the remote docker stuff removed, local docker list converted to a dropdown, and updated to the latest dev script.

    omv 8.0.10-2 synchrony | 6.17 proxmox kernel

    plugins :: omvextrasorg 8.0.2 | kvm 8.0.5 | compose 8.1.3 | cterm 8.0 | borgbackup 8.1.2 | cputemp 8.0 | mergerfs 8.0 | scripts 8.0.1 | writecache 8.1


    omv-extras.org plugins source code and issue tracker - github - changelogs


    Please try ctrl-shift-R and read this before posting a question.

    Please put your OMV system details in your signature.
    Please don't PM for support... Too many PMs!

  • I wanted to test it right now but my testing VM has OMV7 and the plugin requires OMV8. Is there a dirty way to upgrade to OMV8/Debian 13?
    I would not do this in real world, it just to get it up and running quickly.

    OMV BUILD - MY NAS KILLER - OMV 7.x + omvextrasorg (updated automatically every week)

    NAS Specs: Core i3-8300 - ASRock H370M-ITX/ac - 16GB RAM - Sandisk Ultra Flair 32GB (OMV), 1TB NVME SSD (Docker Apps), 2x16TB HDDs w/ SnapRAID - Fractal Design Node 304 - Be quiet! Pure Power 11 350W


    My all-in-one SnapRAID script!

    • Official Post

    Is there a dirty way to upgrade to OMV8/Debian 13?

    Depends on how well you know Debian and apt. if you change all occurrences of sandworm to synchrony and bookworm to trixie in /etc/apt/, apt-get dist-upgrade will upgrade to debian 13 and omv 8. It will require some manual cleanup. Probably be easier to create a new VM with debian 13 installed and run the install script. You could download the files from this change too - https://github.com/openmediavault/openmediavault/pull/2021

    omv 8.0.10-2 synchrony | 6.17 proxmox kernel

    plugins :: omvextrasorg 8.0.2 | kvm 8.0.5 | compose 8.1.3 | cterm 8.0 | borgbackup 8.1.2 | cputemp 8.0 | mergerfs 8.0 | scripts 8.0.1 | writecache 8.1


    omv-extras.org plugins source code and issue tracker - github - changelogs


    Please try ctrl-shift-R and read this before posting a question.

    Please put your OMV system details in your signature.
    Please don't PM for support... Too many PMs!

  • Hi ryecoaaron, I have installed a fresh OMV8 VM and OMV-Extras.

    I only see the classic plugin v8, not the AIO plugin.

    Am I missing something?


    OMV BUILD - MY NAS KILLER - OMV 7.x + omvextrasorg (updated automatically every week)

    NAS Specs: Core i3-8300 - ASRock H370M-ITX/ac - 16GB RAM - Sandisk Ultra Flair 32GB (OMV), 1TB NVME SSD (Docker Apps), 2x16TB HDDs w/ SnapRAID - Fractal Design Node 304 - Be quiet! Pure Power 11 350W


    My all-in-one SnapRAID script!

    • Official Post

    Am I missing something?

    Yes, the plugin is nowhere near ready to be in the repo. I built a package and put it in my testing location.


    wget https://omv-extras.org/testing/openmediavault-snapraid-aio_8.0_all.deb -O openmediavault-snapraid-aio_8.0_all.deb

    sudo dpkg -i https://omv-extras.org/testing/openmediavault-snapraid-aio_8.0_all.deb

    omv 8.0.10-2 synchrony | 6.17 proxmox kernel

    plugins :: omvextrasorg 8.0.2 | kvm 8.0.5 | compose 8.1.3 | cterm 8.0 | borgbackup 8.1.2 | cputemp 8.0 | mergerfs 8.0 | scripts 8.0.1 | writecache 8.1


    omv-extras.org plugins source code and issue tracker - github - changelogs


    Please try ctrl-shift-R and read this before posting a question.

    Please put your OMV system details in your signature.
    Please don't PM for support... Too many PMs!

  • Uhm, a first issue arises during the command line installation for dependencies.

    It warns are missing, but are not installed.


    To install, I had to run apt --fix-broken install

    Don't know why.

    Feedbacks:

    Notification Settings

    This section of the script actually uses postfix configuration from OMV, so the user doesn't have to configure anything manually.

    Since the user has already configured Notification options, I would inherit those values. (simplicity)


    Check for script Updates

    Please disable the option and remove it: the user will not be in control of updates since we'll manage them via package updates


    Healthchecks

    Healtchecks UUID and Healtchecks URLs should be grayed out if "Use Healthchecks.io" is disabled, which is by default. If enabled, they are mandatory fields.


    Apprise

    The same applies with Apprise: the URL field should be grayed out if the main option is disabled, mandatory if enabled.


    I think some options clashed between Apprise and Apprise Notifications.


    Can you make two distinct sections?


    Apprise Notifications

    Use Apprise Notifications

    Apprise Attach report

    Apprise URL



    Apprise Email notification

    Use Apprise Notifications

    Apprise Attach report

    Apprise URL


    NOTE: this is an advanced setting, not super relevant to OMV the average user. The main benefit for OMV users is the attachment feature not available in postfix.


    Telegram and Discord

    These are legacy integrations before I developed the Apprise integration. Please hide them. The Discord integration is very unreliable. Apprise is much superior, I don't want new users to go for these old features.





    Log SMART Info


    SMART_LOG_NOTIFY requires SMART_LOG to be enabled first.


    Run 'snapraid status'

    SNAP_STATUS_NOTIFY requires SNAP_STATUS to be enabled first.


    SnapRAID configuration file

    This should be instead a dropdown menu with a list of the available configuration files.


    Please note that the script can be used for multiple configuration files, creating a separate AIO config for each SnapRAID script.

    Honestly I don't know how many users do multiple SnapRAID configurations, but since it's a feature, we should probably follow the same approach and make the AIO configurations for each SnapRAID configuration.


    Docker and service management

    Since we removed remote Docker management, now "Manage local Docker Containers" is redundant since the user would have already selected "Manage Docker containers / services".


    Can you hide the entry but still enable it if the user enabled "Manage local Docker Containers"?


    Lables and titles

    I will take care of this.

    OMV BUILD - MY NAS KILLER - OMV 7.x + omvextrasorg (updated automatically every week)

    NAS Specs: Core i3-8300 - ASRock H370M-ITX/ac - 16GB RAM - Sandisk Ultra Flair 32GB (OMV), 1TB NVME SSD (Docker Apps), 2x16TB HDDs w/ SnapRAID - Fractal Design Node 304 - Be quiet! Pure Power 11 350W


    My all-in-one SnapRAID script!

    • Official Post

    Uhm, a first issue arises during the command line installation for dependencies.

    It warns are missing, but are not installed.

    dpkg doesn't do dependency installation. So, running apt-get -f install is expected. I forgot to add that. This isn't the normal way plugins are installed from scratch.

    I will take care of this.

    Does that mean you are going to submit pull requests? I honestly thought I was just creating the initial framework to hand over.

    Please note that the script can be used for multiple configuration files, creating a separate AIO config for each SnapRAID script.

    This will require a substantial change in the plugin just like it did for the snapraid plugin itself. You might as well uninstall the current version because I don't want to make the new version migrate from something that was never released.


    And making the form so dynamic does not mean current values aren't submitted to the database. So, the saltstack that writes the config files will have to do the "right" thing as well.

    omv 8.0.10-2 synchrony | 6.17 proxmox kernel

    plugins :: omvextrasorg 8.0.2 | kvm 8.0.5 | compose 8.1.3 | cterm 8.0 | borgbackup 8.1.2 | cputemp 8.0 | mergerfs 8.0 | scripts 8.0.1 | writecache 8.1


    omv-extras.org plugins source code and issue tracker - github - changelogs


    Please try ctrl-shift-R and read this before posting a question.

    Please put your OMV system details in your signature.
    Please don't PM for support... Too many PMs!

  • Can you please clarify? You expect me to maintain the add-on?
    I've never built OMV plug-ins, I'm not a real coder.


    I can try, but I will take a long time.

    OMV BUILD - MY NAS KILLER - OMV 7.x + omvextrasorg (updated automatically every week)

    NAS Specs: Core i3-8300 - ASRock H370M-ITX/ac - 16GB RAM - Sandisk Ultra Flair 32GB (OMV), 1TB NVME SSD (Docker Apps), 2x16TB HDDs w/ SnapRAID - Fractal Design Node 304 - Be quiet! Pure Power 11 350W


    My all-in-one SnapRAID script!

    • Official Post

    Can you please clarify? You expect me to maintain the add-on?

    Yes, I did.

    I've never built OMV plug-ins, I'm not a real coder.

    I figured me creating most of the plugin would make that fairly trivial. I know it is easier when I maintain it but I know nothing about your script, don't use it or snapraid. None of that makes it good for me to maintain either. Unless you change the script, the plugin is unlikely to need anything.

    I can try, but I will take a long time.

    Don't worry about then. I will do it.

    omv 8.0.10-2 synchrony | 6.17 proxmox kernel

    plugins :: omvextrasorg 8.0.2 | kvm 8.0.5 | compose 8.1.3 | cterm 8.0 | borgbackup 8.1.2 | cputemp 8.0 | mergerfs 8.0 | scripts 8.0.1 | writecache 8.1


    omv-extras.org plugins source code and issue tracker - github - changelogs


    Please try ctrl-shift-R and read this before posting a question.

    Please put your OMV system details in your signature.
    Please don't PM for support... Too many PMs!

    • Official Post

    I can try, but I will take a long time.

    Give it a shot. If the core plugin is already there, and you're simply modifying the script, AI should be able to lend a hand. I found an edge case bug in OMV7, with Grok's help, that put me into an endless change confirmation loop. It provided the fix along with what to do (to undo the fix) when upgrading to OMV8.

    Beside that, the work flow on git-hub will have Arron reviewing to insure a change doesn't nuke the plugin.

    • Official Post

    If the core plugin is already there

    To support multiple snapraid arrays, the plugin needs a lot of changes. I would not use AI for that. I will make those changes.


    I wasn't suggesting that major changes be made. Just maintenance since the backing aio script might add or remove fields.

    omv 8.0.10-2 synchrony | 6.17 proxmox kernel

    plugins :: omvextrasorg 8.0.2 | kvm 8.0.5 | compose 8.1.3 | cterm 8.0 | borgbackup 8.1.2 | cputemp 8.0 | mergerfs 8.0 | scripts 8.0.1 | writecache 8.1


    omv-extras.org plugins source code and issue tracker - github - changelogs


    Please try ctrl-shift-R and read this before posting a question.

    Please put your OMV system details in your signature.
    Please don't PM for support... Too many PMs!

    • Official Post

    I would not use AI for that. I will make those changes.

    I wasn't suggesting that either - as in replumbing the core of the plugin.
    Just for scripting modifications. For that, Grok would make a good sounding board before doing a PR.

    I am acutely aware of AI limitations. As it seems, AI is not good for anything "original" but it seems to be a somewhat useful tool for polish. In any case, AI still has a long way to go.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!