Skip to content

services.dokuwiki.sites

Specification of one or more DokuWiki sites to serve Type: attribute set of (submodule)

Default

{ }

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/web-apps/dokuwiki.nix

services.dokuwiki.sites.<name>.acl

Access Control Lists: see https://www.dokuwiki.org/acl Mutually exclusive with services.dokuwiki.aclFile Set this to a value other than null to take precedence over aclFile option.

Warning: Consider using aclFile instead if you do not want to store the ACL in the world-readable Nix store.

Type: null or (list of (submodule))

Default

null

Example

[{page = "start";actor = "@external";level = "read";}{page = "*";actor = "@users";level = "upload";}]

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/web-apps/dokuwiki.nix

services.dokuwiki.sites.<name>.acl.*.actor

User or group to restrict Type: string

Example

"@external"

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/web-apps/dokuwiki.nix

services.dokuwiki.sites.<name>.acl.*.level

Permission level to restrict the actor(s) to. See https://www.dokuwiki.org/acl#background_info for explanation

Type: one of 4, 16, 2, 0, 1, 8, "create", "delete", "edit", "none", "read", "upload"

Example

"read"

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/web-apps/dokuwiki.nix

services.dokuwiki.sites.<name>.acl.*.page

Page or namespace to restrict Type: string

Example

"start"

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/web-apps/dokuwiki.nix

services.dokuwiki.sites.<name>.aclFile

Location of the dokuwiki acl rules. Mutually exclusive with services.dokuwiki.acl Mutually exclusive with services.dokuwiki.acl which is preferred. Consult documentation https://www.dokuwiki.org/acl for further instructions. Example: https://github.com/splitbrain/dokuwiki/blob/master/conf/acl.auth.php.dist

Type: null or string

Default

"/var/lib/dokuwiki/‹name›/acl.auth.php"

Example

"/var/lib/dokuwiki/‹name›/acl.auth.php"

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/web-apps/dokuwiki.nix

services.dokuwiki.sites.<name>.enable

Whether to enable DokuWiki web application. Type: boolean

Default

false

Example

true

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/web-apps/dokuwiki.nix

services.dokuwiki.sites.<name>.mergedConfig

Read only representation of the final configuration.

Type: unspecified value

Default

{useacl = true;}

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/web-apps/dokuwiki.nix

services.dokuwiki.sites.<name>.package

The dokuwiki package to use. Type: package

Default

pkgs.dokuwiki

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/web-apps/dokuwiki.nix

services.dokuwiki.sites.<name>.phpOptions

Options for PHP's php.ini file for this dokuwiki site.

Type: attribute set of string

Default

{ }

Example

{"opcache.interned_strings_buffer" = "8";"opcache.max_accelerated_files" = "10000";"opcache.memory_consumption" = "128";"opcache.revalidate_freq" = "15";"opcache.fast_shutdown" = "1";}

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/web-apps/dokuwiki.nix

services.dokuwiki.sites.<name>.phpPackage

The php package to use. Type: package

Default

pkgs.php81

Example

php82

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/web-apps/dokuwiki.nix

services.dokuwiki.sites.<name>.plugins

List of path(s) to respective plugin(s) which are copied from the 'plugin' directory.

::: {.note} These plugins need to be packaged before use, see example. :::

Type: list of path

Default

[ ]

Example

`#!nix let plugin-icalevents = pkgs.stdenv.mkDerivation rec { name = "icalevents"; version = "2017-06-16"; src = pkgs.fetchzip { stripRoot = false; url = "https://github.com/real-or-random/dokuwiki-plugin-icalevents/releases/download/${version}/dokuwiki-plugin-icalevents-${version}.zip"; hash = "sha256-IPs4+qgEfe8AAWevbcCM9PnyI0uoyamtWeg4rEb+9Wc="; }; installPhase = "mkdir -p $out; cp -R * $out/"; };

And then pass this theme to the plugin list like this:

in [ plugin-icalevents ] `

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/web-apps/dokuwiki.nix

services.dokuwiki.sites.<name>.pluginsConfig

List of the dokuwiki (un)loaded plugins.

Type: attribute set of boolean

Default

{authad = false;authldap = false;authmysql = false;authpgsql = false;}

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/web-apps/dokuwiki.nix

services.dokuwiki.sites.<name>.poolConfig

Options for the DokuWiki PHP pool. See the documentation on php-fpm.conf for details on configuration directives.

Type: attribute set of (string or signed integer or boolean)

Default

{pm = "dynamic";"pm.max_children" = 32;"pm.max_requests" = 500;"pm.max_spare_servers" = 4;"pm.min_spare_servers" = 2;"pm.start_servers" = 2;}

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/web-apps/dokuwiki.nix

services.dokuwiki.sites.<name>.settings

Structural DokuWiki configuration. Refer to https://www.dokuwiki.org/config for details and supported values. Settings can either be directly set from nix, loaded from a file using ._file or obtained from any PHP function calls using ._raw.

Type: attribute set of anything

Default

{superuser = "admin";useacl = true;}

Example

{title = "My Wiki";userewrite = 1;disableactions = [ "register" ]; # Will be concatenated with commasplugin.smtp = {smtp_pass._file = "/var/run/secrets/dokuwiki/smtp_pass";smtp_user._raw = "getenv('DOKUWIKI_SMTP_USER')";};}

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/web-apps/dokuwiki.nix

services.dokuwiki.sites.<name>.stateDir

Location of the DokuWiki state directory. Type: path

Default

"/var/lib/dokuwiki/‹name›/data"

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/web-apps/dokuwiki.nix

services.dokuwiki.sites.<name>.templates

List of path(s) to respective template(s) which are copied from the 'tpl' directory.

::: {.note} These templates need to be packaged before use, see example. :::

Type: list of path

Default

[ ]

Example

`#!nix let template-bootstrap3 = pkgs.stdenv.mkDerivation rec { name = "bootstrap3"; version = "2022-07-27"; src = pkgs.fetchFromGitHub { owner = "giterlizzi"; repo = "dokuwiki-template-bootstrap3"; rev = "v${version}"; hash = "sha256-B3Yd4lxdwqfCnfmZdp+i/Mzwn/aEuZ0ovagDxuR6lxo="; }; installPhase = "mkdir -p $out; cp -R * $out/"; };

And then pass this theme to the template list like this:

in [ template-bootstrap3 ] `

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/web-apps/dokuwiki.nix

services.dokuwiki.sites.<name>.usersFile

Location of the dokuwiki users file. List of users. Format:

login:passwordhash:Real Name:email:groups,comma,separated

Create passwordHash easily by using:

mkpasswd -5 password `pwgen 8 1`

Example: https://github.com/splitbrain/dokuwiki/blob/master/conf/users.auth.php.dist

Type: null or string

Default

"/var/lib/dokuwiki/‹name›/users.auth.php"

Example

"/var/lib/dokuwiki/‹name›/users.auth.php"

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/web-apps/dokuwiki.nix

services.dokuwiki.webserver

Whether to use nginx or caddy for virtual host management.

Further nginx configuration can be done by adapting services.nginx.virtualHosts.<name>. See for further information.

Further caddy configuration can be done by adapting services.caddy.virtualHosts.<name>. See for further information.

Type: one of "nginx", "caddy"

Default

"nginx"

Declared by: https://github.com/nixos/nixpkgs/blob/master/nixos/modules/services/web-apps/dokuwiki.nix