[tahoe-lafs-trac-stream] [tahoe-lafs] #2144: Tahoe-LAFS as website hosting storage backend
tahoe-lafs
trac at tahoe-lafs.org
Sat Dec 28 16:48:53 UTC 2013
#2144: Tahoe-LAFS as website hosting storage backend
---------------------------------------------+---------------------------
Reporter: amontero | Owner:
Type: enhancement | Status: new
Priority: normal | Milestone: undecided
Component: contrib | Version: 1.10.0
Keywords: website webdav twisted research | Launchpad Bug:
---------------------------------------------+---------------------------
While playing with Tahoe, I've done a bit of research out of curiosity
about one possible usage scenario, that instead of keeping in my notes I
think it is a UseCase of interest.
I was thinking in a Tahoe-LAFS grid being the storage backend for a web
app served by common httpd servers, such as nginx.
Depending on your app requirements, you grid can range from a read-only
cap webroot (that could be tamper-proof for free!) to more complex
writtable grids, depending on your app.
Your web server recieves a website GET and, instead of reading from a
local filesystem directory, it reads from a dircap as the webroot. It
could even execute scripts, creating a webroot not hackable if even the
webserver is compromised. As far as the script cares, it's being run from
a readonly filesystem.
Tahoe-LAFS would be the perfect match for distributedly hosting static
sites inside anonymity networks, like Tor.
To accomplish this, I've done a bit of research and nginx looks like a
good fit and well documented.
The approaches I've found are:
* lafs-rpg:
* Can not do this *as of now*. Nejucomo provided helpful comments at
https://bitbucket.org/nejucomo/lafs-rpg/issue/12/run-tahoe-hosted-scripts
* However, it could be a good starting point, perhaps. Just adding some
more nginx config wizardry could be the way, not sure.
* FUSE under nginx
* Available now.
** Performance?
* Documented at http://uwsgi-
docs.readthedocs.org/en/latest/tutorials/ReliableFuse.html
* uWSGI
* Docs for nginx: http://uwsgi-docs.readthedocs.org/en/latest/Nginx.html
* The newest, sexiest and cloudfull kid on the block.
* Also available under Apache: http://uwsgi-
docs.readthedocs.org/en/latest/Apache.html
* There is nothing done for nginx, but there are even plugins available
for:
* GlusterFS: http://uwsgi-docs.readthedocs.org/en/latest/GlusterFS.html
* GridFS: http://uwsgi-docs.readthedocs.org/en/latest/GridFS.html
* Twisted:
* To my knowledge, Tahoe is built on this lib. No Python knowledge here.
Perhaps it has nothing to do.
* If possible, this would be the closest to the grid?
* Just found mentioned at:
* http://uwsgi-docs.readthedocs.org/en/latest/DynamicApps.html
* http://uwsgi-docs.readthedocs.org/en/latest/WebServers.html#twisted
Alongside: could not this help achieve WebDAV, just using nginx's out-of-
the-box? #451
Now it's just an idea, maybe it's doable and just needs a howto. Since I
haven't found none, at least linking this issue in the UseCases page could
bring interested parties on the same page.
--
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/2144>
tahoe-lafs <https://tahoe-lafs.org>
secure decentralized storage
More information about the tahoe-lafs-trac-stream
mailing list