TurnKey Linux Virtual Appliance Library

Diaspora

Hey guys, I don't know if this is the right way to do this, but I couldn't find any other way. I was wondering if I could make a request for an appliance. I think this appliance would be popular. It is called diaspora. It is basically a decentralized social networking app. An anti facebook if you will. I know there are a lot of people looking to move away from the big centralized social networks, mostly due to the abuse of sharing/selling their private information. Anyway, let me know what you think and if this was the wrong place to do this. Thanks! The project rocks and has helped me a TON. https://github.com/diaspora/diaspora/wiki/Installing-and-Running-Diaspora

Jeremy's picture

I think it's a great idea!

But TBH with the workload the core devs have at the moment there won't being any appliance requests getting fulfilled by them anytime soon.

But all is not lost. In the meantime you (or another interested community member) could get their hands dirty and make a Diaspora TKLPatch. This has a twofold benefit - it will push forward the likelihood and time of an official appliance release and will also allow users with minimal knowledge of Linux to create the appliance themselves (by patching a preexisting TKL appliance with the yet-fo-be-created Diaspora patch). The docs (link above) should get you started, plus you'll find plenty of patches posted by community members in the general forum that you can pull apart to see how others do things.

Sadly I am one of those

Sadly I am one of those users, the limited knowledge about Linux... I am a Windows man with just a little bit of linux skills in me.

I can give it a try though, I really want to see an easy way for people to try out their own Diaspora server.


Jeremy's picture

A learning curve but well worth it IMO

I was in the same boat about 18mths ago and I still consider myself pretty newbish but having got to know Linux now I am a complete convert! I now run Linux (Ubuntu) on all my home PCs, have convinced my boss to get netbooks at work running Ubuntu and am about to transition the server from Win to a Debian based hypervisor  (we will probably still run a Win Server VM for a while until I have it all sorted out - but the plan is eventually all Linux).

Anyway, if you have any interest in learning about Linux then I urge you to have a go at it. I found that there is tons and tons of info online (google is your friend) but especially the Ubuntu forums and wiki. When working on TKL keep in mind a few fundamentals: TKL v11.0RC is closely based on Ubuntu Lucid/10.04 (hence the Ubuntu forums being invaluable) and anything that applies to Lucid applies to TKL v11. Ubuntu itself is based on Debian - so often info that relates to Debian also applies to Ubuntu and therefore TKL (but be careful that is only a general rule). Beyond that there are a number of fundamental Linux concepts and commands/apps that apply as well so there is also lots of general info. I find Wikipedia is great for general user friendly info re Linux commands. Obviously for TKL specific stuff (and some more general info too) the forums here are the go. Anything you can't find searching (here - top right cnr - or elsewhere) or don't understand feel free to ask here and hopefully someone can help you out or head you in the right direction.

