Change repository home

By default, the repository is located at "$TOMCAT_HOME/repository", but you can change it to another location.

This action must be done with the application stopped.

Understanding the contents of repository folders

In "$TOMCAT_HOME/repository", there are four folders tmpindex, cache, and datastore.

FolderBackupDescription

tmp

No

This folder contains some temporary files.

index

No

The folder that contains the Lucene search engine indexes. The content of that folder can be rebuilt.

Although it is not mandatory to back up this folder, we recommend doing so.

 cache

 No

The folder that contains the application's cached files. For example, to preview documents, it is sometimes necessary to transform the original document into another format. The conversion consumes a lot of hardware resources; for this reason, the application stores these converted files to be reused later. The contents of that folder can be cleared without major problems.

Although it is not mandatory to back up this folder, we recommend doing so.

datastore

Yes

The folder that contains all the binary data of the documents. 

It is mandatory to back up this folder; otherwise, the binary data of the documents could be lost in a server hardware failure.

extraction

Yes

This folder contains the text extracted from those documents stored in OpenKM. A backup is not necessary, but it may save time.

Move the entire repository location

  • Stop the application
  • Move the "$TOMCAT_HOME/repository" to another location.
  • Edit the "$TOMCAT_HOME/openkm.properties" file and add the property "repository.home".
  • Start the application

Sample 1

When the "repository.home" parameter is set, the location in the file system of the Lucene index is not affected. You should use the specific parameter named "spring.jpa.properties.hibernate.search.default.indexBase" to move the Lucene index to a new location.

Windows

repository.home=C:/okmrepo

Linux

repository.home=/mnt/okmrepo

Move repository folders  individually

Table of properties:

FolderPropertyDefault

index

spring.jpa.properties.hibernate.search.default.indexBase

${catalina.home}/repository/index

tmp

repository.temp.home

${repository.home}/tmp

cache

repository.cache.home

${repository.home}/cache

datastore

repository.datastore.home

${repository.home}/datastore

extraction

repository.extraction.home

${repository.home}/extraction

These parameters can be used in combination with the parameter "repository.home".

  • Stop the application
  • Move the "$TOMCAT_HOME/repository/{folder}" to another location.
  • Edit the "$TOMCAT_HOME/openkm.properties" file and add some properties.
  • Start the application

Sample

Windows

spring.jpa.properties.hibernate.search.default.indexBase=C:/lucene/index
repository.datastore.home=D:/okm/${repository.home}/datastore
repository.cache.home=D:/okm/${repository.home}/cacherepository.temp.home=D:/okm/${repository.home}/tmp

Linux

spring.jpa.properties.hibernate.search.default.indexBase=/mnt/lucene/index
repository.datastore.home=/mnt/okm/${repository.home}/datastore
repository.cache.home=/mnt/okm/${repository.home}/cacherepository.temp.home=/mnt/okm/${repository.home}/tmp

Troubleshooting

The Windows mapped network disk is not working

We recommend that you do not use network storage (NAS or Samba) for storing the repository. Network issues can affect the repository, so we consider it a dangerous configuration.

 There seem to be restrictions when using network drives (mapped with the "net use" command) and applications running as services. To fix this, it is necessary to create a link between the UNC path and the file system.

MKLINK /D C:\okm-repository \\192.168.1.36\eDocuments\okm-repository

In most cases, it will be necessary to use a standard user to run the OpenKM service, rather than the default. Take a look at the OpenKM Windows service configuration to change the default "Local system user" to your own.