Personal Diaspora instance on a Syncloud device


(Boris Rybalkin) #1

Hello,

I am developing an open source project called Syncloud (syncloud.org) which is about having a personal device (like Raspberry Pi) with popular services on it (like Diaspora, Nextcoud, Mail, Messaging …). Our goal is to simplify installation of those apps for regular people so it is no different than installing a Facebook client app on a phone with similar “service app store” experience. Our project is very much about a single user experience where you have one user and many apps.

We have Diaspora app and while it is a great app we do not have a lot of people using it while most of them love Nextcloud for example.

So what I am thinking about some kind of collaboration between Syncloud and Diaspora in terms of you guys mentioning us somewhere on a wiki that there is an option of simple installation of a pod using Syncloud. We support popular single board computers https://github.com/syncloud/doc/wiki/Build-Syncloud-Device so I think this can bring more Diaspora users and we can bring more improvements to Diaspora supporting them.

Thank you and let me know if this is something you are interested in.


(Dennis Schubert) #2

Hi Boris,

the answer probably is a “no”, although the reasons might surprise you a bit. We partnered with the FreedomBox project in the past, and we certainly learned some lessons. I’m going to outline the reason without any specific order:

  • In general, we officially only support the manual installation method as written in the wiki. The main reason for this is that we depend on very specific dependencies, including ruby versions, and we like to know what environment diaspora* runs when we have to support podmins. Any other installation method, including “one click installers”, are unsupported.
  • Another reason for only supporting the manual method is the fact we release updates on a regular basis and sometimes have to release security hotfixes which require very short turnovers. Having a “middle man” that needs to re-package, test and deploy stuff first is not smart.
  • diaspora* federation relies on having pods available every time, all the time. That means that installations on “home devices” that may or may not be up 24/7 is generally not recommended.
  • We need quite some resources, both CPU and memory wise. Running diaspora* alongside other applications on a small, underpowered embedded device is not a smart idea in general.

In addition, after looking at your project, I’d like to add some additional issues:

  • As far as I can tell, you target both the rPI 3 and the odroid-c2. While the rPI 3 should be fine, the odroid is based on a Amlogic S905. That’s fine for the purpose it’s designed for - being a cheap android development board, but I highly doubt running multiple web applications on it is a good move. While the processor is, in theory, fast enough-y for most, it’s still an ARM which has high performance deficits when running applications like Ruby by design, 2GB of memory is not enough to run everything you want to run.
  • You seem to have a custom DDNS service running that allows users to run at [name].syncloud.it. In general, that’s a nice idea to avoid issues with dynamic IP addresses at home, however, using that domain creates a huge single point of failure.
  • You require an account on syncloud.it, but you do not provide any terms of service or privacy policies for that. Given that syncloud.it runs on Amazon EC2 and the DNS for all customer subdomains is provided by Amazons DNS service, I feel like this is something that should at least get noted somewhere.
  • “Syncloud, Ltd” seems to be registered in the UK, but data is hosted in Amazon’s US-West-2 datacenter. Given that you don’t have any privacy policy and terms of service available, this actually is a violation of the UKs Data Protection Act. Even if we ignore the legal point of view, I feel like it’s somewhat shady to collect user data without any clear policies on that.

You are free to distribute diaspora* in any way our license allows you to, but given all the reasons mentioned above, please do not expect us to endorse you in any way. I hope you understand that.


Also, let me add something slightly off-topic. Using “you guys” only targets male members of a given group and I see no reason to do that. Usually, “you people” or something more general is a way better term to use. :wink:


(Flaburgan) #3

Hi Boris and welcome. Your project looks very similar to YUNoHost. It’s really nice to sée people working to help users avoid GAFAM services.
I share Dennis point of view about the hardware performance and the support.
About the hardware we want to deliver the best user experience and unfortunately diaspora is still an heavy application. So I’m not sure running it on a shared board is a good idea.
About the support, I’m not against listing third-party projects proposing diaspora but it has to be very clear that you (and not us) are providing the support so we must have at least a link or an email we can forward people to when they come on IRC and ask for help. Also we need to be sure that you will keep the diaspora images up to date.


(Boris Rybalkin) #4

@denschub, thanks for the detailed reply and you have raised very interesting points here.

Just to reiterate, the usual case for Syncloud is to have one device per user. Many times it is even one app per device. So we stay on minimum app system requirements or even below as they are usually designed for hundreds if not thousands of users…

  • Manual install wiki, no “one click installer” and the need for quick turn around.

In Syncloud we have self-contained app packages with zero dependencies on other apps or OS (similar to Ubuntu snap) and we have app integration tests. This gives us confidence releasing an app and turn around on a critical fix may take few hours to be published (which happened in past).
I think it is in everyones interest to have stable and simple installation and ideally app developers provide a single binary package with all the deps for each supported CPU architecture.

  • Federation

As I said a user should be able to decide if they want to be part of the network or not. While I would like to know more how this feature works and how it affects the network.

  • Performance

Again single user/single app requirement is very low. I would llke to know how you prevent pod admins from running into the same problem just on bigger scale.

  • Single board computers

Actually according to performance tests and my personal experience Odroid C2 is faster than Raspberry Pi 3 especially with eMMC. We support many more boards than these two and we believe that users should be able to run Syncloud on devices they chose to buy.

  • DDNS

Are you talking about Route53 going down or me accidentally deleting all the records from it? It is possible to use a personal domain name and we have a request to simplify that.

  • Privacy Policy

You right that we need to inform users on collecting dns data, so we fixed that: https://syncloud.it/privacy.html and added few links to it.

  • Support

We already support few apps and it is in our interest to fix problems quickly, so what we are offering is if you wish a Level 1 support for Syncloud users of Diaspora.

As to “you guys” I lived in US longer than in UK and I think there it became gender-neutral :slight_smile: