public
Description: A distributed, git-powered wiki with file uploads and other goodies.
Homepage: http://satellite-wiki.com/
Clone URL: git://github.com/kenpratt/satellite.git
name age message
file .gitignore Tue Aug 12 20:33:06 -0700 2008 Refactored from custom logger to standard ruby ... [kenpratt]
file .gitmodules Sun Sep 14 16:38:22 -0700 2008 Added ruby-git submodule back in. [kenpratt]
file MIT-LICENSE Sun Jan 27 00:00:33 -0800 2008 Reorganized the codebase and added a licence, r... [kenpratt]
file README.rdoc Thu Oct 02 11:24:49 -0700 2008 Fixing readme formatting. [kenpratt]
file Rakefile Wed Aug 27 13:14:34 -0700 2008 Huge refactor to dependency injection. [kenpratt]
file TODO.rdoc Thu Oct 02 11:21:59 -0700 2008 Renamed readme and todo to .rdoc to make github... [kenpratt]
directory bin/ Wed Aug 27 18:30:21 -0700 2008 Fixed profiler. [kenpratt]
directory conf/ Wed Aug 27 13:14:34 -0700 2008 Huge refactor to dependency injection. [kenpratt]
directory lib/ Sun Sep 14 17:45:59 -0700 2008 Added basic HTTP auth. [kenpratt]
directory static/ Mon Sep 15 00:07:02 -0700 2008 Just making the background prettier. [kenpratt]
directory templates/ Sun Sep 14 16:06:34 -0700 2008 Added sputnik logo/favicon. [kenpratt]
directory test/ Wed Aug 27 22:40:24 -0700 2008 Fixing up tests. [kenpratt]
directory vendor/ Sun Sep 14 16:38:22 -0700 2008 Added ruby-git submodule back in. [kenpratt]
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