Docker

From LogicalDOC Community Wiki
Revision as of 09:05, 29 August 2024 by Blucecio (talk | contribs) (Running LogicalDOC Enterprise in a Docker container with connection to a MS SQL Server database)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Running LogicalDOC Enterprise in a Docker container with connection to a Oracle database

Running Oracle Database Server 12c R2 in a Docker container
This is an official image released by Oracle of Oracle Database Server 12.2.0.1 Enterprise Edition running on Oracle Linux 7
In Docker Hub: Oracle Database Enterprise Edition

docker login
docker pull store/oracle/database-enterprise:12.2.0.1-slim
docker run -it --name Oracle12-slim -p 1521:1521 store/oracle/database-enterprise:12.2.0.1-slim

Note as of 19/02/2019 (19 February 2019) when you connect using the proposed credentials you receive error ORA-28009, so you need to set a database static parameter on the Oracle container using SQL*Plus
// How to solve Oracle exception
//ORA-28009: connection as SYS should be as SYSDBA or SYSOPER
ORA-28009: connection as SYS should be as SYSDBA or SYSOPER

docker exec -it Oracle12-slim bash -c "source /home/oracle/.bashrc; sqlplus /nolog"

conn / as sysdba
SHOW PARAMETER O7_DICTIONARY_ACCESSIBILITY NAME TYPE VALUE;
ALTER SYSTEM SET O7_DICTIONARY_ACCESSIBILITY=TRUE scope=spfile;
shutdown immediate;
startup
conn sys/Oradoc_db1
SHOW PARAMETER O7_DICTIONARY_ACCESSIBILITY NAME TYPE VALUE;
exit

Running LogicalDOC Enterprise (latest release) in a Docker container with connection to Oracle 12c R2 container with jdbc connection URL on SERVICE NAME

docker pull logicaldoc/logicaldoc
docker run --name=logicaldoc -p 8080:8080 --env LDOC_USERNO=YOUR_USERNO -e DB_ENGINE=oracle -e DB_USER=sys -e DB_PASSWORD=Oradoc_db1 -e DB_MANUALURL=true -e "DB_URL=jdbc:oracle:thin:@//Oracle12-slim:1521/ORCLCDB.localdomain" --link Oracle12-slim logicaldoc/logicaldoc

Oracle XE 11g (unofficial)

Running Oracle XE 11g (Express edition) in a Docker container

docker pull wnameless/oracle-xe-11g
docker run --name=oracle-ld -p 49161:1521 -e ORACLE_ALLOW_REMOTE=true wnameless/oracle-xe-11g


Running LogicalDOC Enteprise (latest release) in a Docker container with connection to Oracle 11g container (JDBC Connection using SID)
See also How to Connect to Oracle via JDBC
In this example the SID is: xe (DB_NAME)

docker pull logicaldoc/logicaldoc
docker run --name=logicaldoc -p 8080:8080 --env LDOC_USERNO=YOUR_USERNO -e DB_ENGINE=oracle -e DB_HOST=oracle-ld -e DB_PORT=1521 -e DB_USER=system -e DB_PASSWORD=oracle -e DB_NAME=xe --link oracle-ld logicaldoc/logicaldoc

Running LogicalDOC Enteprise (latest release) in a Docker container connected to Oracle 11g with jdbc connection URL explicitly specified

docker pull logicaldoc/logicaldoc
docker run --name=logicaldoc -p 8080:8080 --env LDOC_USERNO=YOUR_USERNO -e DB_ENGINE=oracle -e DB_USER=system -e DB_PASSWORD=oracle -e DB_MANUALURL=true -e "DB_URL=jdbc:oracle:thin:@//oracle-ld:1521/xe" --link oracle-ld logicaldoc/logicaldoc

Running LogicalDOC Enterprise in a Docker container with connection to a MS SQL Server database

Running MS SQL Server 2017 in a Docker container

docker pull microsoft/mssql-server-linux:2017-latest
docker run --name=tomssl_sql -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=Str0ngPassword!' -p 1401:1433 microsoft/mssql-server-linux:2017-latest

docker exec -it tomssl_sql /opt/mssql-tools/bin/sqlcmd -S localhost -U sa

CREATE DATABASE logicaldoc;
GO

EXIT

Running LogicalDOC Enteprise (latest release) in a Docker container with connection to SQL Server container

docker pull logicaldoc/logicaldoc
docker run --name=ldocmssql -p 8080:8080 --env LDOC_USERNO=YOUR_USERNO -e DB_ENGINE=mssql -e DB_HOST=tomssl_sql -e DB_PORT=1433 -e DB_USER=sa -e 'DB_PASSWORD=Str0ngPassword!' -e DB_NAME=logicaldoc -e DB_INSTANCE=MSSQLSERVER --link tomssl_sql logicaldoc/logicaldoc 

Another option is to manually specify the full connection URL
Example with LD 8.9.3 with JDK 21 (LTS)

docker pull logicaldoc/logicaldoc:8.9.3-jdk21
docker run --name=ldocmssql -p 8080:8080 --env LDOC_USERNO=YOUR_USERNO -e DB_ENGINE=mssql -e DB_USER=sa -e 'DB_PASSWORD=Str0ngPassword!' -e DB_MANUALURL=true -e 'DB_URL=jdbc:sqlserver://tomssl_sql:1433;databaseName=logicaldoc;instanceName=MSSQLSERVER;encrypt=false' --link tomssl_sql logicaldoc/logicaldoc:8.9.3-jdk21 

License activation


Note idea.png In order to be able to enter into LogicalDOC you will have to register here to get an activation code: https://www.logicaldoc.com/try. You can then use the received code to activate your installation: https://docs.logicaldoc.com/en/license-activation


Tesseract OCR

Staring from LogicalDOC Enterprise 8.2 Docker image the OCR is available but with some limitation.
In particular this translates into the fact that the reference dictionaries are limited to the English language.
It is possible to install new dictionaries in various languages to improve the quality of OCR character recognition

// Connect to the container instance of LogicalDOC
docker exec -it <logicaldoc-container-name> bash
apt-get install tesseract-ocr-deu (installs german dictionary)
apt-get install tesseract-ocr-fra (installs french dictionary)
apt-get install tesseract-ocr-ita (installs italian dictionary)
apt-get install tesseract-ocr-spa (installs spanish dictionary)

See also:
How do I install a new language pack for Tesseract on 16.04
Tesseract OCR: Installation and Usage on Ubuntu 16.04

Upgrade LogicalDOC Docker container

To update LogicalDOC running on a Docker container it is necessary to perform a particular procedure.

This is to avoid compromising the configuration of the application and the documents it contains.

Here is the link Upgrade Docker container

More Information

For more information about LogicalDOC Docker image: https://hub.docker.com/r/logicaldoc/logicaldoc