Skip to content

Commit 1db32d6

Browse files
author
synapticloop
committed
added in original dockerfiles
1 parent df689e1 commit 1db32d6

10 files changed

Lines changed: 884 additions & 0 deletions

File tree

src/originals/docker/7/Dockerfile

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
FROM alpine:3.22.1
2+
3+
# ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
4+
# The TAG argument is the docker tag that will be used to build the docker
5+
# image and will be of the form:
6+
# synapticloop:${TAG}
7+
# ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
8+
ARG TAG
9+
10+
# ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
11+
# Update and upgrade alpine linux, then Install necessary packages:
12+
# lsof - for the Solr server to be able to determine the port number
13+
# that it was started on (so it can listen for startup)
14+
# bash - the preferred shell
15+
# procps - an updated ps command for the Solr server to determine the
16+
# PID so that it can gracefully shtdown the server
17+
# openjdk21 - The Open JDK to run the Solr and Panl servers
18+
# ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
19+
RUN apk update && apk upgrade
20+
RUN apk add lsof bash procps openjdk11
21+
22+
23+
# ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
24+
# Make the directories for the downloaded files and Java server runtimes
25+
# ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
26+
RUN mkdir /java-servers/
27+
RUN mkdir /archives/
28+
29+
30+
# ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
31+
# Download the Solr server and the Panl server from the local disk
32+
# ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
33+
ADD https://archive.apache.org/dist/lucene/solr/7.7.3/solr-7.7.3.tgz /archives/solr-7.7.3.tgz
34+
ADD build/distributions/${TAG}.tgz /java-servers/
35+
36+
37+
# ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
38+
# Extract the Solr server (The Panl server is automatically extracted by the
39+
# ADD command above)
40+
# ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
41+
RUN tar -xzvf /archives/solr-7.7.3.tgz -C /java-servers/
42+
43+
# ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
44+
# 1. Set up the linking for the Solr and Panl installation
45+
# 2. Copy the Solr configuration files for the standalone Solr server
46+
# 3. Copy the override shell script so that Solr accepts all connections
47+
# 4. Copy over the Panl configuration for thge standalone connection
48+
# ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
49+
WORKDIR /java-servers/
50+
51+
RUN ln -s solr-7.7.3 solr
52+
RUN ln -s ${TAG} panl
53+
54+
RUN mkdir -p /java-servers/solr/mechanical-pencils/conf/
55+
RUN mkdir -p /java-servers/solr/server/solr/mechanical-pencils/conf/
56+
RUN cp -R /java-servers/panl/sample/solr/mechanical-pencils/* /java-servers/solr/mechanical-pencils/conf
57+
RUN cp -R /java-servers/panl/sample/solr/mechanical-pencils/* /java-servers/solr/server/solr/mechanical-pencils
58+
59+
WORKDIR /
60+
COPY src/docker/solr.in.sh /java-servers/solr/bin/
61+
RUN chmod a+x /java-servers/solr/bin/solr.in.sh
62+
63+
COPY src/docker/panl.properties /java-servers/panl/sample/panl/mechanical-pencils/panl.properties
64+
65+
# ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
66+
# Copy over the indexer shell script and execute it - this will:
67+
# 1. Start the Solr server in standalone mode
68+
# 2. Create the mechanical-pencils collection
69+
# 3. Populate the Solr index with the mechanical pencils dataset
70+
# 4. Stop the Solr server
71+
# ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
72+
COPY src/docker/index-collection.sh /
73+
RUN chmod a+x /index-collection.sh
74+
RUN /index-collection.sh
75+
76+
# ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
77+
# Copy the startup script over, make it executable. This startup script will
78+
# Start the Panl server
79+
# ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
80+
COPY src/docker/startup.sh /
81+
RUN chmod a+x /startup.sh
82+
83+
# ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
84+
# Expose the Solr and Panl server ports
85+
# ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
86+
EXPOSE 8181/tcp
87+
EXPOSE 8983/tcp
88+
89+
90+
# ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
91+
# Run the startup script on container run.
92+
# ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
93+
CMD [ "/startup.sh" ]
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#!/bin/bash
2+
3+
cd /java-servers/solr/ && bin/solr start -force
4+
cd /java-servers/solr/ && bin/solr create_core -force -c mechanical-pencils -d mechanical-pencils
5+
cd /java-servers/solr/ && java -Dc=mechanical-pencils -Dtype=application/json -jar example/exampledocs/post.jar /java-servers/panl/sample/data/mechanical-pencils.json
6+
cd /java-servers/solr/ && bin/solr stop
7+
Lines changed: 185 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,185 @@
1+
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
2+
# __ #
3+
# .-----.---.-.-----.| | #
4+
# | _ | _ | || | #
5+
# | __|___._|__|__||__| #
6+
# |__| ... .-.. #
7+
# #
8+
# ~ ~ ~ * ~ ~ ~ #
9+
# #
10+
# PANL/SOLR SERVER CONNECTION CONFIGURATION #
11+
# --------- ------ ---------- ------------- #
12+
# #
13+
# This is the Panl configuration file which configures the base functionality #
14+
# and defines how Panl will connect to the Solr server. #
15+
# #
16+
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
17+
18+
# Which Solr Client To Use
19+
# ----- ---- ------ -- ---
20+
# Choose the correct SolrJ client for the Solr installation that you require,
21+
# by default, it is the CloudSolrClient.
22+
#
23+
# NOTE: What the solr.search.server.url will be will depend on the client that
24+
# you choose. The SolrJ client __MUST__ be one of
25+
#
26+
# - HttpSolrClient
27+
# - LBHttpSolrClient
28+
# - CloudSolrClient
29+
#
30+
# By default - we will be using the CloudSolrClient as it works with the
31+
# example instructions for spinning up a test solr instance
32+
#
33+
# ~ ~ ~ * ~ ~ ~
34+
35+
solrj.client=HttpSolrClient
36+
#solrj.client=LBHttpSolrClient
37+
#solrj.client=CloudSolrClient
38+
39+
# Which Solr URLs To Connect To
40+
# ----- ---- ---- -- ------- --
41+
# Dependent on which Solr server installation you have, and consequently the
42+
# SolrJ Client that is configured, this will either be a single url, or a comma
43+
# separated list of URLs
44+
#
45+
# solr.search.server.url - the search server URL to connect to which must
46+
# NOT include the core that it is connecting to - this will be taken
47+
# care of by the Panl request mechanism.
48+
#
49+
# NOTE: that if you are using connector that has multiple URLs, then
50+
# they MUST be comma separated.
51+
#
52+
# NOTE: If you are using the CloudSolrClient as a connector and you wish to
53+
# use the zookeeper URLs, then you __MUST__ prefix the URLs with
54+
#
55+
# zookeeper:
56+
#
57+
# The below property would then become:
58+
#
59+
# solr.search.server.url=zookeeper:localhost:9983
60+
#
61+
# ~ ~ ~ * ~ ~ ~
62+
63+
solr.search.server.url=http://localhost:8983/solr
64+
65+
# Whether To Enable The Testing URLs
66+
# ------- -- ------ --- ------- ----
67+
# The Panl results viewer / explainer URLs, this is a simple web app which will
68+
# allow you to test and explain the collections and the URLs that are
69+
# generated, including fields, faceting, querying, sorting, and results.
70+
#
71+
# If this property does not exist, or if it is set to false, then no results
72+
# viewer /explainer will be available. You may wish to remove this property
73+
# for production (or perhaps just disallow access to it).
74+
#
75+
# The URI paths are __ALWAYS__
76+
# /panl-results-viewer/ - for testing the queries, facets, and results
77+
# /panl-results-explainer/ - for explaining LPSE encoded URIs and describing
78+
# the configuration for the Panl server.
79+
#
80+
# ~ ~ ~ * ~ ~ ~
81+
82+
panl.results.testing.urls=true
83+
84+
# Whether To Enable Verbose Error Messaging
85+
# ------- -- ------ ------- ----- ---------
86+
# Whether verbose messaging is turned on for the error (404 / 500) http status
87+
# messages. Verbose messaging for the 404 error will provide valid URI paths
88+
# to connect to. Verbose messaging for the 500 error will provide a
89+
# stacktrace.
90+
#
91+
# The recommendation is to set both of these properties to false to reduce the
92+
# possibility of information leakage.
93+
#
94+
# ~ ~ ~ * ~ ~ ~
95+
96+
panl.status.404.verbose=true
97+
panl.status.500.verbose=true
98+
99+
# Decimal Values Format
100+
# ------- ------ ------
101+
# Whether decimal values use a decimal point or a decimal comma. For example
102+
# The number
103+
#
104+
# 1,234,567.89
105+
#
106+
# uses the decimal point '.' as the separator between the integer and the
107+
# fractional part, whereas the number
108+
#
109+
# 1.234.567,89
110+
#
111+
# uses the decimal comma ',' as the separator between the integer and the
112+
# fractional part.
113+
#
114+
# The default for the Panl server is to use the decimal point, should you wish
115+
# to change this, set the property below to false to use the decimal comma
116+
# character for decimal values.
117+
#
118+
# ~ ~ ~ * ~ ~ ~
119+
120+
panl.decimal.point=true
121+
122+
123+
# Remove Un-needed JSON Keys
124+
# ------ --------- ---- ----
125+
# Set this property to true is you do not require information in the JSON
126+
# response object. This will remove the JSON keys from the response:
127+
#
128+
# - facet_counts
129+
# - responseHeader.params
130+
#
131+
# If you are starting from a fresh implementation without any legacy use of the
132+
# original Solr response object, then this is safe to set to 'true'
133+
#
134+
# ~ ~ ~ * ~ ~ ~
135+
136+
panl.remove.solr.json.keys=false
137+
138+
# Add 'extra' Information To Every Response
139+
# --- ------- ----------- -- ----- --------
140+
# This property __MUST__ be a valid JSON object and will be added to every
141+
# response from the Panl server. It will be added to the JSON response object
142+
# under the panl.extra JSON key.
143+
#
144+
# You may also add an 'extra' JSON object to each of the collections, with the
145+
# panl.extra JSON key which will override any keys in this JSON object.
146+
#
147+
# IMPORTANT:
148+
#
149+
# - If this is not a valid JSON object, then the server will error and fail
150+
# to start.
151+
# - These values may be overwritten by the panl.collection.extra property in
152+
# the individual <panl_collection_url>.panl.properties files
153+
# - You may remove this property or leave it blank and it will have no effect
154+
# and will not be included in the Panl JSON Response
155+
#
156+
# ~ ~ ~ * ~ ~ ~
157+
158+
panl.server.extra=
159+
160+
# Collection Property File Inclusion
161+
# ---------- -------- ---- ---------
162+
# Each property file defines a singular collection, with the associated
163+
# properties and configuration. The format of the property is:
164+
#
165+
# panl.collection.<solr_collection_name>=<properties_file_location>
166+
#
167+
# Where:
168+
# <solr_collection_name> is the collection to query on the Solr server
169+
# <properties_file_location> is the relative location __FROM__ this file
170+
# (i.e. the panl.properties file). The format of
171+
# the filename is:
172+
#
173+
# <panl_collection_uri>.panl.properties
174+
#
175+
# Where:
176+
# <panl_collection_uri> is the base URI path that the Panl server will
177+
# respond to, i.e. it will be bound to the Panl URL
178+
# of http://localhost:port/<panl_collection_uri>
179+
#
180+
# NOTE: You may have multiple <panl_collection_uri> values for each
181+
# <solr_collection_name> with different fieldset configurations
182+
#
183+
# ~ ~ ~ * ~ ~ ~
184+
185+
panl.collection.mechanical-pencils=mechanical-pencils.panl.properties

src/originals/docker/7/solr.in.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
SOLR_JETTY_HOST="0.0.0.0"

src/originals/docker/7/startup.sh

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#!/bin/bash
2+
3+
cd /java-servers/solr/ && bin/solr start -force
4+
cd /java-servers/panl/ && bin/panl server -properties /java-servers/panl/sample/panl/mechanical-pencils/panl.properties

src/originals/docker/8/Dockerfile

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
FROM alpine:3.22.1
2+
3+
# ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
4+
# The TAG argument is the docker tag that will be used to build the docker
5+
# image and will be of the form:
6+
# synapticloop:${TAG}
7+
# ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
8+
ARG TAG
9+
10+
# ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
11+
# Update and upgrade alpine linux, then Install necessary packages:
12+
# lsof - for the Solr server to be able to determine the port number
13+
# that it was started on (so it can listen for startup)
14+
# bash - the preferred shell
15+
# procps - an updated ps command for the Solr server to determine the
16+
# PID so that it can gracefully shtdown the server
17+
# openjdk21 - The Open JDK to run the Solr and Panl servers
18+
# ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
19+
RUN apk update && apk upgrade
20+
RUN apk add lsof bash procps openjdk21
21+
22+
23+
# ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
24+
# Make the directories for the downloaded files and Java server runtimes
25+
# ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
26+
RUN mkdir /java-servers/
27+
RUN mkdir /archives/
28+
29+
30+
# ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
31+
# Download the Solr server and the Panl server from the local disk
32+
# ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
33+
ADD https://archive.apache.org/dist/lucene/solr/8.11.4/solr-8.11.4.tgz /archives/solr-8.11.4.tgz
34+
ADD build/distributions/${TAG}.tgz /java-servers/
35+
36+
37+
# ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
38+
# Extract the Solr server (The Panl server is automatically extracted by the
39+
# ADD command above)
40+
# ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
41+
RUN tar -xzvf /archives/solr-8.11.4.tgz -C /java-servers/
42+
43+
# ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
44+
# 1. Set up the linking for the Solr and Panl installation
45+
# 2. Copy the Solr configuration files for the standalone Solr server
46+
# 3. Copy the override shell script so that Solr accepts all connections
47+
# 4. Copy over the Panl configuration for thge standalone connection
48+
# ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
49+
WORKDIR /java-servers/
50+
51+
RUN ln -s solr-8.11.4 solr
52+
RUN ln -s ${TAG} panl
53+
54+
RUN mkdir /java-servers/solr/mechanical-pencils/
55+
RUN mkdir /java-servers/solr/server/solr/mechanical-pencils/
56+
RUN cp -R /java-servers/panl/sample/solr/mechanical-pencils/* /java-servers/solr/server/solr/mechanical-pencils/
57+
58+
WORKDIR /
59+
COPY src/docker/solr.in.sh /java-servers/solr/bin/
60+
RUN chmod a+x /java-servers/solr/bin/solr.in.sh
61+
62+
COPY src/docker/panl.properties /java-servers/panl/sample/panl/mechanical-pencils/panl.properties
63+
64+
# ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
65+
# Copy over the indexer shell script and execute it - this will:
66+
# 1. Start the Solr server in standalone mode
67+
# 2. Create the mechanical-pencils collection
68+
# 3. Populate the Solr index with the mechanical pencils dataset
69+
# 4. Stop the Solr server
70+
# ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
71+
COPY src/docker/index-collection.sh /
72+
RUN chmod a+x /index-collection.sh
73+
RUN /index-collection.sh
74+
75+
# ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
76+
# Copy the startup script over, make it executable. This startup script will
77+
# Start the Panl server
78+
# ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
79+
COPY src/docker/startup.sh /
80+
RUN chmod a+x /startup.sh
81+
82+
# ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
83+
# Expose the Solr and Panl server ports
84+
# ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
85+
EXPOSE 8181/tcp
86+
EXPOSE 8983/tcp
87+
88+
89+
# ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
90+
# Run the startup script on container run.
91+
# ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
92+
CMD [ "/startup.sh" ]
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#!/bin/bash
2+
3+
cd /java-servers/solr/ && bin/solr start -force
4+
cd /java-servers/solr/ && bin/solr create -force -c mechanical-pencils -d mechanical-pencils
5+
cd /java-servers/solr/ && java -Dc=mechanical-pencils -Dtype=application/json -jar example/exampledocs/post.jar /java-servers/panl/sample/data/mechanical-pencils.json
6+
cd /java-servers/solr/ && bin/solr stop
7+

0 commit comments

Comments
 (0)