Headless Dropbox

I have been playing around with the very impressive Dropbox, watching the surprisingly rapid syncing between my desktop and netbook, when I stumbled on a use case that would totally rock my socks off: I totally need a Dropbox on my Linode!

So I copied ~/.dropbox* up to my Linode VM server, checked if it had any obvious references to the machine it was originally installed on, and ran ~/.dropbox-dist/dropboxd (a quick ldd will show you that it is a simple daemon, and doesn’t link to any of the GUI stuff).

Voila — Dropbox on my server, synced back with my desktop and netbook, with the same delightful performance and seamless attention to detail as the desktop client. Seriously, their GNOME-like “Just Works” approach and Nautilus integration are totally awesome.

(I also posted to their forum about it, so there might be some discussion there to watch.)

Bravo, Dropboxers.

Update: In the forum, Walther points out that you can use the same computer to register two nodes with different names (using the GUI), so the Dropbox central server knows you have two different nodes connected. Great tip, particularly given that it might avoid problems in the future.

This entry was posted in General and tagged , , . Bookmark the permalink.

23 Responses to Headless Dropbox

  1. jorge says:

    I’ve been dropping some of my dotfiles in ~/Dropbox/dotfiles and replacing the real files with symlinks. Now I have my muttrc, offlineimaprc, bashrc, signature and others all synced between my laptop and my desktop; it’s been working great so far.

    I could never get the tomboy ssh-sync to work so I am trying .tomboy as well, it synced the notes but I wonder when it’s going to blow up while both of them are running.

    It would be cool to figure out a way to throw in the ~/Private that is in Intrepid now in a Dropbox but I haven’t investigated yet.

  2. Tobias Jost says:

    Hi,

    I’m currently trying out Dropbox as well, but so far I’m not that much impressed. I haven’t found a feature superior to a WebDAV storage mounted via davfs2. This solution also integrates nicely into the OS as a generic mount(Linux)/HD(Win)/Whatever(Apple :)) without the need to install a Desktop Environment specific daemon.

  3. psilva says:

    Actually, while trying to follow your advice, I stumbled across a dependency: libgtk-x11.

    Looking at their forums, it seems that there are, indeed, graphical dependencies. How did you manage to geo through these?

  4. jdub says:

    @psilva: The nautilus-dropbox package certainly depends on GNOME stuff, but the dropboxd binary (which Dropbox downloads after you connect) doesn’t. You can just copy up your configured install and run dropboxd.

  5. infinito says:

    Wow, Dropbox is very very impressing software! Thanks for pointing it out!

  6. davide says:

    does it work behind a proxy?
    I’m trying to use it on ubuntu hardy installation but it hangs up after “killall nautilus”…

    On my main Linux installation (Debian Sid) it works pefectly…

  7. jdub says:

    @davide: The GNOME client has proxy settings (context menu on the notification icon, click “Preferences…”)

  8. davide says:

    @jdub: the problem is the client starts and hangs up. I’ve a frozen icon in the “notify zone” and I cannot right click… moreover all desktop seems to be frozen (but other applications still work), i.e. desktop icons are not active and so on…

    Maybe it is useful: the proxy requires authentification via login/password but I’ve entered it in Gnome Network Proxy Preferences.

  9. jdub says:

    @davide: Not sure, I haven’t seen that. (Also, Dropbox has its own proxy settings in its preferences box, unrelated to GNOME’s… a bit unfortunate.)

  10. Khashayar says:

    Wow!
    Dropbox is really really nice, exactly what I’ve been looking for, for a long time.
    Thanks for pointing it out!

    (Too bad it’s not fully open source though…)

  11. Victor Bogado says:

    I loved the idea and would have tried, but it seems that the most important piece is closed source. :-(

  12. psilva says:

    jdub: I was talking specifically about the daemon. Here’s the traceback:

    psilva@psilva:~$ .dropbox-dist/dropboxd
    Traceback (most recent call last):
    File “”, line 6, in
    File “__main__.py”, line 105, in
    File “__main__dropbox__.py”, line 174, in
    File “__main__dropbox__.py”, line 169, in main_startup
    File “arch/linux/startup.py”, line 129, in main_thread_loop
    File “ui/wx_core.py”, line 4, in
    File “wx/__init__.py”, line 45, in
    File “wx/_core.py”, line 4, in
    File “wx/_core_.py”, line 14, in
    ImportError: libgtk-x11-2.0.so.0: cannot open shared object file: No such file or directory
    Exception in thread RTRACE (most likely raised during interpreter shutdown):
    Traceback (most recent call last):
    File “threading.py”, line 486, in __bootstrap_inner
    File “common_util/trace.py”, line 486, in run
    File “common_util/trace.py”, line 412, in rtrace_thread_func
    : ‘NoneType’ object is not callable
    Unhandled exception in thread started by
    Error in sys.excepthook:

    Original exception was:
    Exception in thread CONTROL (most likely raised during interpreter shutdown):
    Traceback (most recent call last):
    File “threading.py”, line 486, in __bootstrap_inner
    File “common_util/trace.py”, line 31, in intwatched
    : ‘NoneType’ object is not callable
    Unhandled exception in thread started by
    Error in sys.excepthook:

    Original exception was:

    Which is funny, since, as you said, ldd doesn’t show any linking to libgtk-x11.

  13. jdub says:

    @psilva: Did you configure it locally (with GUI) before copying it up and trying to run dropboxd? Looks like it’s trying to start up its GUI first-run configuration stuff.

  14. psilva says:

    jdub: Yeah, I ran it first locally, same architecture, configured it properly, checked that it worked, then scp’ed .dropbox* to my headless box, ran it, and got that trace. So it’s definitely weird. I’m thinking that maybe they changed the lib deps in their last dropboxd revision, which I downloaded. When did you set up yours? I just tried this yesterday.

  15. jdub says:

    @psilva: About half an hour before I posted… Check the output of ldd on your version of dropboxd — I doubt they’ve changed the direct library dependencies, but for whatever reason, yours is attempting to dynamically load the GUI layer.

  16. Filip says:

    “their GNOME-like “Just Works” approach”, ahahahah, good one.

  17. Frank says:

    What about privacy? You are putting your private files on a remote server? Or am I missing something?

    BTW: OpenID with meinguter.name does not seem to work here ;(

  18. jdub says:

    @Frank: I choose which files go up there, and it means I can more easily share stuff with other Dropbox users.

  19. Frank says:

    Ok I understand. It would be great to be able to install DropBox onto own servers. Any idea if the DropBox guys are planning that for the future?

    “We were unable to authenticate your claimed OpenID, however you can continue to post your comment without OpenID” any idea about that? OpenID provider is https://meinguter.name/

  20. Gaspa says:

    bah.
    It gives to me a bad feeling, at the head of the document they stated that’s open,free, and blablabla…
    and at the bottom, the sentence is corrected by “dropboxd is a closed-source daemon”…
    So what’s open? the interface? uh cool…

    And moreover, why should I write _opensource_ interfaces (kde,terminal,and so on) based on a _closedsource_ daemon?

    /me’s searching an opensource alternative.

  21. Cocoroto says:

    Jeez, the servicelooks good but I value my privacy more than its usefulness. WhyTF do they want to have access to your files? Accessing your public folder is not enough for them? Their privacy policy is the worst I have seen for a long time. It should not be used for work files at all.

  22. Cocoroto says:

    Er… obviously their privacy policy plays with you when they say: “BY UTILIZING THE SITE, CONTENT, FILES AND/OR SERVICES, YOU CONSENT TO ALLOW DROPBOX TO ACCESS YOUR COMPUTER TO ACCESS ANY FILES THAT ARE PLACED IN THE ‘MY DROPBOX,’ ‘DROPBOX’ FOLDERS, AND/OR ANY OTHER FOLDER WHICH YOU CHOOSE TO LINK TO DROPBOX.” It is not a joke, they are mixing Dropbox (as a service) with Dropbox as a company, throughout all their legal stuff. WTF… (sorry for ranting here, but I think other users should be concerned, and I almost rushed into using their service after reading your posts).
    Cheers!

  23. =!F0AA.4219.B594.355F says:

    Beware of not having your Dropbox in sync between systems when doing this without changing the hostname first… It will delete everything :>

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Comments will be sent to the moderation queue.