Skip to content
diaspora... as a couchapp! using couchdb's replication for data federation
Find file
Pull request Compare This branch is 61 commits behind maxogden:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
ezcrypto-js @ 899e610


CouchAppspora Diaspora implemented on CouchDB

The Diaspora source code was initially released on September 15th, 2010. This project is an implementation of the Diaspora protocol as a CouchApp built entirely on CouchDB.


CouchDB is a good fit for a federated social web node due to it’s robust replication, HTTP and JSON APIs. Diaspora is an attractive implementation of a federated social web application. I want to marry the front end and features of Diaspora, but build them on the flexible replication of CouchDB. The resulting application is written in pure Javascript and HTML and only requires CouchDB in order to run.


I am shooting for Social Web Acid Test level 0 (SWAT0) compliance by implementing the OStatus stack. Since Couch can use CommonJS, I started a project called ostatus-js to write the OStatus protocols in server side javascript. To learn more about how CouchAppSpora works and interoperates with other seeds, check out this wiki page.

Hosting your own

You can run CouchAppSpora anywhere that you can run CouchDB, and since it’s a CouchApp, the entire application lives inside your database and can be replicated from any other CouchAppSpora seed. To demonstrate the built in replication that you get with CouchDB:

For more advanced features (OStatus protocols like Webfinger for user discovery) you will have to use a dedicated domain name and configure your CouchDB to use a vhost entry for your domain name. See this wiki article for instructions.

TO-DO (aka ‘how to contribute’)

You can either help build out the HTML/CSS/JS interface or you can help out with the backend protocols.

Check out the Issues page

If you’ve never worked with CouchApps before, I’d highly recommend learning more about them at


TODO: I think I have to comply with Diaspora’s AGPLV3 License…

Something went wrong with that request. Please try again.