Having a quick look through the link you provided, it looks like an initial prototype Diaspora patch should be fairly easy to produce. I'd suggested a workflow something like this (it's basically what I did with my KnowledgeTree patch):

  • A bit of background reading. I'd suggest you don't overwhelm yourself though, just have a taste, then have a play, then go back and read more as you get stuck or want to understand more.
  • Install TKL Core v11.0RC to a VM (I like VirtualBox but your username suggests VMware may be the go for you). Once installed setup and running, take a snapshot.
  • Install some tools to your Win host. I'd suggest an FTP client (such as Filezilla or WinSCP) and a SSH client like PuTTY (see my recent post here for links).
  • Familiarise yourself with TKL (if you haven't already).
  • Read and follow the instructions for Ubuntu on the link you provided in your initial post but take clear concise notes as you go, every step of the way. I use a wiki but any form of document is fine. Basically you are recreating the install instructions but just for TKL (Ubuntu) without all the irrelevant crap. Only thing to remember is that whenever the command is sudo blah blah you can leave the sudo out as the default user in TKL is root (default Linux admin account) - sudo is the command to give admin privileges to non admin users.
  • Sort out any problems as you go. Do some more reading/searching online and/or ask as needed.
  • Once you have a working instance of Diaspora running on TKL and a clear document of exactly how you did it you are ready to make a patch!
  • If you haven't already, read the TKLPatch docs.
  • Revert to your snapshot and install TKLPatch (I'd take a new snapshot now too) and create an example patch.  (see TKLPatch docs)
  • Most of your steps will be single line commands. Just like in Windows batch files, these commands can be strung together in a (bash) script. The conf file in a TKLPatch is basically a bash script so you can transfer the lines straight to the conf file. If you edit conf in Windows don't use notepad, get something like Notepad++ so the file doesn't get corrupted.
  • Now test your patch prototype on your vm. 
  • Once that works you can bundle your patch and 'rinse and repeat' on your VM. Make sure you copy out your patch files before reverting to your snapshot so you don't lose them.
  • Once you have an at least a semi working patch post a new forum topic in the general section and attach it. From there you can look at refining it and asking for feedback. Also you can add a little polish and tidy up any loose ends.

That's it! Sounds easy when I put it like that doesn't it?! But the devil is in the detail. You'll find that the TKL community is small but warm and friendly so you're in a good place to learn. The Ubuntu community, while vastly bigger is also pretty warm and newb friendly too.

Good luck and hopefully hear some more from you soon :)

Very interesting project!

I think I read about it some time ago, not sure if it's the same project, but I'm glad to see something like this is getting built. I'd really like to make the TKLPatch, but I'm currently full at the job and have other things in my queue for TKL. I'll throw it in my queue and if it doesn't get done by next year, I'll step in and make it!

Could be a nice way to test the TKLDevEnv! 

And it looks really interesting!

Basil Kurian's picture

Some one months back i tried

Some one months back i tried to integrate it into TKL, and it was successful. But the project is at its infancy state now. I think , we need to wait.


You're Right

I was looking at it yesterday, is still very alpha-ish. We'll keep an eye on it, and wait until it gets more stable...

Hans Harder's picture

-

I think they would appreciate if there was a Turnkey Linux Diaspora version

I would be an eyeopener for them how easy it is, to start a complete Diaspora system. Even if it is just a test version, just to get an impression.  It would also attract a lot of attention to TKL as a quick way to start an applicance with little effort.

I was already tempted to try it last week, perhaps I give it a go... although Basil is the nr1 in making TKLpatches.....

 

 

 

QUOTE:  ech`echo xiun|tr nu oc|sed 'sx\([sx]\)\([xoi]\)xo un\2\1 is xg'`ol

Jeremy's picture

Had a bit more of a look at this...

And not only is it "a bit alpha-ish" it currently is alpha! The private alpha was announced less than a week ago.

The more I read about this the more I like it. I've been an on-again-off-again facebook user for about 3-4 years and while I like some of its features and the ability to catch up and find/be found by old friends and keep in touch with distant friends, I have many reservations about privacy, security and ownership of my data. I really like the idea of this being open-source and much finer grained control over who sees what etc. I think it could also be potentially more useful and appropriate for community based and focused organisations to interact internally and externally than facebook. I guess we'll see whether it is/does.

Anyway, in my travels I came across a wiki page that may be useful for anyone looking to install on TKL v11 or looking to make a patch.

Given its current state of development, I don't think a TKL Diaspora appliance is appropriate yet however a patch that uses (and can relatively easily update from) the git repo could be quite cool. Definitely one to watch I think.

Hans Harder's picture

-

I am busy with one....It is very easy to make a TKLcore into a diaspora, almost there

Just have to figure out some things and I will post it.   Just something crude to get it working and try it out.

QUOTE:  ech`echo xiun|tr nu oc|sed 'sx\([sx]\)\([xoi]\)xo un\2\1 is xg'`ol

Hans Harder's picture

TKLpatch diaspora

Ok, just a crude firsttime TKLpatch for Diaspora...

Should be applied to:  turnkey-core-11.0rc_diaspora.iso

Instead of doing the tklpatch stuff, you can also do :

  • run a fresh turnkey-core-11.0rc_diaspora.iso in a virtual machine
  • extract only the file conf from the TKLpatch
  • run the conf file like:   bash conf
  • This will install all additional packages needed
  • just reboot afterward and Diaspora will automatically start (takes some time..)

The tklpatch will add a diaspora.sh in the homedirectory of user root and run this during startup using /etc/rc.local

With that script you can restart diaspora or update diaspora to the latest version...

just do :  ./diaspora.sh      (to start it)

or do : ./diaspora.sh update    (and it will do a git pull for the latest version)

The Diaspora webpage is located on http://<yourip>:3000

 

This is just for testing Diaspora, I think there can be done a lot off optimizing and stripping of unwanted packages.. but it works and you can enjoy Diaspora...., so have fun with it...

 

You can download it from :  http://www.atbas.org/TKLdiaspora.tar.gz

(no idea how I can upload here :)

QUOTE:  ech`echo xiun|tr nu oc|sed 'sx\([sx]\)\([xoi]\)xo un\2\1 is xg'`ol

Thank You!

Wow, you are fast! I really appreciate your hardwork. I will get it installed right away, thanks so much!


Hans Harder's picture

TKLpatch Diaspora

Just learned how to use TKLpatch ..  wink

Should be applied to:  turnkey-core-11.0rc_diaspora.iso

Indeed TKLpatch is very easy, nice way to pack this in a tar file

QUOTE:  ech`echo xiun|tr nu oc|sed 'sx\([sx]\)\([xoi]\)xo un\2\1 is xg'`ol

where to get turnkey-core-11.0rc_diaspora.iso ?

Hi,

from where should I get  turnkey-core-11.0rc_diaspora.iso on top of which I should apply http://www.atbas.org/TKLdiaspora.tar.gz ?

Thanks.

Jeremy's picture

You need to download & install the TKL Core ISO first

You can get that on this page - you want the 152MB ISO. There is an outdated but still relevant tutorial on installing to VirtualBox here if you're interested.

Then like Hans says above (but a little more spelled out for the benifit of newbs) install tklpatch:

apt-get update && apt-get install tklpatch

Then download and apply the patch:

wget http://www.atbas.org/TKLdiaspora.tar.gz
tklpatch-apply / TKLdiapora.tar.gz

And that should be it! Let us know how you go.

Hans Harder's picture

-

Thanks Jeremy..

That way is indeed more clearer what they should do to get it running...

QUOTE:  ech`echo xiun|tr nu oc|sed 'sx\([sx]\)\([xoi]\)xo un\2\1 is xg'`ol

Jeremy's picture

I was a newb myself not that long ago...

So I feel for them! The entry bar has been lowered a lot over the last few years, but I still sometimes find formatted text that's clear to see what needs copy-pasting can make the difference between success and feeling completely lost.

BTW good on you for making the patch :)

