Skip to content
benbjohnson edited this page Oct 12, 2010 · 3 revisions

Overview

Smeagol has some great features that let you customize and easily maintain your hosting of Gollum repositories.

Updating

There are two ways to keep your Smeagol site up-to-date: auto-updating and manual updating.

Auto-updating will automatically update your hosted repositories every twenty-four hours. You can find details on setting this up on the Command Line Interface page. Manual updates can be performed by navigating to http://hostname/update.

Manual updates can be authorized by passing a secret key to the update. You can specify the key for each repository within the configuration file or on the command line. See Command Line Interface details on setting up your secret key.

Smeagol calls git pull origin master whenever either type of update is performed so your repository will always be completely up to date.

Page Caching

Smeagol performs several time-intensive operations each time a page request is made: Parsing Markdown/Textile, syntax highlighting, etc. To speed up each request, page caching is turned on by default. The first time a page is rendered its output is saved to file based on the commit's SHA. The cache is then invalidated whenever the repository is updated. The cache is also cleared whenever the server is started.

If you are modifying the wiki settings or you are altering the page template, be sure to turn off page caching so you can see your changes. To further increase the performance of your Smeagol server, use an HTTP accelerator such as Varnish as a proxy and turn off Smeagol caching.

Versioning

Storing copies of your documentation for separate versions of your software can be a pain. However, Smeagol automatically versions your documentation when you use git tags. Git will use any tag that starts with a "v" preceded by a number so "v2" or "v1.0.0" or even "v0.2beta" tags will work.

To use versioning, first make sure you've tagged your wiki after each release of your software with the version number. To see a list of all your versions, visit the "/versions" page on your Smeagol server. To the end user, it will appear as if all your older versions are stored in folders by their version name.