Version 2 (modified by dozzie, 8 years ago) (diff)


DashWiki setup guide

DashWiki in principle is a typical Django web application, so pretty much any generic installation guide will do (e.g. official one).

There are, however, two differences from the rest of applications:

  • DashWiki uses for installation-specific settings. You still can edit main settings file (dashwiki/, but optional local one is more elegant solution.
  • DashWiki needs few things in database already. For this to happen, script was created. It replaces syncdb command (but since syncdb is designed to be no-harm, it can be called anyway).

Short guide for WSGI

  1. Install required Python modules:
    • Django
    • YAML (optional if your configs are going to be written in JSON)
    • pysqlite (or other Django-supported database module); see list of supported modules for details
  2. Install Apache and required modules:
    • mod_wsgi
  3. Download DashWiki's source code:
    git clone \
      --branch production \ \
  4. Put the code to a known place, e.g. /srv/dashwiki
  5. Configure Apache
  6. Create in source directory (see first section of ./ for reference).
    Variables you could want to override:
    • DASHWIKI_LOGGING_CONFIG -- file (JSON or YAML, detected by extension) that configures logging subsystem
    • DASHWIKI_PLUGINS_DIR -- list of directories that will contain protocol plugins
      • defaults to single-element list of $source/plugins
    • DASHWIKI_CACHE_ROOT -- directory for storing files fetched from remote or otherwise generated by DashWiki (mainly: for graphs)
      • defaults to $source/cache
    • DATABASES -- database configuration (see Django documentation for details)
      • default value:
        DATABASES = {
          'default': {
            'ENGINE': 'django.db.backends.sqlite3',
            'NAME': '$source/db/dashwiki.db',
    • TIME_ZONE (defaults to Europe/Warsaw)
  7. If your database choice is not SQLite, create database user and database itself. (SQLite will create database file automatically.)
  8. Ensure that Apache can write to following directories:
    • anything mentioned in DASHWIKI_LOGGING_CONFIG
    • directory for database file (if the engine was SQLite)
  9. Run ./ in source directory.
  10. Create some users:
    ./ useradd $username
    ./ userpw $username