Configuration File

Last updated 11 months ago

List of all configuration settings

The configuration file is automatically generated for you during the Configuration Wizard. You may however change settings or additional options not shown during the wizard, based on the list below.

The configuration file is located at the root, named config.yml. Environment variables can be used to set property values with the syntax $(ENV_VAR_NAME). Note that any changes will not be applied until Wiki.js is restarted.

General Site Settings

Property

Required

Description

Default Value

title

yes

The title of the website. Displayed in the navigation bar.

Wiki

host

yes

The full hostname of the site, as accessed by the user. Do not add a trailing slash. You must add the port if you expect users to access your wiki via a non-standard port.

http://localhost

port

no

The port on which the server should listen to. You can also use the environment variable PORT using $(PORT).

80

paths.repo

yes

The path (absolute or relative to server.js) to the folder where markdown content will be synchronized with the Git repository. Make sure this folder has the necessary write permissions. Note that this folder will contain all uploads (images, documents, etc.), so make sure to allow enough disk space depending on your usage.

./repo

paths.data

yes

The path (absolute or relative to server.js) to the folder where temporary data will be stored (cache, thumbnails, search indexes, etc.). Make sure this folder has the necessary write permissions.

./data

lang

yes

The default language to use for the site UI. Possible values: en, es, fr, ko, pt, ru or zh

en

Authentication

Wiki.js offers various authentication providers that you can enable. See the authentication guide to learn how to get the necessary info for each provider.

Property

Required

Description

Default Value

public

yes

Should the wiki be accessible publicly without a login. If set to true, creates a Guest user whose access can be configured in the Users Settings. Set to false to require all users to login before accessing any wiki content.

false

defaultReadAccess

yes

Should users that logged in using a social authentication provider have read-only access by default.

false

auth.local.enabled

no

Enable the local authentication provider.

true

auth.google.enabled

no

Enable the Google authentication provider

false

auth.google.clientId

no

Google client ID that uniquely identify your app.

auth.google.clientSecret

no

Google client secret for your app.

auth.microsoft.enabled

no

Enable the Microsoft account authentication provider.

false

auth.microsoft.clientId

no

Microsoft account client ID that uniquely identify your app.

auth.microsoft.clientSecret

no

Microsoft account client secret for your app.

auth.facebook.enabled

no

Enable the Facebook authentication provider.

false

auth.facebook.clientId

no

Facebook client ID that uniquely identify your app.

auth.facebook.clientSecret

no

Facebook client secret for your app.

auth.github.enabled

no

Enable the GitHub authentication provider.

false

auth.github.clientId

no

GitHub client ID that uniquely identify your app.

auth.github.clientSecret

no

GitHub client secret for your app.

auth.slack.enabled

no

Enable the Slack authentication provider.

false

auth.slack.clientId

no

Facebook Slack ID that uniquely identify your app.

auth.slack.clientSecret

no

Facebook Slack secret for your app.

auth.ldap.enabled

no

Enable the LDAP / Active Directory authentication provider.

false

auth.ldap.url

no

The URL of the LDAP / AD server.

auth.ldap.bindDn

no

The security object to use when connecting to the LDAP server, e.g. cn='root'

auth.ldap.bindCredentials

no

The password to use when connecting to the LDAP server.

auth.ldap.searchBase

no

The base LDAP directory where authentication should look for users.

auth.ldap.searchFilter

no

The expression to use when matching the username. Use {{username}} to specify the username provided by the user during login.

auth.ldap.tlsEnabled

no

Should TLS encryption be used when connecting to the LDAP server.

auth.ldap.tlsCertPath

no

The full local path to a certificate used to authenticate with the LDAP server.

auth.azure.enabled

no

Enable the Azure AD authentication provider.

false

auth.azure.clientId

no

Azure AD ID that uniquely identify your app.

auth.azure.clientSecret

no

Azure AD secret for your app.

auth.azure.resource

no

Resource GUID used during authentication.

00000002-0000-0000-c000-000000000000

auth.azure.tenant

no

Azure AD tenant hostname. Usually SOMETHING.onmicrosoft.com

sessionSecret

yes

A randomly generated string, used when encrypting sessions. 256-bit keys are usually a good choice. You can use this key generator to generate one.

Database

Property

Required

Description

Default Value

db

yes

The MongoDB-formatted connection string.

Git Repository

Wiki.js works with pretty much any Git repository. See the Git repository guide to learn how to get the necessary info from the most popular providers.

Property

Required

Description

Default Value

git.url

yes

The full URL to your Git repository where all content will be synced.

git.branch

yes

The branch of your Git repository to sync.

master

git.auth.type

yes

The type of authentication to use when connecting to your Git repository. Valid values: basic or ssh

basic

git.auth.username

no

The username to use when authenticating with your Git repository

git.auth.password

no

The password (basic), the OAuth token (oauth) or the private key passphrase (ssh) to use when authenticating with your Git repository

git.auth.privateKey

no

(ssh only) The full path to the private key (.pem) to use when authenticating with your Git repository

git.auth.sslVerify

no

(ssh only) Should the server check for a valid SSL certificate when connecting to your Git repository.

true

git.serverEmail

yes

The default/fallback email address to use as the author when committing changes to your Git repository.

git.showUserEmail

yes

Should the commit author email be set to the current user.

true

Features

You can enable / disable specific optional features.

Property

Required

Description

Default Value

features.mathjax

no

Enable math equations processing (in TeX and MathML formats) and display them as SVG graphics.

true

Logging

By default, all logs are stored locally in the /logs directory. You can send logs to additional remote logging services:

Property

Required

Description

Default Value

externalLogging.bugsnag

no

Key to use for Bugsnag

externalLogging.loggly.token

no

Token to use for Loggly

externalLogging.loggly.subdomain

no

Subdomain to use for Loggly

externalLogging.papertrail.host

no

Host to use for Papertrail

externalLogging.papertrail.port

no

Port to use for Papertrail

externalLogging.rollbar

no

Key to use for Rollbar

externalLogging.sentry

no

Key to use for Sentry