danb35 / freenas-iocage-nextcloud

Script to create an iocage jail on FreeNAS for the latest Nextcloud 28 release, including Caddy, MariaDB or PostgreSQL, and Let's Encrypt
GNU General Public License v3.0
258 stars 71 forks source link

Add update procedure in README #116

Open baldover opened 4 years ago

baldover commented 4 years ago

Hi, first off I can't thank you enough for this script it saved me a ton of headaches. In issue #88 I understand a script would require more maintenance. How about procedures instead?

PrivatePuffin commented 4 years ago

I used this work as my basis for jailmanager/jailman. Actually updating this work as one of my reasons to start JailMan to begin with:

Updating can as be easy as:

Or it can be very involved because the dependencies changed etc.

With JailMan I seperated the personal config (For example: your jail IP, admin password etc), from the blueprint config (such as the PKGS to install) and made the blueprint (install script) user agnostic. Simply put: It doesn't contain any user specific config. This way we can push an update and users don't have to do anything except run it.

But even then I can't guarantee users don't need to update their personal config files once in a while. Making update and install scripts (certainly those that are user agnostic) becomes increasingly more difficult the larger they become.

But above all: People expect that you support what you publish.

If Dan would do this he would need to keep it up-to-date and people would expect it to "just work". If we take into account how much work it already is to keep the install script working.

How about a procedure? An sh script is already a "procedure", in its basic form it only says: "Download this", "Run this". A procedure really isn't much different from a support point of view (just the syntax is). The only difference is that errors are less clear and usererror is even more likely.

Also: Documentation is a HUGE burden. I'm guilty of that. It's that much of a burden, that I even skipped creating a tracker for documentation todo's. Writing good documentation can be as much work or more than creating and maintaining scripts.

My current documentation backlog is (I guess) about 40 manhours.

I hope this give your some insight in the choices made by a script-developer that has included updating and why one wouldn't do it.