Open-source dropbox alternative powered by git. Collaborate on files and tasks without any extra hassle. gitdocs will automatically keep everyone's repos in sync by pushing and pulling changes. This allows any git repo to be used as a collaborative task list, file share, or wiki for a team. Supports a web front-end allowing each repo to be accessed through your browser.
Note: Gitdocs has been tested on multiple unix systems including Mac OS X and Ubuntu. Windows support is half-baked but we plan to tackle that shortly in an upcoming release.
Why use gitdocs for your file and doc sharing needs?
The best part is that getting started using this project is quick and simple.
Gitdocs monitors any number of directories for changes and keeps them automatically synced. You can either add existing git directories to be watched or have gitdocs pull down a repository for you.
There are plenty of great git hosting providers to safely store your data and you can trust the data is stored securely. If you want a private repo to use with gitdocs, we recommend you check out BitBucket which provides free private git repos after registration.
To get started with gitdocs and a secure private bitbucket repo:
gem install gitdocs
gitdocs start
gitdocs create ~/Documents/gitdocs [email protected]:username/docs.git
There you go! Now just start adding and editing files within the directory and they will be automatically synchronized across all gitdocs-enabled clients.
Requires ruby1.9+ and rubygems. Install as a gem:
gem install gitdocs
If you have Growl installed on Max OSX, you'll probably want to run:
brew install caskroom/cask/brew-cask
brew install growlnotify
to enable Growl notification support.
You need to start gitdocs in order for the monitoring to work:
gitdocs start
If the start command fails, you can check the logs in ~/.gitdocs/log
or run again in the foreground and increase logging to more easily see what is going wrong:
gitdocs start --foreground --verbose
Once gitdocs has been started and is monitoring the correct directories, simply start editing or adding files to your designated git repos and changes will be automatically pushed. Gitdocs can be easily stopped or restarted:
gitdocs stop
gitdocs restart
For an overview of gitdocs current status, run:
gitdocs status
You can add existing folders to watch:
gitdocs add my/path/to/watch
or instruct gitdocs to fetch a remote share and keep it synced with:
gitdocs create local/path/for/repo [email protected]:user/some/remote/repo.git
This will clone the remote repo and begin monitoring the local path. You can remove and clear monitored paths as well:
gitdocs rm my/path/to/watch
gitdocs clear
Gitdocs come with a handy web front-end that is available.
This browser front-end supports the following features:
To check out the front-end, simply visit http://127.0.0.1:8888
whenever gitdocs is running.
Proper conflict resolution is an important part of any good doc and file collaboration tool. In most cases, git does a good job of handling file merges for you. Still, what about cases where the conflict cannot be resolved automatically?
Don't worry, gitdocs makes handling this simple. In the event of a conflict, all the different versions of a document are stored in the repo tagged with the git sha for each committed version. The members of the repo can then compare all versions and resolve the conflict.
At Miso, our team actually uses gitdocs in conjunction with Dropbox. We find Dropbox is ideal for galleries, videos, and large binary files of all sorts. We use gitdocs for storing our actual "docs": Task lists, wiki pages, planning docs, collaborative designs, notes, guides, code snippets, etc.
You will find that the gitdocs browser front-end is well suited for this usage scenario since you can browse formatted wiki pages, view files with smart syntax highlighting, edit files with a rich text editor, search all your files, as well as view individual file revision histories.
Gitdocs is a young project but we have many plans for it including:
Gitdocs is now primarily being developed by Andrew Sullivan Cant. Gitdocs was created at Miso by Joshua Hull and Nathan Esquenazi.
We also have had several contributors:
Gitdocs is still a young project with a lot of opportunity for contributions. Patches welcome!
Gitdocs is a fresh project that we originally spiked on in a few days time. Our primary goals are to keep the code as simple as possible, but provide the features that makes Dropbox great. If you are interested in other Dropbox alternatives, be sure to checkout our notes below:
If any other open-source dropbox alternatives are available, we would love to hear about them so let us know!