Best Way to update scripts 2.1.1 to 2.20


#1

Hello i hjust wanna know how to update the script without reinstall a fresh server?? by the way you do i great job i love your script :slight_smile:


#2

More than likely there will be a release for current installs tomorrow. QuickBox will notify current users with an update via an API string on the dashboard. I am working to make this as simple as a popup notice on the dashboard and the click of a ‘Update Now’ button.

There will be an announcement made as soon as this feature is completed, as it is the next item on the to-do list. :smiley:


#3

Thanks you for your quick anwser :slight_smile:


#4

yeah he is pretty great at quick response for his quick boxes lol :smiley:


#5

I’ve searched around for any documentation on how to update from 2.1.1 to 2.2.x, has there been an official release yet? Also sorry about the MIA, had to take a vacation. Will be helping where i can now that i am back


#6

Welcome back! :tada:

There should be an official release package set this weekend for users to upgrade. At the present moment I am trying to fit in as much (out-of-directory) as possible. This way we can get some big inclusions for the upgrade out of the way now and thus making future upgrades dead simple.

Future upgrades will be handled by navigating to /srv/rutorrent/home and running git pull. This is just theory in action, so it may change, but that is where it stands for now. This means that the dashboard will more than likely be in a separate repo and gets cloned in on script install.


#7

as i see in the repo you working like crazy!
so you really want to put out the update this weekend… i wondering about the update process as well


#8

Yes, hopefully tomorrow the update will be pushed. Definitely follow along on the experimental branch to see bleeding edge changes to the script. The longest part of the process is testing out the additions and looking for any breaking bugs. The majority of the work happening now is to address many of the feature request that have been on standby in accordance to their age and/or volume of want.

Once these are tested and passing without issue, the update will additionally be put together (that is happening locally while building in the additions) and processed here in the forums according to user versions.


#9

i checked the experimental…
i wish adding a tool like sonarr or pyplex would be more easy and not requiring to touch so many files…
perfect would be something like a build file like in docker with all the instructions in one file
i don’t know if you have something like that in mind. but changing so many files to add a program hinder me from making pull requests
i hope you understand me … my english could be much better and i getting tired ;D


#10

I understand you perfectly clear :slight_smile:

I agree, I am going to work out some method to make these files a bit more tolerant and not so many (perhaps store them in an array and call them from the needed files) locations to make adjustments. However, building an installpackage-sript is relatively easy and there are really only 3 places these need to be called to make sure it functions on the dashboard.

I will more than likely (for the menu) do a single @include to another file that has just the names of the menu items and let php handle the rest… this is just a thought like all the others I have. Problem with me being the only one coding all this is I will code something in, think it looks great and seems great, then 4 hours later in the shower come up with a better solution.

As far as Docker images for QuickBox, I have considered this greatly, although; there is one major caveat I have encountered and I just do not know Docker well enough… it doesn’t handle quotas… at all. I can set up any other application (this forum for instance) in a docker ruby app… but none of the applications I have worked with in Docker require the use of quotas. Maybe Webmin can default a quota scenerio in a Docker image and then I can work on reversing how it sets up UIDs for disk… then build a quota off of that… without Webmin (it’s bulky and just a mess for this type of situation – seedboxes)


#11

It’s not perfect, but Docker will respect the quota set on the user’s disk. For instance, we use docker to run multiple instances of plex on shared servers. The mount points for plex are located in the user’s home directory and plex runs as the user – as such all files continued to be owned by the quota user and continue to count against the user’s total allotment.

If you want to run rtorrent or deluge inside a container, that containers data has to be mounted somewhere. As long as the mount point has a quota set, it should be doable.


#12

That’s good to know and thank you for the input @liara !

I actually did some reading on this and found that a Docker application would make things much simpler… especially in regards to updates. If I use a launcher method, then it’s easy enough to ./launcher rebuild quickbox to pull updates from the repo as well as maintain user info within the given .yml file.

Something like this:

rebuild)
      if [ "$(git symbolic-ref --short HEAD)" == "master" ]; then
        echo "Ensuring launcher is up to date"

        git remote update

        LOCAL=$(git rev-parse @)
        REMOTE=$(git rev-parse @{u})
        BASE=$(git merge-base @ @{u})

        if [ $LOCAL = $REMOTE ]; then
          echo "Launcher is up-to-date"

        elif [ $LOCAL = $BASE ]; then
          echo "Updating Launcher"
          git pull || (echo 'failed to update' && exit 1)
          exec /bin/bash $0 [email protected]

        elif [ $REMOTE = $BASE ]; then
          echo "Your version of Launcher is ahead of origin"

        else
          echo "Launcher has diverged source, this is only expected in Dev mode"
        fi

      fi

Then the repo that it reads and compares against is stored in a .yml like this:

  ## Which Git revision should this container use? (default: master)
  version: master

Thus if others wanting bleeding edge or wanted to actually help, they could simply change the version/repo in the file and run the rebuild again.

But, I am just thinking. :blush:

As you have said, it just requires a mount point. I will certainly need to look into this one a bit more as time permits… I just know that a Docker approach (though it will be more work) will be much cleaner and easier to maintain.

PS: You are every bit of amazing @liara!


#13

Docker would be awesome!
I’d like to try it on my home syno as well :slight_smile: .
Most of my important packages are dockerized, I welcome an attempt to dockerize this awesome project as well if possible and when time allows it. Meanwhile I enjoy it on my dedi powered by @liara.
:blush:


#14

:mega: Update Sunday 05, 2016

All supported releases of both Debian and Ubuntu are tested as passing for the update from versions less than 2.3.


If you are updating on Ubuntu 16.04 from v2.1.1 to the new v2.3.0, you can follow this thread here.

I am currently running trials on systems upgrading from versions previous to v2.3.0 in regards to Ubuntu 14.04 & 15.10. I will have all tests completed by Monday (CST)

You can learn more about the new architecture for QuickBox in the Readme