Installing Diaspora on Windows

Update: I have been super busy lately, so haven’t had time to update this post. Some parts may no longer be relevant, as the project is moving pretty quickly. There is now a page on Diaspora’s GitHub Wiki that describes some additional workarounds for Windows, so check there if your problem isn’t solved here.

So today the Diaspora team finally released their source for developers. This post describes my efforts in getting Diaspora to run on Windows. It’s actually very straightforward (considering the readme has no mention of Windows!) – anyone with a small amount of technical knowledge should be able to successfully follow the steps below. I’ve included some fixes for common pitfalls. Please leave a comment if you are having trouble, or manage to find the solution to a problem you are having.

Warning: Diaspora is classified as pre-alpha software. You should not be ditching Facebook and moving your online social persona to Diaspora – at least, not yet. It’s full of documented security holes and bugs. You should only be installing it to have a play with it and get a feel for what the system is going to be like.

Prerequisites

The project readme describes the prerequisites for the project, and gives a basic installation guide (for Ubuntu and MacOS X). You will need to install all of them:

You’ll need to make sure most things are on your path (especially your Ruby\bin directory).

Getting the source and dependencies

First, git clone the source into a sensible place using TortoiseGit. The repository URI is as follows:

http://github.com/diaspora/diaspora.git

Then, at a command line, browse to the repository and run the following command to install project dependencies:

bundle install

If you encounter an error about a native build failing, make sure you have installed the DevKit properly.

If you encounter an error about bundler not being able to find its functions, you will need to modify one of bundler’s source files. Open up Ruby\lib\ruby\gems\1.8\gems\bundler-1.0.0\lib\bundler\lockfile_parser.rb and modify line 14 so it reads as follows:

      lockfile.split(/\r?\n+/).each do |line|

Then run the bundle install command again. (Thanks Kristoffer!)

When the command succeeds, you should see a pretty substantial list of items install (in the order of 50 or so). The Diaspora team certainly know how to reuse existing solutions!

Running Diaspora

There is an official guide to installing Mongo on Windows, and running it as a Windows service, so I won’t go into that here. Just make sure that it is running before continuing (preferably as a service). Then, run the following at the command line from the repository directory to start the development server:

bundle exec thin start

You might encounter an error that looks like the following:

rbreadline.rb:4404: uninitialized constant RbReadline::Encoding (NameError)

A quick search turned up a blog post that described commenting out the affected line, which seemed to work for me. Just open Ruby\lib\ruby\site_ruby\1.8\rbreadline.rb in Notepad or similar, and comment out line 4404. This shouldn’t break anything significant. (It might affect you if you are doing some development and need to use the test suite – otherwise shouldn’t make a difference if you’re just running Diaspora to have a play).

Run the bundle exec thin start command to start the server once more, and you should see something similar to the following:

>> Using rack adapter
>> Thin web server (v1.2.7 codename No Hup)
>> Maximum connections set to 1024
>> Listening on 0.0.0.0:3000, CTRL+C to stop

Opening localhost:3000 in my web browser, I am then presented with the following:

Success! I should mention that this is of course just a development server. If you close the command window then the server stops running.

Getting access to your Diaspora node

Update: To register on your server, browse to /get_to_the_choppa. [This may no longer work, see next update]. It seems they haven’t yet built a proper registration page (or at least, you’re not supposed to be able to go to a random server and register). [Official signup page is now present]. Interestingly, that page worked for a short time on the developers’ own nodes – it seems they’ve since plugged the hole though.

Update 2: I assume the fact they’ve plugged the hole means it’s also plugged in the latest copy of the source. Here’s the “official” way to be able to log into Diaspora. [This way still works fine, but you may prefer to start from scratch – see next update]. From a command line in your repository, run the following commands:

gem install rake
rake db:seed:tom
bundle exec thin start

The rake command prepopulates some data, allowing you to then log in with username tom and password evankorth.

Update 3: It seems a Sign Up link has now been added to the login page (and /get_to_the_choppa redirects to this). You may want to use this to gain access instead of one of the above steps. I would recommend using the method above however, as it populates some images and a “friend” to play with.

Here’s what my running version of Diaspora looks like:

Although, as you can see, image resizing seems to be broken at the moment – perhaps a problem with my ImageMagick install. Other than that, seems to functioning ok. Of course, the “excitement factor” of testing the experience of a social platform by oneself is not particularly great!

Updating your Diaspora installation

Code updates are being pushed pretty thick and fast currently. To upgrade your Diaspora node, run the following commands at the command line in your repository directory:

git pull

This gets the latest version of the source code. You may need to run a git stash first if it complains about uncomitted changes.

bundle install

This will update and install new dependencies. You may encounter an error about a native build failing. To temporarily add DevKit to your path to allow building, first run devkitvars.bat from the extracted DevKit directory, then try running bundle install again.

rake

This compiles code and runs the test suite. Don’t worry too much about failed tests! You can also optionally nuke your database to start fresh again by running:

mongo diaspora-development
> db.dropDatabase()

Note that this requires MongoDB to be on your PATH. Finally, run the server again:

bundle exec thin start

