Configuration File
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 |