News for hackers. Stuff that matters.
Re:Show HN: a Node.js personal cloud you can hack, host and ... by rjh29 on Thursday May 30, 2013 @11:17AM (#5793005)
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.
Re:Show HN: a Node.js personal cloud you can hack, host and ... by gelnior on Thursday May 30, 2013 @11:35AM (#5793126)
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.