Liraz Siri's picture

As soon as Diaspora matures a bit we'll add it to TurnKey

I've been following Diaspora's development and have found it an exceedingly cool crazy ambitious project. I wish the project well and think it would be a great idea to add it to the TurnKey library as soon as it matures enough to provide a consistent, stable user experience. If they incorporate an auto-update mechanism like WordPress did since the latest version then stability wouldn't even have to come at the expense of a quick development cycle. Unless they change the protocols dramatically without backwards compatibility or something.

I too believe the centralized, walled garden nature of Facebook is exceedingly dangerous for the open web. It's like we've gone back to the AOL days. A federated social network based on open standards is a fantastic idea.

Maybe I'm biased by my ongoing love hate relationship with Facebook. I resisted opening an account forever but finally caved in and discovered it's like social crack. Exceedingly addictive, sticky and unproductive. In the last act I locked myself out of my account in an elaborate ritual that involved setting up a temporary, unmemorable e-mail account:

echo $(mcookie)@liraz.org
Then changing my e-mail to that and then changing the password to another mcookie, then deactivated the account. Good thing I don't have a photographic memory. Now I'm officially on Facebook vacation, but before I left Facebook taunted me with heart breaking images of all the people who "would miss me".

michaelachrisco's picture

Mirror of VM and documentation

If you need some help with mirroring or documentation on the VM, feel free to use my website. I am the web-administrator of http://diasporatest.com 

 

If you have any questions feel free to ask. Thank you. 

Hi, I've installed it,

Hi,

I've installed it, thanks !

Now, how can I have it refreshed with the latest diaspora code from git?

Are there some scripts for this?

michaelachrisco's picture

git

Git is able to update. If there is a script that already does this with turnkey then use that. If not use git.

Hans Harder's picture

-

If you just installed it, it is already at the latest version. The patch retrieves the latest version from the Diaspora git.

Afterward you can login with ssh as root and run :   ./diaspora.sh update

If you want to have always the latest version when you start your VM, you could also edit the /etc/rc.local and use the above syntax.

QUOTE:  ech`echo xiun|tr nu oc|sed 'sx\([sx]\)\([xoi]\)xo un\2\1 is xg'`ol

Jeremy's picture

Just came across another similar project

In my random travels online I have across a similar open source distributed social networking server/site/application called Appleseed.

I'm not suggesting that TKL should do an Appleseed appliance instead of Diaspora, but Appleseed has been around for some time now, and whilst still not to v1 it seems quite mature and full featured (although in fairness I haven't actually tested it). It could be mature enough for an appliance sooner rather than later?

Besides, hopefully Diasapora and Appleseed (and any other open source social networking platforms) will communicate through a standardised (obviously open source) protocol so they can work together rather than all being their own little social islands and actually competeing against one another.

Hans Harder's picture

There are a lot of open social projects....

You can also look at http://onesocialweb.org/

which looks also very good, especiallly because they use the existing xmpp as protocol

and you can create new stuff above it...

Look at the developertalk at  http://www.youtube.com/watch?v=fM4t78b-Ve4

QUOTE:  ech`echo xiun|tr nu oc|sed 'sx\([sx]\)\([xoi]\)xo un\2\1 is xg'`ol

Very nice findings

