Traveling With Seafile and Limitless, Self-Hosted Cloud Storage

| Comments

I just got back from a long trip back home to visit and help out my parents. Having oodles of cloud storage sure made the trip easier.

When I used Dropbox, I had a very limited amount of space, so I was very selective about what I chose to keep synced up. This meant that I had to keep a lot of things manually synced up between my laptop and desktop, or else I might be missing some important data while I’m out of town. I could have easily paid for more Dropbox space, but I didn’t exactly trust Dropbox with all of my data anyway, so I would still end up having the same problem.

Self-hosted Seafile to the rescue!

Hosting my own Seafile server gives me access to virtually unlimited cloud storage space, and Seafile’s client-side encryption means that I can be confident that my data is safe. I can upload as much as I like, and I don’t have to be nearly as careful about choosing which files I can safely upload.

One of the things I never uploaded to Dropbox was my configuration files. Specifically and most importantly, my shell configuration. Some people store their dot files in public Github repositories, but I’m a little too paranoid for that. I always worry that I’d be the guy who accidentally drops a hard-coded password somewhere, and it will be sitting there in my revision history for eternity for the entire world to see.

Being surprised by configuration synchronization magic

Way back in January, while out of town on my laptop, I set up some functions to make my shell notify me whenever a long running process completes. My laptop yells “bazinga” whenever a long running job completes. It has been doing this for months, and I haven’t thought much of it, but I do like that it calls my attention when it’s needed.

When I got home last month, and I started using my desktop computer once again. It also now yells “bazinga” when a job completes. It did this all by itself without any intervention from me. That by itself is interesting. What’s more interesting to me is that I didn’t notice it for days. I forgot that this was something I set up after I left, and I’m surprised how long it took me to realize what happened.

I made a terrible mistake, and a cautionary tale

I made a terrible mistake. Last year, soon after I set up Seafile, I decided that it would be best to clean up my photo collection before syncing them up to the server. Shotwell can clean up duplicate copies of photos, and this feature worked brilliantly. I was safe, and I made a backup copy of the entire photo collection before initiating this process.

While I was on my laptop, though, I noticed all sorts of pictures that were completely missing. These were important photos, and I their absence almost hindered our “Great Bar Photo Caper.”

I’m still not sure what exactly happened. My Shotwell database here on my desktop has tons of photos from my backup copy in it. I may not know what happened, but at least I know how to fix it.

The lesson here is that you should make sure that you are syncing and backing up what you think you are.

Steam’s cloud isn’t as thorough as I hoped

I never think twice about my save games and setting for Steam games with cloud sync enabled. Every time I finish playing Team Fortress 2, it tells me my data is syncing, and I feel reassured that my data is safe. I recently learned that my Team Fortress 2 settings aren’t quite as safe as I thought they were.

Your items, weapons, and load outs are all synced just fine, but it is very selective about which configuration files are synced. I wanted to play a quick round on my laptop, but none of my custom key bindings were there. I felt especially lost without my medic bindings.

One of the first things I did when I got home was move my Team Fortress 2 config directory into a Seafile library. I don’t ever want to have this problem again. My medic.cfg, soldier.cfg, and demoman.cfg should be with me wherever I go from now on.

There’s another lesson to be learned here. Don’t blindly assume that someone else is doing the job you expect it to.

Having safe, nearly unlimited cloud storage space is very convenient

Keeping my important data and applications in sync between my desktop and my laptop was always difficult. It seemed like I was always missing something important every time I traveled. I ended up solving that problem back in 2006 by replacing them both with a bigger, faster laptop. This worked great. If you only have one computer, all your data is always with you.

I bought a new desktop computer last year, so I don’t have that same convenient guaranty anymore. I was away from home for over three months this year, and I still managed to have almost every single file I could have needed right there with me.

The best part is everything I worked on while I traveling showed up on my desktop computer just a few minutes after I powered it up. Ten years ago, I would have been booting my laptop back up every few days looking for files that I forgot to copy.

I won’t ever have to do that again, since all of my data is safely encrypted and stored on my Seafile server.