[SUPPORT] SmartPhoneLover - OpenKM (CE) (DMS)


Recommended Posts

openkm-ce_200x200.png

 

This docker template was created based on an already available official docker image

 

WebSite: https://www.openkm.com/es/

Forum: https://forum.openkm.com/

User Guide: https://docs.openkm.com/kcenter/view/okm-6.3-com/administration-guide.html

Documentation: https://docs.openkm.com/kcenter/view/okm-6.3-com/using-docker.html

DockerHub: https://hub.docker.com/r/openkm/openkm-ce

GitHub: https://github.com/openkm/document-management-system

My Repository: https://github.com/SmartPhoneLover/unraid-docker-templates

 

DESCRIPTION

This is a docker template for OpenKM Community Edition, an Open Source Document Management System (DMS). It provides a web interface for managing nonspecific files.

 

OpenKM is a management solution that allows businesses to control the production, storage, management and distribution of electronic documents, yielding greater effectiveness and the ability to reuse information and to control the flow of the documents.

 

The CE version of OpenKM doesn't have any trial period or something similar. It's the Open Source version (free) developed and maintained by the public community, but with the lack of some of the features that are only available in the Cloud or Professional editions (paid). But, with some little tricks and programming skills, the user can modify its source code (public).

 

Here you can see a comparision table of the different versions of OpenKM:

https://www.openkm.us/en/comparison-of-versions.html

 

NOTES

• The default credentials are: okmAdmin/admin (Administrator).

• Run the following cmds before building the container: 'mkdir /mnt/user/appdata/openkm-ce', 'curl https://raw.githubusercontent.com/SmartPhoneLover/unraid-docker-templates/main/templates/dependencies/openkm-ce/OpenKM.cfg --output /mnt/user/appdata/openkm-ce/OpenKM.cfg', 'curl https://raw.githubusercontent.com/SmartPhoneLover/unraid-docker-templates/main/templates/dependencies/openkm-ce/server.xml --output /mnt/user/appdata/openkm-ce/server.xml'.
• It's highly recommended to configure a static docker tag, as manual backup/restoration is required when upgrading to a newer version.
• To use OpenKM in dev mode, leave the template as it is. No configuration is required (embedded db used).
• Make sure to read the official doc carefully before installing it for production. Specially, database configuration and data migration (backup/restore) sections.
• Both, 'OpenKM.cfg' and 'server.xml' files, MUST be present and properly configured before creating the container, if you decide to go ahead by this way.
• The 'Repository (data)' is the storage location for all the data (docs) uploaded through the platform.
• The '/HOST_SWAP' directory is mapped to the internal storage of the container to allow communication between the container and the host. It will be usefull in case of exporting repo (zip) or any file from within the platform, to the host.

 

VERSION
1.1 (2022-07-01)

 

If you are going to report a bug or request something to be added/modified, please, take into consideration that I will only be able to apply changes for the work I own only. For example, if I create a docker template for an already existing docker image (not created by me), I won't be able to do more for that image than forward your report or request to the owner of the project.

Edited by SmartPhoneLover
  • Thanks 1
Link to comment
  • 2 months later...

Could the openKM.cg and server.xml be the same as shown in the documentation page of openKM https://docs.openkm.com/kcenter/view/okm-6.3-com/using-docker.html ?

Also, in order to connect an external database. In this unraid template, Is it possible to add those variables below to connect a MariaDB DB?

      - MYSQL_DATABASE=okmdb
      - MYSQL_USER=openkm
      - MYSQL_PASSWORD=openkm
      - MYSQL_ROOT_PASSWORD=openkm

 

Thank you in advance.

Link to comment
  • 4 months later...

CHANGELOG

v1.1 (2022-07-01)

- New: Added TZ (timezone) variable.
- Fix: Not being able to start Catalina.sh and/or error connecting to DB.

- Other: Switched from static to latest tag. (be careful when upgrading)
- Other: 'OpenKM.cfg' and 'server.xml' files updated with more detailed information.
- Other: Other minor changes on the template.

