Page MenuHomeMusing Studio

Automated upgrades
Closed, ResolvedPublic

Description

Overview

Enable admins to run an upgrade command to automatically upgrade their WriteFreely installation.

Provide an automated way to upgrade WriteFreely.

Background

Users

Instance admins.

Implementation

  • Download the latest version from an authoritative source
  • Extract and replace only application files (not *.ini or keys)
  • Restart the server (built-in?)

Event Timeline

matt edited projects, added WriteFreely (v1.0); removed WriteFreely.

One potential library to help with this: go-update

@robjloranger What do you think would be the best way to do this to help with T600? A single Go-based utility? A simple bash script?

matt added a parent task: Restricted Maniphest Task.Jun 13 2019, 10:07 PM

I guess initially just a script would work. I haven't looked yet but the a go utillity would be nice, the admin could then just have a check for updates button which could then ask to download and confirm upgrade/restart.

Yeah, a button like that would be the end-goal. And maybe pair that with T579: WriteFreely daemon to make it all seamless.

But for now, I agree a bash script would do the trick. Especially since we control the whole droplet setup. So if you're comfortable with that, feel free to take this task.

quick ascii cast demo, running on my local machine so the restart fails as it's not running.
https://asciinema.org/a/8IaQxRBjRA955cm8Jjy86XtPi

Nice, this looks great!

I don't think we'll need to handle too many error cases right now, especially for T600, but maybe we could do exit 1 if the service fails to start?

Also, let me know if we should create a repo for things like this.

sure, I'll add that in.

I don't think we need a repo just yet, we may have other scripts in the future for things like db migrations that are only for writefreely. Once we start the one click image and other related tasks I think we should have a repo for all that. We can have our docker files there too.