A WordPress admin plugin to Customize and secure your WordPress dashboard
Your backup, on your own storage
Database and files in a single archive, to download or to upload to your own S3-compatible storage or an FTP server. No middleman service, no third-party cloud subscription, no storage limit set by us.Your storage credentials are encrypted at rest with AES-256-GCM.
How it works: self-hosted WordPress backup
A backup is a plain .zip holding the SQL dump of your database and the files you choose. No proprietary format: if you ever stop using Deskmode, the archive still opens with anything.
wp-content alone or the whole installation, your choice.The S3 connection uses an Access Key and Secret Key with AWS Signature V4: no redirect to approve, no token that expires at the worst possible moment. There's a test button that checks the credentials before you rely on them, and a log of FTP operations to see where an upload stopped.
Large files are uploaded in eight-megabyte parts using multipart upload, rather than as one request that servers refuse beyond a certain size.
wp-config.php, so it is not in the database: anyone obtaining a database dump alone would have nothing to decrypt them with.wp-config.php as ADMIN3WEBBLUE_S3_ACCESS_KEY and ADMIN3WEBBLUE_S3_SECRET_KEY — the fields then show as locked in the interface.Restoring starts from a local archive, one on S3, or one on FTP — remote ones are downloaded automatically first. Every operation, from building to restoring to deleting to testing credentials, requires the capability to manage site options and a valid nonce.
Where local archives live: in a dedicated folder inside uploads, protected by an .htaccess with Deny from all and an empty index file. On non-Apache servers that rule isn't applied — if yours runs nginx, keep your archives on remote storage rather than locally.
The way out: define('ADMIN3WEBBLUE_DISABLE_BACKUP', true); in wp-config.php. Building an archive needs PHP's ZipArchive extension: if it's missing, the module says so instead of producing a broken file.
Frequently asked
Five answers on compatible providers, credentials, large files and restoring.
Any that speak the S3 protocol, because the plugin doesn’t hook into one vendor’s proprietary API: it signs requests with AWS Signature V4, the de facto standard.
In practice that means Amazon S3, Wasabi, DigitalOcean Spaces, Backblaze B2 through its S3 endpoint, MinIO on a server of your own, and anything else that implements the same protocol. You need an endpoint, a region, a bucket name and the key pair. There is no subscription with us and no storage limit we impose: you pay your provider, at your provider’s price.
Because OAuth brings tokens that expire, and they always expire at the worst possible moment: the nightly backup you thought you had hasn’t run for three weeks and nobody noticed. With an Access Key and Secret Key there is nothing to re-authorise.
There’s also a test button that checks the credentials before you start relying on them, rather than finding out on the first scheduled run that the bucket was unreachable.
The S3 Secret Key and the FTP password are stored encrypted with AES-256-GCM, and the encryption key is derived from the salts in your wp-config.php — so it is not in the database. Anyone obtaining a database dump alone would have nothing to decrypt them with.
We state the limit plainly: this protects against a database-only leak, not against full server compromise, where files are as readable as tables. If you would rather they weren’t in the database at all, define them in wp-config.php as ADMIN3WEBBLUE_S3_ACCESS_KEY and ADMIN3WEBBLUE_S3_SECRET_KEY; the fields then show as locked in the interface.
Archives are uploaded in eight-megabyte parts using multipart upload, rather than as a single request that servers refuse beyond a certain size. The database dump is also read in batches of five hundred rows, so PHP doesn’t run out of memory on a big table.
For FTP the plugin keeps a log of operations: if an upload stops, you can see where it stopped instead of guessing. Connections support FTPS and passive mode, which is the mode that works behind most firewalls.
Yes. Restoring can start from a local archive, from one on S3 or from one on FTP: remote ones are downloaded automatically first, without going through your own computer.
The archive is an ordinary .zip holding the SQL dump and the files you selected, so it stays readable with any tool even if you stop using Deskmode one day. No proprietary format, nothing locked in.