Edited by SmartPhoneLover
Link to comment
On 2/14/2022 at 9:06 PM, rollerpalmer said:

Could the openKM.cg and server.xml be the same as shown in the documentation page of openKM https://docs.openkm.com/kcenter/view/okm-6.3-com/using-docker.html ?

Also, in order to connect an external database. In this unraid template, Is it possible to add those variables below to connect a MariaDB DB?

      - MYSQL_DATABASE=okmdb
      - MYSQL_USER=openkm
      - MYSQL_PASSWORD=openkm
      - MYSQL_ROOT_PASSWORD=openkm

 

Thank you in advance.

Sorry for the late reply.

You have the following variables available: DATABASE_DRIVER, DATABASE_URL, DATABASE_USER, DATABASE_PASSWORD and DATABASE_DIALECT.

https://docs.openkm.com/kcenter/view/okm-7.1/using-docker.html

 

I didn't add them to the template because...

A: The 'hibernate.hbm2ddl' property needs to be changed manually to 'update' when upgrading OpenKM. So, it will be easier if you have your own file browser (ie.: FileBrowser), than installing 'nano' inside the container. Just from my point of view.

B: I don't have any problem on adding all possible variations of DATABASE_DRIVER, DATABASE_URL and DATABASE_DIALECT to be selectable from inside the template, but the user will have to edit the string manually (copy, paste, edit). So, I think it's more convenient to include that on both config files, as comments.

Link to comment
  • 3 months later...

I dont get it... its not working on my end.  Base install, I have created a database and ran the commands in your instructions.

upon start I get this error and no webpage.  I am assuming I can enter the database info via the web gui?  am I doing something wrong??

