debops.dokuwiki default variables

Basic configuration options

dokuwiki__main_domain

Default domain which will be used to host the "main" wiki instance.

dokuwiki__main_domain: 'wiki.{{ ansible_domain }}'
dokuwiki__domains

List of domains on which DokuWiki is configured in nginx.

dokuwiki__domains: '{{ [ dokuwiki__main_domain ] +
                       dokuwiki__farm_animals|d([]) }}'
dokuwiki__nginx_auth_realm

Basic Auth realm displayed in the login dialog.

dokuwiki__nginx_auth_realm: 'Wiki access is restricted'
dokuwiki__nginx_access_policy

Access policy defined using debops.nginx role, applied to this DokuWiki.

dokuwiki__nginx_access_policy: ''
dokuwiki__nginx_filename

Name of the nginx configuration file for DokuWiki website, without the .conf extension.

dokuwiki__nginx_filename: 'debops.dokuwiki'

User, group, app directories

dokuwiki__user

DokuWiki system user account.

dokuwiki__user: 'dokuwiki'
dokuwiki__group

DokuWiki system user group.

dokuwiki__group: 'dokuwiki'
dokuwiki__home

DokuWiki home directory.

dokuwiki__home: '{{ (ansible_local.nginx.www
                     if (ansible_local|d() and ansible_local.nginx|d() and
                         ansible_local.nginx.www|d())
                     else "/srv/www") + "/" + dokuwiki__user }}'
dokuwiki__src

Base path for git bare repository with DokuWiki source.

dokuwiki__src: '{{ ansible_local.root.src + "/" + dokuwiki__user }}'
dokuwiki__www

Base web root directory for DokuWiki website.

dokuwiki__www: '{{ (ansible_local.nginx.www
                    if (ansible_local|d() and ansible_local.nginx|d() and
                        ansible_local.nginx.www|d())
                    else "/srv/www") + "/" + dokuwiki__user }}'
dokuwiki__webserver_user

DokuWiki webserver user (needs read-only access to the website code).

dokuwiki__webserver_user: '{{ ansible_local.nginx.user
                              if (ansible_local|d() and
                                  ansible_local.nginx|d() and
                                  ansible_local.nginx.user|d())
                              else "www-data" }}'

Application sources

dokuwiki__git_repo

DokuWiki source repository.

dokuwiki__git_repo: 'https://github.com/splitbrain/dokuwiki.git'
dokuwiki__git_dest

DokuWiki source directory on the host.

dokuwiki__git_dest: '{{ dokuwiki__src + "/" + dokuwiki__git_repo.split("://")[1] }}'
dokuwiki__git_version

DokuWiki git branch to deploy.

dokuwiki__git_version: 'stable'
dokuwiki__git_checkout

Default path where DokuWiki source files will be deployed.

dokuwiki__git_checkout: '{{ dokuwiki__www + "/sites/" + dokuwiki__domains[0] + "/public" }}'

Application plugins, themes, system packages

dokuwiki__base_packages

List of base APT packages to install for DokuWiki support.

dokuwiki__base_packages: [ 'python-docutils' ]
dokuwiki__packages

List of additional APT packages to install for DokuWiki support.

dokuwiki__packages: []
dokuwiki__plugins_enabled

Enable or disable installation of DokuWiki plugins and templates.

dokuwiki__plugins_enabled: True
dokuwiki__plugins

List of custom DokuWiki plugins to install.

dokuwiki__plugins: []
dokuwiki__default_plugins

List of default DokuWiki plugins to install.

dokuwiki__default_plugins: '{{ dokuwiki__plugins_editor +
                               dokuwiki__plugins_syntax +
                               dokuwiki__plugins_git }}'
dokuwiki__plugins_editor

DokuWiki plugins related to the text editor.

dokuwiki__plugins_editor:

  - repo: 'https://github.com/cosmocode/edittable.git'
    dest: 'edittable'

  - repo: 'https://github.com/albertgasset/dokuwiki-plugin-codemirror'
    dest: 'codemirror'
dokuwiki__plugins_syntax

DokuWiki plugins that provide additional wiki syntax.

dokuwiki__plugins_syntax:

  - repo: 'https://github.com/cosmocode/dig.git'
    dest: 'dig'

  - repo: 'https://github.com/grantemsley/dokuwiki-plugin-patchpanel.git'
    dest: 'patchpanel'

  - repo: 'https://github.com/ashrafhasson/dokuwiki-plugin-advrack.git'
    dest: 'advrack'

  - repo: 'https://github.com/glensc/dokuwiki-plugin-pageredirect.git'
    dest: 'pageredirect'

  - repo: 'https://github.com/selfthinker/dokuwiki_plugin_wrap'
    dest: 'wrap'

  - repo: 'https://github.com/splitbrain/dokuwiki-plugin-graphviz.git'
    dest: 'graphviz'

  - repo: 'https://github.com/leibler/dokuwiki-plugin-todo.git'
    dest: 'todo'

  - repo: 'https://github.com/splitbrain/dokuwiki-plugin-gallery'
    dest: 'gallery'

  - repo: 'https://github.com/dokufreaks/plugin-tag'
    dest: 'tag'

  - repo: 'https://github.com/dokufreaks/plugin-pagelist'
    dest: 'pagelist'

  - repo: 'https://github.com/tgarc/dokuwiki-plugin-rst'
    dest: 'rst'
