About Download Docs Changes

WSGI setup

If you want to make Hatta publicly available on your server, it's best to use the efficient WSGI setup. See the sample hatta.wsgi file.

Saving memory

If you are running multiple wikis in a shared hosting, you might want to save some memory (and thus cut costs) by only running a single wsgi process, but have it dispatch to different wikis based on the domain name. You can do that with a simple wsgi middleware:

import hatta

config1 = hatta.WikiConfig(
    pages_path='/path/to/pages/', # XXX Edit this!
    cache_path='/path/to/cache/', # XXX Edit this!
)
wiki1 = hatta.Wiki(config1)

config2 = hatta.WikiConfig(
    pages_path='/path/to/pages/', # XXX Edit this!
    cache_path='/path/to/cache/', # XXX Edit this!
)
wiki2 = hatta.Wiki(config2)

apps = {
    'wiki1.example.com': wiki1.application,
    'wiki2.example.com': wiki2.application,
}
default_host = 'wiki1.example.com'

def application(env, start):
    host = env.get('HTTP_HOST', default_host)
    app = apps.get(host, apps[default_host])
    return app(env, start)

Note, that you can run any WSGI applications this way – not just Hatta..