DiluxOne Offload – Media Storage
DiluxOne Offload: WordPress plugin that moves the media library to Azure Blob Storage through a PHP stream wrapper.
by Pablo Ariel Di Loreto · github.com/diluxone/diluxone-offload-wordpress · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/diluxone/diluxone-offload-wordpress/archive/refs/heads/main.zipDiluxOne Offload
WordPress plugin that moves the media library to Azure Blob Storage and serves it from there. It works through a PHP stream wrapper on /wp-content/uploads/, so nothing in your posts, your database or your other plugins has to change.
Who it is for
Sites that already run on Azure, or that want their uploads off the web server: App Service and container hosts where the disk is small or ephemeral, multisite networks that share one storage account, WooCommerce and page-builder sites that cannot afford URL rewriting.
The plugin is complete and free. It ships with one provider, Azure Blob Storage, and works with your own account and key; nothing in it is held back or unlocked by anything else.
Install
From the WordPress admin: Plugins → Add New, search for DiluxOne Offload, install, activate. Or download it from wordpress.org/plugins/diluxone-offload.
Then open DiluxOne Offload → Cloud Provider: enter the storage account, the container (public access level Blob) and the key, click Test Connection and save. In Sync & Offloading, start the sync and enable offloading when it finishes. Requirements, FAQ and known limitations are in readme.txt, the text shown on wordpress.org.
Hosted sync service
DiluxOne is preparing a paid, hosted sync service around this plugin, for a monthly fee: https://diluxone.com/plugins-wordpress/dilux-offload/. The plugin does not need it, never contacts it, and nothing in the plugin depends on it.
How it is built
This plugin is developed with AI coding agents (Claude, through Claude Code) under human review. The maintainer reads, runs and signs every change; every pull request is also reviewed by Claude and must pass the whole quality gate (coding standards, static analysis, taint analysis, unit, integration and end-to-end tests, WordPress Plugin Check) before it can merge. How AI is used here and the rules for contributing with AI: docs/ai.md.
Run it from source
git clone https://github.com/DiluxOne/diluxone-offload-wordpress.git
cd diluxone-offload-wordpress
make install # dev tooling into vendor/ (Docker; no PHP needed on the host)
make env # WordPress at http://localhost:8888, admin / password
make check # PHPCS, PHPStan level 8, Psalm taint analysis, unit tests
The checkout is mounted as wp-content/plugins/diluxone-offload-wordpress/; activate it from Plugins. make help lists everything else.
Documentation
| Read this | For |
|---|---|
CONTRIBUTING.md |
Issues, branches, pull requests, what CI enforces |
docs/development.md |
Local setup, Make targets, repository name vs plugin slug |
docs/testing-and-quality.md |
Every quality gate and how to run it |
docs/architecture.md |
How the plugin is built and the rules its code follows |
docs/roadmap.md |
What it does, what is paid, what comes next, what it will not do |
docs/ai.md |
How AI is used here, and the rules for AI-assisted contributions |
docs/release.md |
Versioning and the release to wordpress.org (maintainers) |
AGENTS.md |
The short rules any coding agent must follow |
SECURITY.md |
Private vulnerability reporting |
About
Built by DiluxOne and maintained by Pablo Di Loreto (@soydiloreto). Free software under the GPL-2.0-or-later, see LICENSE. Issues, forks and pull requests are welcome.