[1;33m# This file was edited by SmartPhoneLover, for the OpenKM-CE docker template for unRAID.[0m
[1;33m# The original 'OpenKM.cfg' file is available on 'https://docs.openkm.com/kcenter/view/okm-6.3-com/using-docker.html'.[0m
[1;33m[0m
[1;33m# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -[0m
[1;33m# OpenKM Hibernate configuration values[0m
[1;33m# It acts as a 'bridge' between the Java JDBC types and SQL types.[0m
[1;33m# Uncomment the corresponding line.[0m
[1;33mhibernate.dialect=org.hibernate.dialect.H2Dialect[0m
[1;33m#hibernate.dialect=org.hibernate.dialect.HSQLDialect[0m
[1;33m#hibernate.dialect=org.hibernate.dialect.Oracle10gDialect[0m
[1;33m#hibernate.dialect=org.hibernate.dialect.SQLServerDialect[0m
[1;33m#hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect[0m
[1;33m#hibernate.dialect=org.hibernate.dialect.MySQL5Dialect[0m
[1;33m#hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect[0m
[1;33m[0m
[1;33m# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -[0m
[1;33m# Configuration property used on Hibernate database schema generation process.[0m
[1;33m# Posible values: create (new instance), update (upgrade instance), none (no changes done).[0m
[1;33mhibernate.hbm2ddl=create[0m
[1;33m[0m
[1;33m# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -[0m
[1;33m# Other OpenKM settings.[0m
[1;33m# Logback configuration file[0m
[1;33mlogback.config=logback.xml[0m
[1;33m[0m
[1;33m# Visit 'https://www.openkm.com/wiki/index.php/Application_configuration' to know more property settings you can use to fully customize OpenKM. Some of these options can also be configured within OpenKM too (Administrator account).[0m
2022-10-18 16:57:03,666 CRIT Supervisor is running as root. Privileges were not dropped because no user is specified in the config file. If you intend to run as root, you can set user=root in the config file to avoid this message.
2022-10-18 16:57:03,666 INFO Included extra file "/etc/supervisor/conf.d/custom.conf" during parsing
2022-10-18 16:57:03,671 INFO RPC interface 'supervisor' initialized
2022-10-18 16:57:03,671 CRIT Server 'inet_http_server' running without any HTTP authentication checking
2022-10-18 16:57:03,671 INFO RPC interface 'supervisor' initialized
2022-10-18 16:57:03,671 CRIT Server 'unix_http_server' running without any HTTP authentication checking
2022-10-18 16:57:03,671 INFO supervisord started with pid 1
2022-10-18 16:57:04,673 INFO spawned: 'xvfb' with pid 10
2022-10-18 16:57:04,674 INFO spawned: 'tomcat' with pid 11
2022-10-18 16:57:05,545 INFO exited: tomcat (exit status 1; not expected)
2022-10-18 16:57:06,546 INFO success: xvfb entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-10-18 16:57:06,547 INFO spawned: 'tomcat' with pid 61
2022-10-18 16:57:06,712 INFO exited: tomcat (exit status 1; not expected)
2022-10-18 16:57:08,715 INFO spawned: 'tomcat' with pid 109
2022-10-18 16:57:08,880 INFO exited: tomcat (exit status 1; not expected)
2022-10-18 16:57:11,884 INFO spawned: 'tomcat' with pid 157
2022-10-18 16:57:12,043 INFO exited: tomcat (exit status 1; not expected)
2022-10-18 16:57:13,044 INFO gave up: tomcat entered FATAL state, too many start retries too quickly

 

Edited by kilobit
Link to comment
24 minutes ago, kilobit said:

I dont get it... its not working on my end.  Base install, I have created a database and ran the commands in your instructions.

upon start I get this error and no webpage.  I am assuming I can enter the database info via the web gui?  am I doing something wrong??

Are you saying that you executed the lines from the 'OpenKM.cfg' file witin the container's terminal? If yes, wrong.

These are config files, not lines to be executed from the terminal window.

 

I added a note telling the user to configure the files according to your setup:

- Both, 'OpenKM.cfg' and 'server.xml' files, MUST be present and properly configured before creating the container, if you decide to go ahead by this way.

 

So, after downloading the files to the corresponding location (this is done by the 'curl' cmd), and also configuring the DB container/server, you will have to open both files and adjust them according to your setup.

 

Check this page as an example: https://docs.openkm.com/kcenter/view/okm-6.3-com/using-docker.html

 

There's no code to run from terminal, apart from configuring the files. But, you can use the terminal to install dependices and make changes to OpenKM, but this is another discussion.

Edited by SmartPhoneLover
Link to comment

Thanks for your fast reply.

First I created the directory and used curl to get both files into the newly created directory (copy and pasted your commands into my appdatafolder)

File Mappings:

/opt/tomcat/conf/server.xml --> /mnt/user/appdata/openkm-ce/server.xml
/opt/tomcat/repository --> /mnt/user/appdata/openkm-ce/repository
/HOST_SWAP --> /mnt/user/appdata/openkm-ce/swap/
/opt/tomcat/OpenKM.cfg --> /mnt/user/appdata/openkm-ce/OpenKM.cfg

 

Then installed the docker on unraid and tried to go into webui.. but nothing is there and I posted the logs.  I havent used any custom commands or anything and I have verified both files were downloaded...

 

Im going to botch this install and try again, I will post back.

 

**No I didnt execute anything inside the docker console.

Edited by kilobit
Link to comment

reinstalled and thought it might be a permissions issue with those 2 downloaded files being root:root.  Logged into the console and checked access and it is visable so looked into the internal logs and see this:

 

19-Oct-2022 00:33:04.024 SEVERE [main] org.apache.tomcat.util.digester.Digester.fatalError Parse Fatal Error at line 4 column 6: The processing instruction target matching "[xX][mM][lL]" is not allowed.
        org.xml.sax.SAXParseException; systemId: file:/opt/tomcat/conf/server.xml; lineNumber: 4; columnNumber: 6; The processing instruction target matching "[xX][mM][lL]" is not allowed.

 

Not seeing anything strange about the server.xml file so not sure whats up with this.

Link to comment
  • 1 month later...

Sadly i got the same issue as kilobit,

however i created the files beforehand and everything thats. but got the same log with "tomcat spawned, exited" etc.

 

i thought the H2 database was automaticly installed and need no further config. or did i miss something there ?

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.