kenpratt / satellite

A distributed, git-powered wiki with file uploads and other goodies.

This URL has Read+Write access

kenpratt (author)
Thu Oct 02 11:24:49 -0700 2008
commit  384c924a6c43a9674e3a857785ef6a58d4b4ce2b
tree    82fd19b568935d6df3d15ecf32e15c4d9f152942
parent  5a9f7ac70bbfac294f827a20cf964124790097e8
README.rdoc

Satellite

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.

Features

  • 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

Installation

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