Git is the largest revision control and collaboration system available for development. Git has replaced larger, more costly systems across the globe and has become the de facto standard tool for coders.

But for some companies, small or large, housing code on a third-party cloud storage service might be a no-go. If that’s the case, the only solution is in-house. For some, that means setting up a server and running a Git repository for the housing of proprietary or open source code. However, for some companies (especially those on the smaller side), having the resources (and time) to set up a server dedicated for Git storage may not be an option. That being the case, what do you do?

Fortunately there’s a solution, one that’s incredibly simple. Said solution is Gitstorage, an easy-to-deploy appliance dedicated to housing your Git repositories. Each appliance is a single board computer (based on the Raspberry Pi). The device is smaller than a credit card, has no moving parts, generates no heat, is wall-mountable, is powered by a standard USB (or included mini USB), and offers a standard ethernet connection. The full specs are:

  • Dimensions – 3.44″ × 2.93″ × 1.28″ (87.4 mm × 74.3 mm × 32.5 mm)
  • Weight – 2.08 oz (59 g)
  • Wall mount – 4 screws
  • Ambient temperature – 32 °F – 104 °F (0 °C – 40 °C)
  • Memory capacity – 16 GB (GS-16) 64 GB (GS-64)
  • Storage for git repos – 10.6 GB (GS-16) 58.6 GB (GS-64)
  • Certifications – CE, FCC
  • Processor – H2 quadcore Cortex-A7 with 512 MB RAM
  • Power supply – Standard USB
  • Connectors – 1 × 10/100 MBit/s Ethernet, USB-A, Power (USB Micro-B)
  • Web interface languages – English (US), French, German
  • Price (MSRP) – $399 USD (GS-16) $499 USD (GS-64)

But how well does the Gitstorage appliance work? Is it really that easy to deploy? Let’s deploy one and find out.

SEE: How to build a successful developer career (free PDF) (TechRepublic)


The setup of the Gitstorage is remarkably simple:

  1. Unpack the box.
  2. Plug the device into your network (you’ll need a Cat5 cable).
  3. Connect the power cable.
  4. Wait 60 seconds.

At this point, things get a bit complicated. According to the directions, you should then be able to point a browser to and the Gitstorage interface will appear. I tried that on both a Linux desktop and a MacBook Pro. Neither machine could find the device. In fact, if I attempted to ping the address, I received a WAN IP address that didn’t respond. The only way I was able to reach my Gitstorage device was to log into my router, look for gitstorage among the connected devices, and find out the IP address of the device. Once I had that IP address, I could point my browser to that address and login with user root and password password. At that point, the setup wizard is presented (Figure A).

Figure A

The steps to the setup wizard are:

  • Language selection
  • EULA
  • Name the device
  • Device root CA creation or import (optional)
  • Encryption password
  • Admin setup (email/password)
  • Dropbox setup (optional)
  • Email setup (optional)

Once I completed the wizard, trouble in paradise arose. During the first round, the final screen was blank. After a reboot, I had to walk through the wizard again. This time around the final screen appeared, the All set link didn’t work. So I returned to the IP address and was presented with a login screen. I attempted to use the admin email/password I’d setup during the wizard, but that wouldn’t work. I then attempted root/password … again to no avail. After another reboot (unplug, wait a few seconds, plug back in), I was (once again) sent to the setup wizard (only this time, half-way through). Once again, the final screen links wouldn’t work.

Fortunately, I was sent two devices, so I unplugged the first (a GS-16) and plugged in the second (a GS-64). This time around, everything went smoothly and I was able to log into the Gitstorage interface (Figure B).

Figure B


From the main interface, your first task is to create users. Click on the Users button and add the necessary information for a new user (Figure C).

Figure C

You can now create a new repository. However, new repositories can only be created by the Root user. This is a problem. Why? Remember that admin user created during setup? I was unable to login with that user. So the only user with root privileges is root and the password is, well, not even remotely secure. Changing that password isn’t nearly as intuitive as you might think (at least not from an admin perspective). Instead of the root user password change option being in the Settings sections, you must click on the Root user button in the upper right corner. From the popup menu (Figure D), click Account.

Figure D

In the resulting window, click Password. When prompted, type (and verify) the new password for the root user. Log out and log back in with your new credentials. Now click on the Repositories entry in the left navigation, click the Create button, give the repository a name, and click Submit. Once you’ve created the repository, click on the Settings entry for it and then click the Add user button, so you can add users to the repository (otherwise the root user will be the only one with access).

SEE: 10 Terminal commands to speed your work on the Mac (free PDF) (TechRepublic)

Smooth sailing

And that’s pretty much all there is to setting up a Gitstorage device. Although I did have one hiccup with the first appliance, setting up the second resulted in some pretty smooth sailing for using an in-house Git repository. If you’re looking for an incredibly simple solution for code collaboration (and you don’t have the resources to setup your own Git server), I highly recommend a Gitstorage device. It’s a simple, small, and elegant solution that should serve you well.