Hello, I tried creating a docker-compose file, and added server.xml and OpenKM.cfg file, but its producing a database connection error.
javax.servlet.ServletException: com.openkm.core.DatabaseException: Cannot open connection
Date: Mon Jun 26 00:59:53 UTC 2023
Docker-compose.yml file:
server.xml file
javax.servlet.ServletException: com.openkm.core.DatabaseException: Cannot open connection
Date: Mon Jun 26 00:59:53 UTC 2023
Docker-compose.yml file:
Code: Select all
version: '3.3'
services:
openkm:
image: openkm/openkm-ce:latest
volumes:
- ./openkm/server.xml:/opt/tomcat/conf/server.xml
- ./openkm/OpenKM.cfg:/opt/tomcat/OpenKM.cfg
- ./volumes/files/repository:/opt/tomcat/repository
depends_on:
- openkm_db
links:
- openkm_db
ports:
- 8080:8080
openkm_db:
image: mysql:latest
environment:
- MYSQL_ROOT_PASSWORD=openkm
- MYSQL_USER=openkm
- MYSQL_ROOT_USER=openkm
- MYSQL_DATABASE=okmdb
volumes:
- openkm_volume:/var/lib/mysql
ports:
- 3306:3306
volumes:
openkm_volume:
server.xml file
Code: Select all
openkm.cfg file:
<?xml version='1.0' encoding='utf-8'?>
<Server port="8005" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.startup.VersionLoggerListener" />
<!--APR library loader. Documentation at /docs/apr.html -->
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
<!-- Prevent memory leaks due to use of particular java/javax APIs-->
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
<!-- Global JNDI resources -->
<GlobalNamingResources>
<!-- Editable user database that can also be used by
UserDatabaseRealm to authenticate users
-->
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
<Resource name="jdbc/OpenKMDS" auth="Container" type="javax.sql.DataSource"
maxTotal="100" maxIdle="30" maxWaitMillis="10000" validationQuery="select 1"
username="openkm" password="openkm" driverClassName="com.mysql.cj.jdbc.Driver"
url="jdbc:mysql://mysql:3306/okmdb?useSSL=false&autoReconnect=true&useUnicode=true&characterEncoding=UTF8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC"/>
<Resource name="mail/OpenKM" auth="Container" type="javax.mail.Session"
mail.smtp.host="localhost" mail.from="noreply@openkm.com"/>
</GlobalNamingResources>
<!-- A "Service" is a collection of one or more "Connectors" that share
a single "Container" Note: A "Service" is not itself a "Container",
so you may not define subcomponents such as "Valves" at this level.
Documentation at /docs/config/service.html
-->
<Service name="Catalina">
<Connector port="8080" address="0.0.0.0" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009" address="127.0.0.1" protocol="AJP/1.3" redirectPort="8443" />
<Engine name="Catalina" defaultHost="localhost">
<!-- Use the LockOutRealm to prevent attempts to guess user passwords via a brute-force attack -->
<Realm className="org.apache.catalina.realm.LockOutRealm">
<!-- This Realm uses the UserDatabase configured in the global JNDI
resources under the key "UserDatabase". Any edits
that are performed against this UserDatabase are immediately
available for use by the Realm. -->
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm>
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<!-- External resources -->
<!-- <Context docBase="${catalina.home}/custom" path="/OpenKM/custom" reloadable="true"/> -->
</Host>
</Engine>
</Service>
</Server>
Code: Select all
# OpenKM Hibernate configuration values
hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
hibernate.hbm2ddl=none
# Logback configuration file
logback.config=logback.xml