I like this topic really. From the two alternatives presented, onesocialweb feels a bit more mature, as it's on top of other well tested protocols, and they seem to be sponsored by vodafone. I took a look at the roadmap for appleseed but if you filter by stable, not even one feature is marked as stable, and lots of them are marked as legacy, which makes me think they had been writing a socialnetwork engine but are relaunching the product, so there's lot to rewrite. I like more the roadmap from opensocialweb. 

By the end of this year we could have one or two appliances of opensource social networks around, lets keep watching the work of these guys. I really hope all of them can talk to each other, but I doubt it. 

/resurect Hey, so I just

/resurect

Hey, so I just tried setting this up as the hardware on my old box went and died... :(

I just grabbed the latest TKL core ISO and ran your tkl patch and got the following:

 

Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

/usr/bin/ruby1.8 extconf.rb
checking for rb_thread_blocking_region()... no
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lm... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lz... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lsocket... no
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lnsl... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lmygcc... no
checking for mysql_query() in -lmysqlclient... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

Provided configuration options:
        --with-opt-dir
        --without-opt-dir
        --with-opt-include
        --without-opt-include=${opt-dir}/include
        --with-opt-lib
        --without-opt-lib=${opt-dir}/lib
        --with-make-prog
        --without-make-prog
        --srcdir=.
        --curdir
        --ruby=/usr/bin/ruby1.8
        --with-mysql-config
        --without-mysql-config
        --with-mysql-dir
        --without-mysql-dir
        --with-mysql-include
        --without-mysql-include=${mysql-dir}/include
        --with-mysql-lib
        --without-mysql-lib=${mysql-dir}/lib
        --with-mysqlclientlib
        --without-mysqlclientlib
        --with-mlib
        --without-mlib
        --with-mysqlclientlib
        --without-mysqlclientlib
        --with-zlib
        --without-zlib
        --with-mysqlclientlib
        --without-mysqlclientlib
        --with-socketlib
        --without-socketlib
        --with-mysqlclientlib
        --without-mysqlclientlib
        --with-nsllib
        --without-nsllib
        --with-mysqlclientlib
        --without-mysqlclientlib
        --with-mygcclib
        --without-mygcclib
        --with-mysqlclientlib
        --without-mysqlclientlib


Gem files will remain installed in /var/lib/gems/1.8/gems/mysql2-0.2.13 for inspection.
Results logged to /var/lib/gems/1.8/gems/mysql2-0.2.13/ext/mysql2/gem_make.out
An error occured while installing mysql2 (0.2.13), and Bundler cannot continue.
Make sure that `gem install mysql2 -v '0.2.13'` succeeds before bundling.
Updating git://github.com/MikeSofaer/vanna.git
Updating git://github.com/Empact/roxml.git
Updating git://github.com/diaspora/acts-as-taggable-on.git
Updating git://github.com/iain/http_accept_language.git
Updating git://github.com/diaspora/diaspora-client.git
Updating git://github.com/MikeSofaer/sod.git
Fetching source index for http://rubygems.org/
Bundler could not find compatible versions for gem "oauth2":
  In Gemfile:
    diaspora-client (>= 0) ruby depends on
      oauth2 (= 0.5.0) ruby

    omniauth (= 0.2.6) ruby depends on
      oauth2 (0.4.1)


Done
 

Any ideas? Thanks for your work already btw.


Jeremy's picture

Thanks for the feedback

But this is quite an old patch. I suspect it may need significant updating to get it to work. But I'm sure your feedback will be useful if someone chosses to do that.

OTOH if you want to have a bash at it, have a read of the TKLPatch docs and go for gold! I would suggest you start a new thread though, then you will be able to attach your patch (attachments can only be made to first posts of a thread). If you do that, put a link back to this thread in your post and post a link to your new thread here.

Hans Harder's picture

yes very old, much has

yes very old, much has changed in Diaspora

Instead of doing the patch on a TKLcore, you can do it better on a TKL lamp, since it now requires a webserver and a mysql server and the TKLlamp has that nicely preconfigured

just adapt the apt_install rules with the requirements of Diaspora and remove the mongodb entries

You can get my last setup script on : http://pastebin.com/qMPNq727

I still get the oauth2 error, no idea how to get around it. and you need to configure everything in /root/git/diaspora/config/*


Post new comment

The content of this field is kept private and will not be shown publicly. If you have a Gravatar account, used to display your avatar.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <p> <span> <div> <h1> <h2> <h3> <h4> <h5> <h6> <img> <map> <area> <hr> <br> <br /> <ul> <ol> <li> <dl> <dt> <dd> <table> <tr> <td> <em> <b> <u> <i> <strong> <font> <del> <ins> <sub> <sup> <quote> <blockquote> <pre> <address> <code> <cite> <strike> <caption>

More information about formatting options

Leave this field empty. It's part of a security mechanism.
(Dear spammers: moderators are notified of all new posts. Spam is deleted immediately)