Show HN: a Node.js personal cloud you can hack, host and delete(cozy.io)
cozy.io
Show HN: a Node.js personal cloud you can hack, host and delete
http://cozy.io/
7 comments
I feel like some of the benefits of having cloud services is that I don't have to maintain this type of platform. This does look like an amazing service nonetheless. I'm definitely impressed by the ease of installation and the demo.
I'm curious to look at how this compares the locker project[1] or the more limited (but actively developed) Singly Hallway[2].
The locker project had a very clear data model to share data such as contacts, statuses, links, places etc. But more importantly it was easy to sync data from existing cloud services. Looking briefly at cozy-data-system, it does not seem like it is designed for applications to easily share data.
In any case, this project and others like it are really interesting to me as a hobby developer. Having structured data that I create and consume on local systems makes it a lot more enticing to run continuous analytics on.
I've been building out some tools that pull data out of pinboard.in, twitter, facebook, last.fm, my past Google searches and then do some basic processing[3] to create a sense of what I'm doing, how ideas introduced to me, things I'm interested in over time etc. The locker project was a great help, because they can merge data from multiple services and then I can keep the data on my own servers. I would love to have all the data/applications myself, but do not want suffer with sub-par apps and use the best services available (as long has they have an API).
[1]: https://github.com/LockerProject/Locker
[2]: https://github.com/Singly/hallway
[3]: For now, it's a mess of python with some nltk.org, www.clips.ua.ac.be/pattern and recently pandas.pydata.org
The locker project had a very clear data model to share data such as contacts, statuses, links, places etc. But more importantly it was easy to sync data from existing cloud services. Looking briefly at cozy-data-system, it does not seem like it is designed for applications to easily share data.
In any case, this project and others like it are really interesting to me as a hobby developer. Having structured data that I create and consume on local systems makes it a lot more enticing to run continuous analytics on.
I've been building out some tools that pull data out of pinboard.in, twitter, facebook, last.fm, my past Google searches and then do some basic processing[3] to create a sense of what I'm doing, how ideas introduced to me, things I'm interested in over time etc. The locker project was a great help, because they can merge data from multiple services and then I can keep the data on my own servers. I would love to have all the data/applications myself, but do not want suffer with sub-par apps and use the best services available (as long has they have an API).
[1]: https://github.com/LockerProject/Locker
[2]: https://github.com/Singly/hallway
[3]: For now, it's a mess of python with some nltk.org, www.clips.ua.ac.be/pattern and recently pandas.pydata.org
Locker project proposed to fetch all data from your cloud services. If I didn't miss something, that was not a web server. With Cozy, you can install any kind of app: photo manager, note manager, dashboards, external service aggregator... They share the same data store. So if you write your own web app, you can take advantage of other web apps data.
Cozy a personal cloud you can host, hack, and delete
Cozy brings you a personal cloud platform. Store your data in a place you control and leverage it with personal web applications.
Photos, mails, notes, contacts, todos... there's already many applications. Extend the possibility by developing your own app, you can leverage existing features!
Cozy is open-source and you can self-host it. Cozy is privacy-friendly. Alternatively, if you don't want to self-host, check out our hosting solutions.
This should have been expanded by default. Didn't even notice the little (+) expanders at first.
Cozy brings you a personal cloud platform. Store your data in a place you control and leverage it with personal web applications.
Photos, mails, notes, contacts, todos... there's already many applications. Extend the possibility by developing your own app, you can leverage existing features!
Cozy is open-source and you can self-host it. Cozy is privacy-friendly. Alternatively, if you don't want to self-host, check out our hosting solutions.
This should have been expanded by default. Didn't even notice the little (+) expanders at first.
[deleted]
How does this compare to http://owncloud.org/ ? I tried that out and was pretty impressed by what came out of the box and its integration with Gnome 3.
It's for applications not documents/photos, etc. It's not a competitor to Google Drive, it's a competitor to Google Appengine/Cloud
Exactly !
We are less mature, but we have a very different approach.
1/ cozy is a PaaS : plateform as a service : you develop in your language (node.js, ruby, pthon... only node for now) and your app is automatically deployed on the user's instance (if he ask to, of cours :-)
2/ data are shared among the apps : several apps can require access to your photo, contacts or mails or whatever : your apps are collaborating like on your smartphone.
1/ cozy is a PaaS : plateform as a service : you develop in your language (node.js, ruby, pthon... only node for now) and your app is automatically deployed on the user's instance (if he ask to, of cours :-)
2/ data are shared among the apps : several apps can require access to your photo, contacts or mails or whatever : your apps are collaborating like on your smartphone.
[deleted]
The deployment is rather strange. You run a shell script which uses apt-get (so Debian/Ubuntu only) to install python and Fabric, downloads a fabfile, and runs it.
The fabfile.py script then does a number of operations including adding a PPA to your apt repository list, installing more stuff via apt-get, and downloading and manually installing random tarballs from the internet.
Here are some interesting examples from the deployment script:
The fabfile.py script then does a number of operations including adding a PPA to your apt repository list, installing more stuff via apt-get, and downloading and manually installing random tarballs from the internet.
Here are some interesting examples from the deployment script:
@task
def uninstall_couchdb():
"""
Install CouchDB 1.3.0
"""
require_file(url='http://apache.crihan.fr/dist/couchdb/source/' +
'1.3.0/apache-couchdb-1.3.0.tar.gz')
@task
def uninstall_redis():
'''
Uninstall Redis 2.4.14
'''
su_delete('/var/lib/redis')
su_delete('/var/db/redis')
su_delete('/var/log/redis')
su_delete('/var/run/redis')
su_delete('/opt/redis-2.4.14')
su_delete('/etc/redis')
su_delete('/etc/supervisor/conf.d/redis_cozy.conf')
supervisor.update_config()
print(green("Redis 2.4.14 successfully uninstalled"))
I am interested to know what issues the author had with getting deployment to work via traditional means (such as producing a .deb package out of the product that would be easy to install and uninstall, and have the appropriate dependencies properly set up). While this approach is quick and easy, I can't help but feel that it is prone to breakage and difficult to manage, especially in more professional environments.Thank you rjh29 for your feedbacks about the installation script. Here are some additional informations:
* The script installs with apt-get what is possible to install with this tools. The tarballs downloaded are not random tarballs, they are specific version of the required modules.
* About the debian package, that's really an hard job to set-up a proper package when so many modules are involved. But you're right it would make things cleaner.
* Remember that Cozy is a FOSS project. We'll be glad to discuss about it through our issue list. You can propose improvements via a pull request too.
* The script installs with apt-get what is possible to install with this tools. The tarballs downloaded are not random tarballs, they are specific version of the required modules.
* About the debian package, that's really an hard job to set-up a proper package when so many modules are involved. But you're right it would make things cleaner.
* Remember that Cozy is a FOSS project. We'll be glad to discuss about it through our issue list. You can propose improvements via a pull request too.