Hi Nick! Great to have you here. (No worries, we don’t have great docs yet. It’ll happen someday!)
Yep, this is possible, and sounds like a neat idea. Let me know if this sounds right: So you could use, say, an rclone directive to “proxy” requests directly to cloud storage (or any of rclone’s supported providers). In other words: upload your site to your Dropbox or S3 and then serve those files via Caddy, instead of the files being local to the machine Caddy is on.
The browse directive also makes a staticfiles.FileServer, so you could even say browse in your Caddyfile and have it serve its listings through rclone.
I don’t have a great design idea at the moment, but I will say that it’s not uncommon for plugins to import each other (as long as there’s no cycles of course!) – the staticfiles plugin stands pretty much on its own, so it can be imported. Your plugin could potentially import the browse plugin and register itself as a plugin to the plugin, as a backend for browse.
I hope that made sense.
Anyway, yeah, feel free to go for it! I will be happy to take a look at the PR. No hurry of course. It’s neat you’re thinking about it.