425 Responses to “Installing Diaspora on Windows”

  1. Arabic English Translation Dubai says:

    Good post. I learn something new and challenging on sites I stumbleupon everyday.
    It will always be interesting to read through content from other writers and practice a little something from their web sites.

  2. viewdetails http://www.insanejournal.com/update.bml http://warnernickl5.soup.io/post/427384083/Thoughts-On-Clear-cut-Finance-Systems http://www.insanejournal.com/update.bml http://www.blackplanet.com/your_page/blog/manage/posting_list.html?pp=1 http://www says:

    It’s remarkable to pay a quick visit this website and reading the views of
    all friends regarding this article, while I am also zealous of getting knowledge.

  3. rehab facility says:

    I was recommended this web site by my cousin. I am no longer positive whether or
    not this publish is written via him as nobody else know such specific about my trouble.
    You’re amazing! Thanks!

  4. medical assistant jobs healthcare jobs healthcare employment quick healthcare job search find a healthcare job work find jobs career recruit recruitment health jobs radiologist jobs physician jobs physician assistant jobs occupational therapist jobs denta says:

    I am a healthcare blog owner.

  5. personal shopper san francisco personal assistant san francisco concierge san francisco san francisco concierge concierge service san francisco concierge services san francisco san francisco personal assistant san francisco personal shopper personal conci says:

    Hey there! I know this is kind of off topic but
    I was wondering which blog platform are you using for this site?
    I’m getting fed up of WordPress because I’ve had issues
    with hackers and I’m looking at alternatives for another platform.
    I would be fantastic if you could point me in the direction of a good
    platform.

  6. ilallungamentopene.It - Come Allungare il pene says:

    Ho creato questo prodotto personalmente e in modo
    esclusivo, è stato brevettato e le tecniche utilizzate sono state testate, perfezionate e dimostrate.

  7. android says:

    Wi-Fi takes advantage of the signals provided by wireless
    internet routers, allowing a faster connection, and therefore an enhanced web browsing experience to
    be achieved. While some firms take time to find the middle ground, the Web can immediately be utilized to swap information back and
    forth. We have a list of number of benefits associated with developing Android applications.

  8. customizable shirts says:

    I read this post completely on the topic of the comparison of most recent and
    earlier technologies, it’s awesome article.

  9. Chu says:

    And the opposite strategies, the Get Your Ex Girlfriend Again may also help you intend to get your girlfriend back.

  10. custom tee shirts says:

    Thanks for one’s marvelous posting! I seriously enjoyed reading it, you could be
    a great author. I will always bookmark your blog and will eventually come back in the future.
    I want to encourage you to ultimately continue your great job, have a nice
    afternoon!

  11. Photo digitizing Canada} says:

    Best Photo Scanning Service Canada

  12. MA OUI says:

    If you are going for most excellent contents like myself, just
    pay a visit this web page all the time as it presents quality contents, thanks

  13. best cold weather coats 2015 says:

    I really like what you guys tend to be up too. This kind of clever work and exposure!

    Keep up the wonderful works guys I’ve incorporated you guys to my own blogroll.

  14. soundcloud downloader online free mp3 says:

    I blog quite often and I truly appreciate your content.
    The article has truly peaked my interest. I am going to take
    a note of your website and keep checking for new details about once per week.
    I opted in for your RSS feed too.

  15. Computer Battery says:

    What’s up, I log on to your new stuff regularly. Your
    story-telling style is awesome, keep it up!

  16. Bradly says:

    I just like the valuable information you provide in your articles.

    I will bookmark your blog and check again right here frequently.
    I’m fairly sure I will be informed plenty of new stuff proper here!

    Good luck for the following!

  17. anabol x1 enhancement says:

    I know this site gives quality dependent content and extra material, is there any other web
    site which provides such data in quality?

  18. custom tee says:

    Very good article. I’m facing some of these issues as well..

  19. t shirt custom says:

    Hi colleagues, how is all, and what you would like to say on the topic of this paragraph, in my view its actually amazing in favor of me.

  20. nightclubs in phuket says:

    This is first time that I visit here. I found so many exciting matter in this particular blog, One thing I would like to request you that pls keep posting such type of informatics blog.

  21. parapharmacie says:

    Spécialiste de la vente en ligne avec un large choix d’articles érotiques pour épanouire votre sexualité et vie intime , un grand choix de lingerie sexy, sex
    toy, parapharmacie, lubrifiants intimes, sextoys ,DVD pour adultes.

  22. personalized tshirts says:

    Pretty component to content. I simply stumbled upon your blog
    and in accession capital to claim that I get in fact enjoyed account your blog posts.
    Anyway I will be subscribing to your augment and
    even I achievement you get admission to consistently fast.

  23. le jeune skincare review says:

    Hello there, just became alert to your blog through Google, and found that it is truly informative.
    I am gonna watch out for brussels. I’ll be grateful if you continue this in future.

    Lots of people will be benefited from your writing. Cheers!

  24. window tinting spokane says:

    Very quickly this site will be famous amid all
    blog users, due to it’s nice content

  25. cheap personalized t shirts says:

    I do not know if it’s just me or if everyone else encountering problems
    with your website. It seems like some of the written text in your posts are running off the screen. Can somebody else
    please provide feedback and let me know if this is happening to them too?
    This could be a problem with my browser because I’ve had this
    happen previously. Thanks