Imported docker configuration from main source repository.
This commit is contained in:
parent
af417a6170
commit
d00e69cda6
42
.env.nm3clol
Normal file
42
.env.nm3clol
Normal file
|
@ -0,0 +1,42 @@
|
|||
# You will need a .env file to use with the Docker containers. This is set up for localhost use with the Docker Compose fullstack.
|
||||
|
||||
# SITE_NAME is used for page generation.
|
||||
SITE_NAME="(dev) No Moss 3 Carbo Landfill Online Localhost"
|
||||
# SITE_HOST is used for generating links for the search index. (If you leave this blank it should work using relative paths.)
|
||||
SITE_HOST="localhost"
|
||||
# SITE_URL is used for generating links for the search index. (If you leave this blank it should work using relative paths.)
|
||||
SITE_URL="https://${SITE_HOST}"
|
||||
# WELCOME_MSG is used for the homepage instead of "Welcome to ${SITE_NAME}!"
|
||||
WELCOME_MSG="Devel' It Up, Developer!"
|
||||
|
||||
# APP_HTTP_LISTEN_PORT is the TCP port used to access the Node application's HTTP interface (usually by a reverse proxy).
|
||||
APP_HTTP_HOST="nm3clol"
|
||||
# APP_HTTP_LISTEN_PORT is the TCP port used to access the Node application's HTTP interface (usually by a reverse proxy).
|
||||
APP_HTTP_LISTEN_PORT=3000
|
||||
# APP_URL is the URL used to access the Node application (usually by a reverse proxy).
|
||||
APP_HTTP_URL="http://${APP_HTTP_HOST}:${APP_HTTP_LISTEN_PORT}"
|
||||
|
||||
# SOLR_DOCS_HOST is the host for Apache Solr's core for indexed documents.
|
||||
SOLR_DOCS_HOST="solr"
|
||||
# SOLR_DOCS_PORT is the port for Apache Solr's core for indexed documents.
|
||||
SOLR_DOCS_PORT=8983
|
||||
# SOLR_DOCS_CORE_NAME is the core name for Apache Solr's core for indexed documents.
|
||||
SOLR_DOCS_CORE_NAME="nm3clol_core"
|
||||
# SOLR_DOCS_URL is the URL to access Apache Solr's core for indexed documents. It is used by Gulp and the Search feature.
|
||||
SOLR_DOCS_URL="http://${SOLR_DOCS_HOST}:${SOLR_DOCS_PORT}/solr/${SOLR_DOCS_CORE_NAME}"
|
||||
|
||||
# SOLR_LAW_HOST is the host for Apache Solr's core for indexed laws.
|
||||
SOLR_LAW_HOST="$SOLR_DOCS_HOST"
|
||||
# SOLR_LAW_PORT is the host for Apache Solr's core for indexed laws.
|
||||
SOLR_LAW_PORT=$SOLR_DOCS_PORT
|
||||
# SOLR_LAW_CORE_NAME is the core name for Apache Solr's core for indexed laws.
|
||||
SOLR_LAW_CORE_NAME="vacode_core"
|
||||
# SOLR_LAW_URL is the URL to access Apache Solr's core for indexed laws. It is used by Gulp (and eventually the Search feature.)
|
||||
SOLR_LAW_URL="http://${SOLR_LAW_HOST}:${SOLR_LAW_PORT}/solr/${SOLR_LAW_CORE_NAME}"
|
||||
|
||||
# TIKA_HOST is the URL to access the host running Apache Tika.
|
||||
TIKA_HOST="tika"
|
||||
# TIKA_PORT is the URL to access the host running Apache Tika.
|
||||
TIKA_PORT=9998
|
||||
# TIKA_URL is the URL to access the host running Apache Tika.
|
||||
TIKA_URL="http://${TIKA_HOST}:${TIKA_PORT}"
|
6
.gitignore
vendored
Normal file
6
.gitignore
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
# Production .env
|
||||
.env
|
||||
|
||||
# Docker container data
|
||||
docker/solr-data
|
||||
docker/tika-data
|
28
README.md
28
README.md
|
@ -1,3 +1,27 @@
|
|||
# nm3clol-docker
|
||||
# Docker Compose configurations
|
||||
|
||||
Docker container examples for No Moss 3 Carbo Landfill Online Library.
|
||||
Here are some Docker Compose configuration examples.
|
||||
|
||||
## fullstack
|
||||
|
||||
Example fullstack Solr, Tika with Tesseract, Web App, and Reverse Proxy instance.
|
||||
|
||||
## nm3clol
|
||||
|
||||
Minimal Web App only, no reverse proxy.
|
||||
|
||||
## nm3clol-caddy
|
||||
|
||||
Web App only with Caddy reverse proxy.
|
||||
|
||||
## solr
|
||||
|
||||
Minimal Solr instance.
|
||||
|
||||
## solr-tika
|
||||
|
||||
Solr and Tika with Tesseract together.
|
||||
|
||||
## tika
|
||||
|
||||
Minimal Tika with Tesseract instance.
|
||||
|
|
26
TesseractOCRConfig.properties
Normal file
26
TesseractOCRConfig.properties
Normal file
|
@ -0,0 +1,26 @@
|
|||
# Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
# contributor license agreements. See the NOTICE file distributed with
|
||||
# this work for additional information regarding copyright ownership.
|
||||
# The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
# (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# You customise or add the settings you want here
|
||||
language=eng
|
||||
#language=eng+spa+fra+deu+ita
|
||||
timeout=240
|
||||
minFileSizeToOcr=1
|
||||
enableImageProcessing=0
|
||||
density=200
|
||||
depth=8
|
||||
filter=box
|
||||
resize=300
|
||||
applyRotation=true
|
60
fullstack/docker-compose.yml
Normal file
60
fullstack/docker-compose.yml
Normal file
|
@ -0,0 +1,60 @@
|
|||
name: nm3clol
|
||||
services:
|
||||
solr:
|
||||
image: solr:latest
|
||||
container_name: solr
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "${SOLR_DOCS_PORT-8983}:8983"
|
||||
volumes:
|
||||
- ../solr-data:/var/solr
|
||||
# environment:
|
||||
# - SOLR_CORE=my_core
|
||||
command:
|
||||
- solr-precreate
|
||||
# - gettingstarted
|
||||
user: "1000:995"
|
||||
|
||||
tika:
|
||||
image: apache/tika:latest-full
|
||||
container_name: tika
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- TIKA_LOG_PATH=/tika-logs
|
||||
command: -c /tika-config.xml
|
||||
entrypoint: [ "/bin/sh", "-c", "exec java -cp \"/customocr:/tika-server-standard-2.9.2.jar:/tika-extras/*\" org.apache.tika.server.core.TikaServerCli -h 0.0.0.0 $$0 $$@"]
|
||||
volumes:
|
||||
- ../tika-config.xml:/tika-config.xml
|
||||
- ../tika-data/logs:/tika-logs
|
||||
- ../tika-data/log4j2.xml:/log4j2.xml
|
||||
- ../TesseractOCRConfig.properties:/TesseractOCRConfig.properties
|
||||
ports:
|
||||
- "${TIKA_PORT-9998}:9998"
|
||||
|
||||
nm3clol:
|
||||
build: ../nm3clol.Dockerfile
|
||||
container_name: nm3clol
|
||||
environment:
|
||||
- PORT=${APP_HTTP_LISTEN_PORT-3000}
|
||||
ports:
|
||||
- "$PORT:$PORT"
|
||||
|
||||
caddy:
|
||||
image: caddy:latest
|
||||
restart: unless-stopped
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
ports:
|
||||
- "80:80"
|
||||
- "443:443"
|
||||
- "443:443/udp"
|
||||
volumes:
|
||||
- $PWD/../nm3clol.Caddyfile:/etc/caddy/Caddyfile
|
||||
- $PWD/..:/srv
|
||||
- caddy_data:/data
|
||||
- caddy_config:/config
|
||||
|
||||
volumes:
|
||||
caddy_data:
|
||||
external: true
|
||||
caddy_config:
|
30
nm3clol-caddy/docker-compose.yml
Normal file
30
nm3clol-caddy/docker-compose.yml
Normal file
|
@ -0,0 +1,30 @@
|
|||
name: nm3clol
|
||||
services:
|
||||
nm3clol:
|
||||
image: nm3clol/server-app
|
||||
build:
|
||||
context: ../../
|
||||
dockerfile: docker/nm3clol.Dockerfile
|
||||
container_name: nm3clol
|
||||
environment:
|
||||
- PORT=${APP_HTTP_LISTEN_PORT-3000}
|
||||
ports:
|
||||
- "${APP_HTTP_LISTEN_PORT-3000}:${APP_HTTP_LISTEN_PORT-3000}"
|
||||
caddy:
|
||||
image: caddy:latest
|
||||
restart: unless-stopped
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
ports:
|
||||
- "80:80"
|
||||
- "443:443"
|
||||
- "443:443/udp"
|
||||
volumes:
|
||||
- $PWD/../nm3clol.Caddyfile:/etc/caddy/Caddyfile
|
||||
- $PWD/..:/srv
|
||||
- caddy_data:/data
|
||||
- caddy_config:/config
|
||||
volumes:
|
||||
caddy_data:
|
||||
external: true
|
||||
caddy_config:
|
4
nm3clol.Caddyfile
Normal file
4
nm3clol.Caddyfile
Normal file
|
@ -0,0 +1,4 @@
|
|||
{$SITE_HOST} {
|
||||
encode gzip
|
||||
reverse_proxy {$APP_HTTP_HOST}:{$APP_HTTP_LISTEN_PORT}
|
||||
}
|
16
nm3clol.Dockerfile
Normal file
16
nm3clol.Dockerfile
Normal file
|
@ -0,0 +1,16 @@
|
|||
FROM node:20.12.2-bookworm
|
||||
ENV CHECKOUT=main
|
||||
VOLUME /usr/src/app
|
||||
RUN apt update && apt upgrade -y && apt install git
|
||||
RUN mkdir -p /usr/src/app/.git
|
||||
RUN chown -R node:node /usr/src/app
|
||||
RUN chmod -R 770 /usr/src/app
|
||||
USER node
|
||||
RUN git lfs install
|
||||
ADD --keep-git-dir ../../.git /usr/src/app/.git
|
||||
WORKDIR /usr/src/app
|
||||
RUN git checkout
|
||||
RUN npm install
|
||||
RUN npm run-script transpile:ts
|
||||
EXPOSE $PORT
|
||||
CMD ["npm", "run-script", "server"]
|
15
nm3clol/docker-compose.yml
Normal file
15
nm3clol/docker-compose.yml
Normal file
|
@ -0,0 +1,15 @@
|
|||
name: nm3clol
|
||||
services:
|
||||
nm3clol:
|
||||
image: nm3clol/server-app
|
||||
build:
|
||||
# context: ../../
|
||||
dockerfile: ../nm3clol.Dockerfile
|
||||
container_name: nm3clol
|
||||
volumes:
|
||||
- ../../:/usr/src/app:rw
|
||||
- ../nm3clol-node_modules:/usr/src/app/node_modules:rw
|
||||
environment:
|
||||
- PORT=${APP_HTTP_LISTEN_PORT-3000}
|
||||
ports:
|
||||
- "${APP_HTTP_LISTEN_PORT-3000}:${APP_HTTP_LISTEN_PORT-3000}"
|
36
solr-tika/docker-compose.yml
Normal file
36
solr-tika/docker-compose.yml
Normal file
|
@ -0,0 +1,36 @@
|
|||
version: '3'
|
||||
|
||||
services:
|
||||
solr:
|
||||
image: solr:latest
|
||||
container_name: solr
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "${SOLR_DOCS_PORT-8983}:8983"
|
||||
volumes:
|
||||
- ../solr-data:/var/solr
|
||||
# environment:
|
||||
# - SOLR_CORE=my_core
|
||||
command:
|
||||
- solr-precreate
|
||||
# - gettingstarted
|
||||
user: "1000:995"
|
||||
|
||||
tika:
|
||||
image: apache/tika:latest-full
|
||||
container_name: tika
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- TIKA_LOG_PATH=/tika-logs
|
||||
command: -c /tika-config.xml
|
||||
entrypoint: [ "/bin/sh", "-c", "exec java -cp \"/customocr:/tika-server-standard-2.9.2.jar:/tika-extras/*\" org.apache.tika.server.core.TikaServerCli -h 0.0.0.0 $$0 $$@"]
|
||||
volumes:
|
||||
- ../tika-config.xml:/tika-config.xml
|
||||
- ../tika-data/logs:/tika-logs
|
||||
- ../tika-data/log4j2.xml:/log4j2.xml
|
||||
- ../TesseractOCRConfig.properties:/TesseractOCRConfig.properties
|
||||
ports:
|
||||
- "${TIKA_PORT-9998}:9998"
|
||||
|
||||
#volumes:
|
||||
# data:
|
17
solr/docker-compose.yml
Normal file
17
solr/docker-compose.yml
Normal file
|
@ -0,0 +1,17 @@
|
|||
version: '3'
|
||||
|
||||
services:
|
||||
solr:
|
||||
image: solr:latest
|
||||
container_name: solr
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "${SOLR_DOCS_PORT-8983}:8983"
|
||||
volumes:
|
||||
- ../solr-data:/var/solr
|
||||
# environment:
|
||||
# - SOLR_CORE=my_core
|
||||
command:
|
||||
- solr-precreate
|
||||
# - gettingstarted
|
||||
user: "1000:995"
|
45
tika-config.xml
Normal file
45
tika-config.xml
Normal file
|
@ -0,0 +1,45 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!--
|
||||
~ Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
~ contributor license agreements. See the NOTICE file distributed with
|
||||
~ this work for additional information regarding copyright ownership.
|
||||
~ The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
~ (the "License"); you may not use this file except in compliance with
|
||||
~ the License. You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
<properties>
|
||||
<parsers>
|
||||
<!-- Load TesseractOCRParser (could use DefaultParser if you want others too) -->
|
||||
<parser class="org.apache.tika.parser.ocr.TesseractOCRParser"/>
|
||||
|
||||
<!-- OCR on Rendered Pages -->
|
||||
<parser class="org.apache.tika.parser.pdf.PDFParser">
|
||||
<params>
|
||||
<!-- no_ocr - extract text only
|
||||
ocr_only - don't extract text and just attempt OCR
|
||||
ocr_and_text - extract text and attempt OCR (from Tika 1.24)
|
||||
auto - extract text but if < 10 characters try OCR
|
||||
-->
|
||||
<param name="ocrStrategy" type="string">ocr_and_text</param>
|
||||
<param name="ocrImageType" type="string">rgb</param>
|
||||
<param name="ocrDPI" type="int">100</param>
|
||||
</params>
|
||||
</parser>
|
||||
</parsers>
|
||||
<server>
|
||||
<params>
|
||||
<logLevel>debug</logLevel>
|
||||
<!-- maximum time to allow per parse before shutting down and restarting
|
||||
the forked parser. Not allowed if nofork=true. -->
|
||||
<taskTimeoutMillis>40000000</taskTimeoutMillis>
|
||||
</params>
|
||||
</server>
|
||||
</properties>
|
18
tika/docker-compose.yml
Normal file
18
tika/docker-compose.yml
Normal file
|
@ -0,0 +1,18 @@
|
|||
version: '3'
|
||||
|
||||
services:
|
||||
tika:
|
||||
image: apache/tika:latest-full
|
||||
container_name: tika
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- TIKA_LOG_PATH=/tika-logs
|
||||
command: -c /tika-config.xml
|
||||
entrypoint: [ "/bin/sh", "-c", "exec java -cp \"/customocr:/tika-server-standard-2.9.2.jar:/tika-extras/*\" org.apache.tika.server.core.TikaServerCli -h 0.0.0.0 $$0 $$@"]
|
||||
volumes:
|
||||
- ../tika-config.xml:/tika-config.xml
|
||||
- ../tika-data/logs:/tika-logs
|
||||
- ../tika-data/log4j2.xml:/log4j2.xml
|
||||
- ../TesseractOCRConfig.properties:/TesseractOCRConfig.properties
|
||||
ports:
|
||||
- "${TIKA_PORT-9998}:9998"
|
Loading…
Reference in New Issue
Block a user