A distributed, git-powered wiki with file uploads and other goodies.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



Satellite is a distributed wiki client. One or more Satellite clients can synchronize with the same master Satellite repository. The client(s) store content locally and mirror with the server when a network connection is available. So you can edit your Satellite wiki when offline, and your changes will be reflected in other Satellite clients when you re-connect to the internet.

Satellite uses Git (git.or.cz/) as its storage engine, and the master Satellite repository is nothing more then a regular Git repository. Satellite clients are written in Ruby (www.ruby-lang.org/) and utilize the Mongrel (mongrel.rubyforge.org/) web server, so each machine running a Satellite client requires Ruby and Mongrel to be installed, as well as a password-less method of committing to the master repository.


  • Usual wiki features such as creating, updating, renaming, deleting pages

  • Textile page formatting with a few bonuses

  • Automated synchronization & merging between Satellite clients

  • Hotkeys

  • File uploads

  • Code syntax higlighting


Master repository setup

Any old git repository will function nicely as the master Satellite repository.

IMPORTANT: It the master git repository and this application will not be running on the same computer, then you will need to set up a method of password-less git synchronization between the two boxes. Public & private SSH keys are probably the easiest way to do this. There are many articles detailing how to set up SSH keys. “OpenSSH key management” on IBM DeveloperWorks (www.ibm.com/developerworks/linux/library/l-keyc.html) is a good one.

Client setup

  • Install Git! (and Ruby)

  • Get Satellite source code

$ git clone git://github.com/kenpratt/satellite.git satellite
  • Install required Ruby libraries

$ sudo gem install rack mongrel metaid erubis RedCloth coderay
$ cd path/to/satellite
$ git submodule init
$ git submodule update
  • Configure application

$ cd path/to/satellite
edit conf/production.rb
  • Start local server

$ bin/start_satellite