dokuwiki__plugins_git

DokuWiki plugins related to git support.

dokuwiki__plugins_git:

  - repo: 'https://github.com/kossmac/dokuwiki-plugin-gitlab'
    dest: 'gitlab'

  - repo: 'https://github.com/ZJ/ghissues.git'
    dest: 'ghissues'

  - repo: 'https://github.com/splitbrain/dokuwiki-plugin-gh.git'
    dest: 'gh'
dokuwiki__templates

List of DokuWiki templates.

dokuwiki__templates: []
dokuwiki__default_templates

List of default DokuWiki templates.

dokuwiki__default_templates: '{{ dokuwiki__templates_vector }}'
dokuwiki__templates_vector

The vector DokuWiki template.

dokuwiki__templates_vector:

  - repo: 'https://github.com/arsava/dokuwiki-template-vector'
    dest: 'vector'

DokuWiki farm

dokuwiki__farm

Enable or disable DokuWiki farms (the vhost variant).

dokuwiki__farm: True
dokuwiki__farm_path

Path to animals on DokuWiki farm.

dokuwiki__farm_path: '{{ dokuwiki__www + "/farm" }}'
dokuwiki__farm_animals

List of FQDN domains which will define "farm animals".

dokuwiki__farm_animals: []

Other variables

dokuwiki__max_file_size

Maximum upload size, in MB.

dokuwiki__max_file_size: '30'

Configuration for other Ansible roles

dokuwiki__php__dependent_packages

List of PHP packages to install using debops.php role.

dokuwiki__php__dependent_packages:

  - [ 'gmp', 'curl', 'mcrypt', 'php-net-ipv4', 'ldap' ]
dokuwiki__php__dependent_pools

Configuration of the DokuWiki PHP-FPM pool managed by the debops.php role.

dokuwiki__php__dependent_pools:

  - name: 'dokuwiki'
    user: '{{ dokuwiki__user }}'
    group: '{{ dokuwiki__group }}'

    php_admin_values:
      post_max_size:       '{{ dokuwiki__max_file_size }}M'
      upload_max_filesize: '{{ dokuwiki__max_file_size }}M'
dokuwiki__nginx__dependent_upstreams

Configuration of the DokuWiki nginx upstream, used by debops.nginx Ansible role.

dokuwiki__nginx__dependent_upstreams:

  - name: 'php_dokuwiki'
    type: 'php'
    php_pool: 'dokuwiki'
dokuwiki__nginx__dependent_servers

Configuration of the DokuWiki nginx server, used by debops.nginx Ansible role.

dokuwiki__nginx__dependent_servers:

  - name: '{{ dokuwiki__domains }}'
    filename: '{{ dokuwiki__nginx_filename }}'
    by_role: 'debops.dokuwiki'
    type: 'php'
    root: '{{ dokuwiki__git_checkout }}'
    access_policy: '{{ dokuwiki__nginx_access_policy }}'
    auth_basic_realm: '{{ dokuwiki__nginx_auth_realm }}'
    index: 'index.html index.htm index.php doku.php'

    options: |
      autoindex off;
      client_max_body_size {{ dokuwiki__max_file_size }}M;
      client_body_buffer_size 128k;

    location:
      '/': |
        try_files $uri $uri/ @dokuwiki;

      '@dokuwiki': |
        rewrite ^/_media/(.*)           /lib/exe/fetch.php?media=$1   last;
        rewrite ^/_detail/(.*)          /lib/exe/detail.php?media=$1  last;
        rewrite ^/_export/([^/]+)/(.*)  /doku.php?do=export_$1&id=$2  last;
        rewrite ^/(.*)                  /doku.php?id=$1               last;

      '~ ^/lib.*\.(gif|png|ico|jpg)$': |
        expires 31536000s;
        add_header Pragma "public";
        add_header Cache-Control "max-age=31536000, public, must-revalidate, proxy-revalidate";
        log_not_found off;

      '~ /(data|conf|bin|inc|install.php)/': |
        deny all;

    php_upstream: 'php_dokuwiki'
    php_options: |
      fastcgi_intercept_errors        on;
      fastcgi_ignore_client_abort     off;
      fastcgi_connect_timeout         60;
      fastcgi_send_timeout            180;
      fastcgi_read_timeout            180;
      fastcgi_buffer_size             128k;
      fastcgi_buffers               4 256k;
      fastcgi_busy_buffers_size       256k;
      fastcgi_temp_file_write_size    256k;