Do any of you have that one service that just breaks constantly? I'd love to love Nextcloud, but it sure makes that difficult at times - eviltoast
  • thisisawayoflife@lemmy.world
    link
    fedilink
    English
    arrow-up
    6
    ·
    10 months ago

    You absolutely need to move from patch to patch and cannot just do a multiple version jump safely. You also need to validate the configs between versions, especially major release updates or you risk breaking. New features and optimizations happen and you also may need to change our update your reverse proxy configuration on update, or modify db table configuration (just puking this from memory as I’ve had to do it before). I don’t know that there’s automation for each one of those steps.

    Because of that, I run nextcloud in a VM and install it from the binary package. I wrote a shell script that handles downloading, moving the files, updating permissions and copying the old config forward, symlinking and doing the upgrade. Then all I have to do is log in as administrator, check out the admin dashboard and make sure there aren’t new things I have to address in the status page. It’s a pain, but my nextcloud uses external db and redis and PHP caching so it’s not an easy out of the box setup. But it’s been solid for a long time once I adopted using this script.

    • eos300v@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      10 months ago

      Would love to take a look at that bash script (or at least a template of it) if you wouldn’t mind

      • thisisawayoflife@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        edit-2
        10 months ago

        Here you go:

        https://pastebin.com/f5tL7xwx

        There could probably be some additional refactoring here, but it works for my setup. I’m using default nginx paths, so they probably look different than other installs that use custom stuff like /var/www, etc.

        Use it by putting it in a shell script, make it executable, then call it:

        sudo scriptName.sh 28.0.1

        Replace the version with whatever version you’re upgrading to. I would highly recommend never upgrading to a .0, always wait for at least a .1 patch. I left some sleeps in the when I was debugging a while back, those are safe to remove assuming it works in your setup. I also noticed some variables weren’t quoted, I’m not a bash programmer so there’s probably some consistency issues that could be addressed if someone is OCD.