#autoUpdates

Metadropmetadrop
2025-01-24

We would like to share a post from Reddit where Wayne Eaker, from drupaltutor.com, explains how he uses our Drupal Updater tool and we love it! This is how we use it internally: automated work for bots & human supervisors!

reddit.com/r/drupal/comments/1
github.com/Metadrop/drupal-upd

Explanation on how Drupal Updater works
2024-11-26

In the age of Over-the-Air updates, car recalls now come with gigabytes of data and zero trips to the dealership. Just remember: next time your car misbehaves, it might just need a reboot, not a mechanic! 🚗🔧✨
eliza-ng.me/post/recallsoftwar
#AutoUpdates #TechInCars

Really Simple Wordpress Pluginsplugins@plugins.seindal.dk
2024-03-29

Private WordPress plugin repository with automatic updates

I’m probably not the only one who’d like to have my private WordPress plugins auto-update, just like the plugins from the standard repository.

It took some time to figure out the nitty-gritty details, but I now have a setup which works. Not only that, but it should also be adaptable for use by others, with minimal changes.

TL;DR

The short story here is that I have a system of two or three plugins, which combined will do the trick.

The back-end is a WordPress site, with a custom plugin to do the hidden back-end stuff. The plugin is ~1000 lines of code. There’s a new post type, a taxonomy, a number of new end-points, a wp-cli interface and some tools for generating meta-data and readme files from the site content.

↬ WordPress Plugin Site

The front-end is little more than a bit of glue to connect the WordPress Updates API with the back-end. It is less than 200 lines of code. It does basic search, installation and activation from the search result, manual updates from the updates page and the plugin list, pop-ups with plugin details, and automatic unattended updates.

↬ RS Updater

Due to the way I write my plugins, both of the above rely on a small framework plugin, which must be installed first.

↬ RS Base Plugin

That’s it!

The Updates API

The WordPress Updates API has been around for a while, but the documentation is a bit diffuse.

I found some small examples, and read the source, and the error logs 🙂

On the client side it is basically a matter of adding a few hooks, which either intercepts the communication between WordPress and the standard repository, or short circuits it.

All data structures are just what the standard plugin repository does, but curl’s your friend.

Setup your own repository

To have your own WordPress plugin repository with automatic updates, first make a blank site, then install the RS Base Plugin first, and then the WordPress Plugin Site.

Create a download folder in the document root. This is where you dump your ZIP files with versions of your plugins. How you get them there is your business — I use scp(1).

Now, for each plugin create a page in the Plugins section (that’s a custom post type). Make sure the slug matches the files you’ve uploaded and the slug of your plugin.

Most of the meta-data for the plugin comes from what you enter on the plugin page on the back-end. All the details about which information comes from where is on the back-end plugin page.

That’s about it. You have a plugin repository.

On the client side site

On the client site you need to install the RS Base Plugin and then the RS Updater plugins.

In the latter, either edit the source to change the URL of the back-end, or set the rs_updater_backend option to the URL. There’s no settings page for now, but wp-cli is your friend.

Again, that’s it.

You should be able to find your plugins (by slug only currently), and install, activate and update them. On the plugins list it should be possible to enable automatic updates.

At this point whenever you have a new version of one of your plugins, just upload it to the download folder on the back-end and forget about it. All the sites using that plugin will discover it and update it within twelve hours.

No need to hunt around on all your sites (or your clients’ sites) to do manual updates.

Scratching itches

I wrote this to scratch my own itch — too many home spun plugins on too many sites — and I’m quite satisfied with the result because I now have more time to do fun stuff.

If this can scratch somebody else’s itch too, the more the merrier.

Let me know if it’s useful to you.

All three plugins are under the GPLv2.

#AutoUpdates #plugins #Wordpress

https://plugins.seindal.dk/?p=17407

2023-11-22

Scratch that, spoke too soon. The final install also succeeded but now the box won’t reboot. So all was well until 20.04 and 20.04 → 22.04 borked it.

Fun times.

Can’t even get an ssh shell in.

Meh, rebuild from scratch it is then, I guess.

:awesome: 👍

#web #dev #ops #rpmOstree #noOps #autoUpdates

2023-11-22

Just updated a server I hadn’t touched in over six years from Ubuntu 16.04 → 18.04 → 20.04 → 22.04 and it all went smoothly; not a single issue.

I can’t wait for a server with Fedora Silverblue-style upgrades (CoreOS?) that’s supported by the major VPS providers in default images. Tried a while back to get Hetzner to support CoreOS but the process appears somewhat stuck:

github.com/coreos/fedora-coreo

#web #dev #ops #rpmOstree #noOps #autoUpdates

Client Info

Server: https://mastodon.social
Version: 2025.07
Repository: https://github.com/cyevgeniy/lmst