

Show HN: a Node.js personal cloud you can hack, host and delete - gelnior
http://cozy.io/

======
joeblau
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.

~~~
aenario
That's the purpose of cozycloud.cc : for people who don't want to install /
update / maintain the cozy platform on their own hosts, we offer already
installed and ready to be used virtual machine with a cozy on it

Disclaimer : works for cozy

~~~
joeblau
Ah perfect :).

------
m0hit
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

~~~
gelnior
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.

------
warcode
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.

------
reedlaw
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.

~~~
clone1018
It's for applications not documents/photos, etc. It's not a competitor to
Google Drive, it's a competitor to Google Appengine/Cloud

~~~
benibur
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.

------
NKCSS
The demo is going beserk at the moment; everyone is adding/deleting apps,
which makes it seem very erratic.

~~~
proussea
it's quite funny tbh :)

How is this called ? being "hackernewsed" ?

------
rjh29
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:

    
    
      @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.

~~~
gelnior
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.

