Self Hoster
Ship updates for your own WordPress plugins and themes from your own site, with licence-bound downloads, private storage and GitHub releases.
Self Hoster (called Hoster in WP Admin) turns a WordPress site into the update server for your own plugins and themes. Your customers' sites ask your site for updates, the same way they ask WordPress.org. They install them from the normal Plugins, Themes and Updates screens.
What you can do
- Self-hosted updates for plugins and themes — each product is a Download with its version, changelog, description, requirements, banners and icons.
Client sites see the update in WP Admin, and WP-CLI (
wp plugin update,wp theme update) and automatic updates work too. - Licence-bound downloads — create licences for your customers, limit how many sites each one can activate, and set an expiry date. Licensed updates are only handed to a site that sends a valid licence key activated for that site.
- Private storage — package zips live in a protected folder. They are served only through signed links that expire after an hour.
- GitHub releases and webhook — link a Download to a public or private GitHub repository. A release built by the generated GitHub Actions workflow becomes the new version, on its own once you add the webhook.
- Release API — publish a new version with one
curlrequest from CI, a deploy script or after an FTP upload. - Upload new version — upload a zip on the Download screen. Hoster reads the version from the zip and makes it live at once.
- Download buttons — Gutenberg blocks and an Oxygen element with cache-safe links. Licensed products ask visitors to log in, and show a locked button to users without a licence.
- Licence management — licences are their own post type, with hooks to create and update them from your shop.
The
[hoster_user_licenses]shortcode and the User Licenses block let customers manage their own sites. - Site Health checks — Tools → Site Health tells you when client sites can't reach your update endpoint, when private storage is not blocked, or when a Download has no package.
Where to start
- Install Hoster and activate its licence.
- Coming from Hoster 1.3 or older? Read Migrating to 1.4.0.
- Create your first Download and ship an update.