Value proposition for hostea users

Bonjour,

It is very likely that a large number of Gitea instances running nowadays have not been updated for a long time. Hostea could provide a service to upload a tarball of the directory + dump of the database and perform the upgrade. And once the instance is migrated to hostea, the upgrades are taken care of.

There are a number of difficulties to provide such a service, mainly that the upload is not in the expected format and that the Gitea instance being uploaded is corrupted by various failed attempts to upgrade that led to database corruptions of some sort.

But maybe there is some value proposition to help out users stuck with upgrades. Food for thought.

Cheers

1 Like

I’m afraid I don’t follow, are you saying that Hostea should explore providing a migration option to welcome new users from non-Hostea Gitea instances? or tooling to help Gitea admins(Hostea and otherwise) assist in upgrading their Gitea instances?

Tangentially related: You mentioned in your blog that there is incentive for self-upgrading software and in the chat(?) that Wordpress implements this functionality, can you please tell me what kind of user interface is exposed to the instance admin? Do they get an “install update” button in the admin panel or is there a cron job that polls for updates and auto-installs non-breaking updates?

My current workflow of updating software that don’t have a Debian repository(I use Debian exclusivly on my servers) or not in the official Debian repositories is to subscribe to release RSS feeds. I am currently exploring baking in this functionality in the projects that I’m involved in. An update workflow would look like this:

  1. Project maintainers publish update(software and RSS update)
  2. Software instances poll for updates feed and notify admins(admin only web banner and emails, if applicable)
  3. Admins update software

Yes. The use case would be as follows:

  • 2020: I install a Gitea 1.14.1 instance
  • 2022: I did not upgrade my Gitea instance
  • I try to upgrade to 1.16.5 and run into problems
  • I dump the database and create a tar with the data directory of Gitea

Option 1:

  • I upload the tar to hostea
  • I rent a Gitea instance on hostea
  • The hostea migration tool applies migrations & tests from 1.14.1 to 1.16.5

Option 2:

  • I self-host hostea and do the same

Yes. Whenever a Gitea instance is published scripts will be written within hostea that will:

  • Skip the release if it is tainted for some reason
  • Automate what the release notes recommend to do manually
  • Apply upgrades in sequence (1.16.1 then 1.16.2 etc.) rather than jumping to the latest directly
  • Run sanity checks

Such tooling and upgrade automation is made possible because hostea is opinionated on how Gitea is installed and assumptions can be made. For instance it will use SQLite, run from the docker distribution on a GNU/Linux distribution etc. This restricts the range of possible upgrade failures.

Ideally the tooling is 100% implemented in Gitea itself. It is more likely that it is first implemented in hostea, proposed and discussed upstream for a while and then exists in Gitea. It is also quite possible that some aspects of the tooling are rejected because they are too specific and there is no clear way to make it generic enough to enter the Gitea project.

Both. There is something similar for Discourse. Some major upgrades require access to the machine, in both cases. But the vast majority of upgrades can be controlled from the web interface.

When a monitoring (such as Icinga) is in place, there exist plugins that do exactly this using various sources. And Gitea does this too: you can see in the gitea.hostea.org admin panel a notification that an upgrade to 1.16.5 is available.

1 Like

Another way to look at the idea is that hostea is providing a service that is a kind of Gitea clinic. In addition to Gitea hosting. This is likely to require manual work at the beginning as the tooling cannot yet cope. But every salvaged Gitea instance will build the reputation of hostea and improve the tooling.

:stethoscope:

This is based on the assumption that a number of self hosted Gitea instances will need to go to hostea because they run into trouble with upgrades and don’t know how to deal with them. As hostea tooling improves and becomes widely spread and/or natively integrated in Gitea the problem will disappear and there will no longer be a need for the clinic (as is the case for Discourse & WordPress for instance) but it will be at least a few years before it gets to this point.

1 Like

I love it!

This would be the killer feature of Hostea or Gitea Clinic :slight_smile:

There has been atleast one instance on the Gitea forum where someone wanted just this. Although niche and opinionated, won’t we be getting such a feature for free with your Ansible Playbooks for Gitea?

1 Like

Yes, eventually. But it will take a while to become rock solid and in the meantime human intervention is needed to (i) salvage the Gitea instance (ii) automate & generalize the salvage method. Until Gitea becomes so robust that the Gitea clinic is essentially out of patients :stethoscope:

1 Like

I think the idea is good enough to explore further and, more than anything, deserves proper user research.

Also posted on the Social Coding forum

Agreed but this will be a post-MVP feature, right? I am interested in this outside of Hostea’s scope as well :slight_smile:

1 Like

That’s what I initially thought but while I was trying to figure out how to recycle the hours I have left for the MVP for User Research, I realized that maybe it would be rather simple to setup hostea.org to offer that repair service. It would need:

  • a static site which coincidentally already works thanks to your efforts this week
  • a few doctors (Easter-Eggs meaning me doing the work & you at the minimum)
  • a tracker to file and track cases (there already is one)

The rest can be done manually and payments can go through liberapay. In order to verify that people who need help with their Gitea upgrades are willing to pay for a service, the best User Research may be to look for them and propose to help instead of just asking for an interview.

Most people who needed help are unlikely to be willing to get help right away. Some of them may be willing to answer a User Research interview and the token of appreciation could be a voucher for a one hour consult valid. And all of them can be offered to register to the forum or the tracker.

What do you think?

1 Like

For the record I presented the idea to Autonomic in their chat room in this way:

@realaravinth and myself learned one fact in the past two weeks, thanks to your interview and a few others: there is no money in dedicated Gitea hosting at the moment. Although there is a very large number of self hosted instances and all hosting companies most likely provide instances to their customers, as a free cookie. Upgrading these instances is less than trivial though and people often run into troubles. Which brings us to a new idea: complementing the Gitea hosting with a Gitea clinic where people can bring their Gitea instance to be upgraded properly & hosted. The proposal to autonomic would be to co-found, with Easter-Eggs and @realaravinth a cooperative of three to run this hosting + clinic service. I would however totally understand that even considering this idea is too time consuming. But you’re kindly invited.

They are quite busy with other things though.

1 Like

Fantastic Idea! While I’m not sure if I can contribute towards being a doctor due to lack of skill, I’m willing to contribute towards management chores and wherever my skills permit me.

Again, I’m more interested in this idea in context of generic hosting. This is one of those features that sets an ethical service apart from walled gardens :heart:

1 Like

A post was split to a new topic: Hostea governance

I went a little too far in the future and proposed a governance model for hostea. It is assuming this Gitea repair service idea can actually generate income. But I’ve been wrong a few times on that topic (understatement :slight_smile: ). It will have to be validated by at least a few successful Gitea service work completed and paid for.