Settings

The following list of settings are available for the Nextcloud Exchange Connector. Depending if you're running this in a container or stand-alone service, the actual implementation of these settings may differ. 

In all cases, if you modify settings; restart the container or service in order for the settings to take effect.

Overview of settings

Note: If Exchange Type is set to 1 (Cloud), you can leave the Exchange OnPrem-Domain, -Username, and -Password blank. In case Exchange Type is set to 2 (on-premise), you can leave Microsoft -AppId, -TenantId, and -ClientSecret blank.

Category

Setting

Value

Description

Connection-
  Strings

DatabaseConnectionString

database_connection_string

Database connectionstring

Service

NextcloudBaseUrl

nextcloud_url_with_protocol

Nextcloud server URL

Service

NextcloudServiceUsername

admin_username,

Nextcloud Service account username

Service

NextcloudServicePassword

admin_user_app_password,

Nextcloud service account password

Service

ExchangeType

1

Exchange Type: 1 = Cloud (Microsoft 365/Exchange Online), 2 = Exchange On-Prem

Service

ExchangeOnPremUrl

domain_url

Exchange on-premise URL to EWS gateway.

Service

ExchangeOnPremDomain

domain_test,

Exchange on-premise domain

Service

ExchangeOnPremUsername

domain_username,

Exchange on-premise username service

Service

ExchangeOnPremPassword

domain_password,

Exchange on-premise password service

Service

MicrosoftAppId

azure_app_id,

Azure App ID

Service

MicrosoftTenantId

azure_tenant_id,

Azure Tenant ID

Service

MicrosoftClientSecret

azure_app_client_secret,

Azure App Secret

Service

OsVersion

Useragent,

Useragent (identify calls)

Service

ApplicationVersion

1.0.0,

-

Service

BatchLimit

50

Amount of items to be processed (batches/calls)

Service

DatabaseEncryptionKey

database_encryptionkey,

Database encryption key, used to store app-token Nextcloud user.

Service

SharedSecret

 xxx

Shared secret - used to transfer user consent app-tokens from Nextcloud to service.

Service

IntervalRefreshInMinutes

1

Refresh after X minutes, when a run is done (parsed all users).

Service

MaxParallelProcessingUsers

5

-

 

These settings are all required to be set:

  1. Database Connection String.
  2. Nextcloud configuration (base url, service account- username and password).
  3. Defining the Exchange Type (1 = Microsoft 365 / Exchange Online, 2 = On-Premise).
  4. If point 3 is set to 1, set: MicrosoftAppId, MicrosoftTenantId, MicrosoftClientSecret..
  5. If point 3 is set to 2, set: ExchagneOnpremUrl, ExchangeOnPremUsername, ExchangeOnPremPassword
  6. Database Encryption Key.
  7. Shared Secret (notice, this must align with the shared secret set in Sendent Sync it's Nextcloud app).

Container

If you're running the Nextcloud Exchange Connector as a container, you can pass the settings as environment variables in your docker-compose.yml file. When configuring settings from the reference table above, make sure you include category and setting to target the specific setting.

For example: if we wish to set the SharedSecret, it's part of the Service category. So the environment variable is Service__SharedSecret

In your docker-compose.yml file, the settings would look as the following:

...
    environment:
      - Service__NextcloudBaseUrl=https://mycloud.mydomain.com
      - Service__NextcloudServiceUsername=my_service_account
      - Service__NextcloudServicePassword=my_service_account_secret
...	  

For the full reference docker-compose.yml file see this article.

Stand-alone service

In case you're running the Nextcloud Exchange Connector as a stand-alone service (without a container), for example in IIS, the appsettings.json file in the root directory of the binaries must be modified.

The appsettings.json file contains the following. Modify this file that it reflects your organization it's settings.

  "ConnectionStrings": {
    "DatabaseConnectionString": ""
  },
  "AllowedHosts": "*",
  "Service": {
    "CompanyName": "",
    "NextcloudBaseUrl": "",
    "NextcloudServiceUsername": "",
    "NextcloudServicePassword": "",
    "ExchangeType": 1,
    "ExchangeOnPremUrl": "",
    "ExchangeOnPremDomain": "",
    "ExchangeOnPremUsername": "",
    "ExchangeOnPremPassword": "",
    "MicrosoftAppId": "",
    "MicrosoftTenantId": "",
    "MicrosoftClientSecret": "",
    "OsVersion": "",
    "ApplicationVersion": "",
    "BatchLimit": 50,
    "DatabaseEncryptionKey": "",
    "SharedSecret": "",
    "IntervalRefreshInMinutes": 1,
    "MaxParallelProcessingUsers": 5,
    "ForceRefreshCredentialsUsersStartUp": false
  }

 

 


Was this article helpful?