-
Notifications
You must be signed in to change notification settings - Fork 2.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update Solr to 8.3.1 #7082
Merged
Merged
Update Solr to 8.3.1 #7082
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Diff:diff --git a/_bashbrew-list b/_bashbrew-list
index 1fe155c..a1187cb 100644
--- a/_bashbrew-list
+++ b/_bashbrew-list
@@ -40,7 +40,7 @@ solr:8.2.0
solr:8.2.0-slim
solr:8.3
solr:8.3-slim
-solr:8.3.0
-solr:8.3.0-slim
+solr:8.3.1
+solr:8.3.1-slim
solr:latest
solr:slim
diff --git a/solr_5-slim/Dockerfile b/solr_5-slim/Dockerfile
index 74aa536..2c55244 100644
--- a/solr_5-slim/Dockerfile
+++ b/solr_5-slim/Dockerfile
@@ -8,7 +8,7 @@ LABEL repository="https://github.com/docker-solr/docker-solr"
# docker build -t mine --build-arg SOLR_DOWNLOAD_SERVER=http://www-eu.apache.org/dist/lucene/solr .
ARG SOLR_DOWNLOAD_SERVER
-RUN set -e; \
+RUN set -ex; \
apt-get update; \
apt-get -y install acl dirmngr gpg lsof procps wget netcat; \
rm -rf /var/lib/apt/lists/*
@@ -18,7 +18,9 @@ ENV SOLR_USER="solr" \
SOLR_GROUP="solr" \
SOLR_GID="8983" \
SOLR_VERSION="5.5.5" \
- SOLR_URL="${SOLR_DOWNLOAD_SERVER:-https://archive.apache.org/dist/lucene/solr}/5.5.5/solr-5.5.5.tgz" \
+ SOLR_CLOSER_URL="http://www.apache.org/dyn/closer.lua?filename=lucene/solr/5.5.5/solr-5.5.5.tgz&action=download" \
+ SOLR_DIST_URL="https://www.apache.org/dist/lucene/solr/5.5.5/solr-5.5.5.tgz" \
+ SOLR_ARCHIVE_URL="https://archive.apache.org/dist/lucene/solr/5.5.5/solr-5.5.5.tgz" \
SOLR_SHA256="2bbe3a55976f118c5d8c2382d4591257f6e2af779c08c6561e44afa3181a87c1" \
SOLR_KEYS="5F55943E13D49059D3F342777186B06E1ED139E7" \
PATH="/opt/solr/bin:/opt/docker-solr/scripts:$PATH"
@@ -29,11 +31,11 @@ ENV GOSU_KEY B42F6819007F00F88E364FD4036A9C25BF357DD4
ENV TINI_VERSION v0.18.0
ENV TINI_KEY 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7
-RUN set -e; \
+RUN set -ex; \
groupadd -r --gid "$SOLR_GID" "$SOLR_GROUP"; \
useradd -r --uid "$SOLR_UID" --gid "$SOLR_GID" "$SOLR_USER"
-RUN set -e; \
+RUN set -ex; \
export GNUPGHOME="/tmp/gnupg_home"; \
mkdir -p "$GNUPGHOME"; \
chmod 700 "$GNUPGHOME"; \
@@ -54,7 +56,7 @@ RUN set -e; \
done; \
exit 0
-RUN set -e; \
+RUN set -ex; \
export GNUPGHOME="/tmp/gnupg_home"; \
pkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \
wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$pkgArch"; \
@@ -69,10 +71,19 @@ RUN set -e; \
rm /usr/local/bin/tini.asc; \
chmod +x /usr/local/bin/tini; \
tini --version; \
- echo "downloading $SOLR_URL"; \
- wget -nv "$SOLR_URL" -O "/opt/solr-$SOLR_VERSION.tgz"; \
- echo "downloading $SOLR_URL.asc"; \
- wget -nv "$SOLR_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
+ if [ -n "$SOLR_DOWNLOAD_SERVER" ]; then \
+ SOLR_DOWNLOAD_URL="$SOLR_DOWNLOAD_SERVER/$SOLR_VERSION/solr-$SOLR_VERSION.tgz"; \
+ echo "downloading $SOLR_DOWNLOAD_URL"; \
+ wget -t 10 --max-redirect 1 --retry-connrefused -nv "$SOLR_DOWNLOAD_URL" -O "/opt/solr-$SOLR_VERSION.tgz" || rm -f "/opt/solr-$SOLR_VERSION.tgz"; \
+ fi; \
+ for url in $SOLR_CLOSER_URL $SOLR_DIST_URL $SOLR_ARCHIVE_URL; do \
+ if [ -f "/opt/solr-$SOLR_VERSION.tgz" ]; then break; fi; \
+ echo "downloading $url"; \
+ if wget -t 10 --max-redirect 1 --retry-connrefused -nv "$url" -O "/opt/solr-$SOLR_VERSION.tgz"; then break; else rm -f "/opt/solr-$SOLR_VERSION.tgz"; fi; \
+ done; \
+ if [ ! -f "/opt/solr-$SOLR_VERSION.tgz" ]; then echo "failed all download attempts for solr-$SOLR_VERSION.tgz"; exit 1; fi; \
+ echo "downloading $SOLR_ARCHIVE_URL.asc"; \
+ wget -nv "$SOLR_ARCHIVE_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
echo "$SOLR_SHA256 */opt/solr-$SOLR_VERSION.tgz" | sha256sum -c -; \
(>&2 ls -l "/opt/solr-$SOLR_VERSION.tgz" "/opt/solr-$SOLR_VERSION.tgz.asc"); \
gpg --batch --verify "/opt/solr-$SOLR_VERSION.tgz.asc" "/opt/solr-$SOLR_VERSION.tgz"; \
diff --git a/solr_5-slim/scripts/oom_solr.sh b/solr_5-slim/scripts/oom_solr.sh
index eb3463c..857a755 100755
--- a/solr_5-slim/scripts/oom_solr.sh
+++ b/solr_5-slim/scripts/oom_solr.sh
@@ -5,9 +5,9 @@
# See solr-forgeground for how to configure OOM behaviour
if [[ -z "${SOLR_LOGS_DIR:-}" ]]; then
- if -d /var/solr/logs; then
+ if [ -d /var/solr/logs ]; then
SOLR_LOGS_DIR=/var/solr/logs
- elif -d /opt/solr/server/logs; then
+ elif [ -d /opt/solr/server/logs ]; then
SOLR_LOGS_DIR=/opt/solr/server/logs
else
echo "Cannot determine SOLR_LOGS_DIR!"
diff --git a/solr_5/Dockerfile b/solr_5/Dockerfile
index cbaea84..e1b0ebf 100644
--- a/solr_5/Dockerfile
+++ b/solr_5/Dockerfile
@@ -8,7 +8,7 @@ LABEL repository="https://github.com/docker-solr/docker-solr"
# docker build -t mine --build-arg SOLR_DOWNLOAD_SERVER=http://www-eu.apache.org/dist/lucene/solr .
ARG SOLR_DOWNLOAD_SERVER
-RUN set -e; \
+RUN set -ex; \
apt-get update; \
apt-get -y install acl dirmngr gpg lsof procps wget netcat; \
rm -rf /var/lib/apt/lists/*
@@ -18,7 +18,9 @@ ENV SOLR_USER="solr" \
SOLR_GROUP="solr" \
SOLR_GID="8983" \
SOLR_VERSION="5.5.5" \
- SOLR_URL="${SOLR_DOWNLOAD_SERVER:-https://archive.apache.org/dist/lucene/solr}/5.5.5/solr-5.5.5.tgz" \
+ SOLR_CLOSER_URL="http://www.apache.org/dyn/closer.lua?filename=lucene/solr/5.5.5/solr-5.5.5.tgz&action=download" \
+ SOLR_DIST_URL="https://www.apache.org/dist/lucene/solr/5.5.5/solr-5.5.5.tgz" \
+ SOLR_ARCHIVE_URL="https://archive.apache.org/dist/lucene/solr/5.5.5/solr-5.5.5.tgz" \
SOLR_SHA256="2bbe3a55976f118c5d8c2382d4591257f6e2af779c08c6561e44afa3181a87c1" \
SOLR_KEYS="5F55943E13D49059D3F342777186B06E1ED139E7" \
PATH="/opt/solr/bin:/opt/docker-solr/scripts:$PATH"
@@ -29,11 +31,11 @@ ENV GOSU_KEY B42F6819007F00F88E364FD4036A9C25BF357DD4
ENV TINI_VERSION v0.18.0
ENV TINI_KEY 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7
-RUN set -e; \
+RUN set -ex; \
groupadd -r --gid "$SOLR_GID" "$SOLR_GROUP"; \
useradd -r --uid "$SOLR_UID" --gid "$SOLR_GID" "$SOLR_USER"
-RUN set -e; \
+RUN set -ex; \
export GNUPGHOME="/tmp/gnupg_home"; \
mkdir -p "$GNUPGHOME"; \
chmod 700 "$GNUPGHOME"; \
@@ -54,7 +56,7 @@ RUN set -e; \
done; \
exit 0
-RUN set -e; \
+RUN set -ex; \
export GNUPGHOME="/tmp/gnupg_home"; \
pkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \
wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$pkgArch"; \
@@ -69,10 +71,19 @@ RUN set -e; \
rm /usr/local/bin/tini.asc; \
chmod +x /usr/local/bin/tini; \
tini --version; \
- echo "downloading $SOLR_URL"; \
- wget -nv "$SOLR_URL" -O "/opt/solr-$SOLR_VERSION.tgz"; \
- echo "downloading $SOLR_URL.asc"; \
- wget -nv "$SOLR_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
+ if [ -n "$SOLR_DOWNLOAD_SERVER" ]; then \
+ SOLR_DOWNLOAD_URL="$SOLR_DOWNLOAD_SERVER/$SOLR_VERSION/solr-$SOLR_VERSION.tgz"; \
+ echo "downloading $SOLR_DOWNLOAD_URL"; \
+ wget -t 10 --max-redirect 1 --retry-connrefused -nv "$SOLR_DOWNLOAD_URL" -O "/opt/solr-$SOLR_VERSION.tgz" || rm -f "/opt/solr-$SOLR_VERSION.tgz"; \
+ fi; \
+ for url in $SOLR_CLOSER_URL $SOLR_DIST_URL $SOLR_ARCHIVE_URL; do \
+ if [ -f "/opt/solr-$SOLR_VERSION.tgz" ]; then break; fi; \
+ echo "downloading $url"; \
+ if wget -t 10 --max-redirect 1 --retry-connrefused -nv "$url" -O "/opt/solr-$SOLR_VERSION.tgz"; then break; else rm -f "/opt/solr-$SOLR_VERSION.tgz"; fi; \
+ done; \
+ if [ ! -f "/opt/solr-$SOLR_VERSION.tgz" ]; then echo "failed all download attempts for solr-$SOLR_VERSION.tgz"; exit 1; fi; \
+ echo "downloading $SOLR_ARCHIVE_URL.asc"; \
+ wget -nv "$SOLR_ARCHIVE_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
echo "$SOLR_SHA256 */opt/solr-$SOLR_VERSION.tgz" | sha256sum -c -; \
(>&2 ls -l "/opt/solr-$SOLR_VERSION.tgz" "/opt/solr-$SOLR_VERSION.tgz.asc"); \
gpg --batch --verify "/opt/solr-$SOLR_VERSION.tgz.asc" "/opt/solr-$SOLR_VERSION.tgz"; \
diff --git a/solr_5/scripts/oom_solr.sh b/solr_5/scripts/oom_solr.sh
index eb3463c..857a755 100755
--- a/solr_5/scripts/oom_solr.sh
+++ b/solr_5/scripts/oom_solr.sh
@@ -5,9 +5,9 @@
# See solr-forgeground for how to configure OOM behaviour
if [[ -z "${SOLR_LOGS_DIR:-}" ]]; then
- if -d /var/solr/logs; then
+ if [ -d /var/solr/logs ]; then
SOLR_LOGS_DIR=/var/solr/logs
- elif -d /opt/solr/server/logs; then
+ elif [ -d /opt/solr/server/logs ]; then
SOLR_LOGS_DIR=/opt/solr/server/logs
else
echo "Cannot determine SOLR_LOGS_DIR!"
diff --git a/solr_6-slim/Dockerfile b/solr_6-slim/Dockerfile
index d2658c2..a2b087f 100644
--- a/solr_6-slim/Dockerfile
+++ b/solr_6-slim/Dockerfile
@@ -8,7 +8,7 @@ LABEL repository="https://github.com/docker-solr/docker-solr"
# docker build -t mine --build-arg SOLR_DOWNLOAD_SERVER=http://www-eu.apache.org/dist/lucene/solr .
ARG SOLR_DOWNLOAD_SERVER
-RUN set -e; \
+RUN set -ex; \
apt-get update; \
apt-get -y install acl dirmngr gpg lsof procps wget netcat; \
rm -rf /var/lib/apt/lists/*
@@ -18,7 +18,9 @@ ENV SOLR_USER="solr" \
SOLR_GROUP="solr" \
SOLR_GID="8983" \
SOLR_VERSION="6.6.6" \
- SOLR_URL="${SOLR_DOWNLOAD_SERVER:-https://archive.apache.org/dist/lucene/solr}/6.6.6/solr-6.6.6.tgz" \
+ SOLR_CLOSER_URL="http://www.apache.org/dyn/closer.lua?filename=lucene/solr/6.6.6/solr-6.6.6.tgz&action=download" \
+ SOLR_DIST_URL="https://www.apache.org/dist/lucene/solr/6.6.6/solr-6.6.6.tgz" \
+ SOLR_ARCHIVE_URL="https://archive.apache.org/dist/lucene/solr/6.6.6/solr-6.6.6.tgz" \
SOLR_SHA256="149ec1a7ee950867ab6257a1a96246df79ccda983983389dc639220f3447b6e8" \
SOLR_KEYS="2085660D9C1FCCACC4A479A3BF160FF14992A24C" \
PATH="/opt/solr/bin:/opt/docker-solr/scripts:$PATH"
@@ -29,11 +31,11 @@ ENV GOSU_KEY B42F6819007F00F88E364FD4036A9C25BF357DD4
ENV TINI_VERSION v0.18.0
ENV TINI_KEY 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7
-RUN set -e; \
+RUN set -ex; \
groupadd -r --gid "$SOLR_GID" "$SOLR_GROUP"; \
useradd -r --uid "$SOLR_UID" --gid "$SOLR_GID" "$SOLR_USER"
-RUN set -e; \
+RUN set -ex; \
export GNUPGHOME="/tmp/gnupg_home"; \
mkdir -p "$GNUPGHOME"; \
chmod 700 "$GNUPGHOME"; \
@@ -54,7 +56,7 @@ RUN set -e; \
done; \
exit 0
-RUN set -e; \
+RUN set -ex; \
export GNUPGHOME="/tmp/gnupg_home"; \
pkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \
wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$pkgArch"; \
@@ -69,10 +71,19 @@ RUN set -e; \
rm /usr/local/bin/tini.asc; \
chmod +x /usr/local/bin/tini; \
tini --version; \
- echo "downloading $SOLR_URL"; \
- wget -nv "$SOLR_URL" -O "/opt/solr-$SOLR_VERSION.tgz"; \
- echo "downloading $SOLR_URL.asc"; \
- wget -nv "$SOLR_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
+ if [ -n "$SOLR_DOWNLOAD_SERVER" ]; then \
+ SOLR_DOWNLOAD_URL="$SOLR_DOWNLOAD_SERVER/$SOLR_VERSION/solr-$SOLR_VERSION.tgz"; \
+ echo "downloading $SOLR_DOWNLOAD_URL"; \
+ wget -t 10 --max-redirect 1 --retry-connrefused -nv "$SOLR_DOWNLOAD_URL" -O "/opt/solr-$SOLR_VERSION.tgz" || rm -f "/opt/solr-$SOLR_VERSION.tgz"; \
+ fi; \
+ for url in $SOLR_CLOSER_URL $SOLR_DIST_URL $SOLR_ARCHIVE_URL; do \
+ if [ -f "/opt/solr-$SOLR_VERSION.tgz" ]; then break; fi; \
+ echo "downloading $url"; \
+ if wget -t 10 --max-redirect 1 --retry-connrefused -nv "$url" -O "/opt/solr-$SOLR_VERSION.tgz"; then break; else rm -f "/opt/solr-$SOLR_VERSION.tgz"; fi; \
+ done; \
+ if [ ! -f "/opt/solr-$SOLR_VERSION.tgz" ]; then echo "failed all download attempts for solr-$SOLR_VERSION.tgz"; exit 1; fi; \
+ echo "downloading $SOLR_ARCHIVE_URL.asc"; \
+ wget -nv "$SOLR_ARCHIVE_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
echo "$SOLR_SHA256 */opt/solr-$SOLR_VERSION.tgz" | sha256sum -c -; \
(>&2 ls -l "/opt/solr-$SOLR_VERSION.tgz" "/opt/solr-$SOLR_VERSION.tgz.asc"); \
gpg --batch --verify "/opt/solr-$SOLR_VERSION.tgz.asc" "/opt/solr-$SOLR_VERSION.tgz"; \
diff --git a/solr_6-slim/scripts/oom_solr.sh b/solr_6-slim/scripts/oom_solr.sh
index eb3463c..857a755 100755
--- a/solr_6-slim/scripts/oom_solr.sh
+++ b/solr_6-slim/scripts/oom_solr.sh
@@ -5,9 +5,9 @@
# See solr-forgeground for how to configure OOM behaviour
if [[ -z "${SOLR_LOGS_DIR:-}" ]]; then
- if -d /var/solr/logs; then
+ if [ -d /var/solr/logs ]; then
SOLR_LOGS_DIR=/var/solr/logs
- elif -d /opt/solr/server/logs; then
+ elif [ -d /opt/solr/server/logs ]; then
SOLR_LOGS_DIR=/opt/solr/server/logs
else
echo "Cannot determine SOLR_LOGS_DIR!"
diff --git a/solr_6/Dockerfile b/solr_6/Dockerfile
index af25f0c..284b350 100644
--- a/solr_6/Dockerfile
+++ b/solr_6/Dockerfile
@@ -8,7 +8,7 @@ LABEL repository="https://github.com/docker-solr/docker-solr"
# docker build -t mine --build-arg SOLR_DOWNLOAD_SERVER=http://www-eu.apache.org/dist/lucene/solr .
ARG SOLR_DOWNLOAD_SERVER
-RUN set -e; \
+RUN set -ex; \
apt-get update; \
apt-get -y install acl dirmngr gpg lsof procps wget netcat; \
rm -rf /var/lib/apt/lists/*
@@ -18,7 +18,9 @@ ENV SOLR_USER="solr" \
SOLR_GROUP="solr" \
SOLR_GID="8983" \
SOLR_VERSION="6.6.6" \
- SOLR_URL="${SOLR_DOWNLOAD_SERVER:-https://archive.apache.org/dist/lucene/solr}/6.6.6/solr-6.6.6.tgz" \
+ SOLR_CLOSER_URL="http://www.apache.org/dyn/closer.lua?filename=lucene/solr/6.6.6/solr-6.6.6.tgz&action=download" \
+ SOLR_DIST_URL="https://www.apache.org/dist/lucene/solr/6.6.6/solr-6.6.6.tgz" \
+ SOLR_ARCHIVE_URL="https://archive.apache.org/dist/lucene/solr/6.6.6/solr-6.6.6.tgz" \
SOLR_SHA256="149ec1a7ee950867ab6257a1a96246df79ccda983983389dc639220f3447b6e8" \
SOLR_KEYS="2085660D9C1FCCACC4A479A3BF160FF14992A24C" \
PATH="/opt/solr/bin:/opt/docker-solr/scripts:$PATH"
@@ -29,11 +31,11 @@ ENV GOSU_KEY B42F6819007F00F88E364FD4036A9C25BF357DD4
ENV TINI_VERSION v0.18.0
ENV TINI_KEY 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7
-RUN set -e; \
+RUN set -ex; \
groupadd -r --gid "$SOLR_GID" "$SOLR_GROUP"; \
useradd -r --uid "$SOLR_UID" --gid "$SOLR_GID" "$SOLR_USER"
-RUN set -e; \
+RUN set -ex; \
export GNUPGHOME="/tmp/gnupg_home"; \
mkdir -p "$GNUPGHOME"; \
chmod 700 "$GNUPGHOME"; \
@@ -54,7 +56,7 @@ RUN set -e; \
done; \
exit 0
-RUN set -e; \
+RUN set -ex; \
export GNUPGHOME="/tmp/gnupg_home"; \
pkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \
wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$pkgArch"; \
@@ -69,10 +71,19 @@ RUN set -e; \
rm /usr/local/bin/tini.asc; \
chmod +x /usr/local/bin/tini; \
tini --version; \
- echo "downloading $SOLR_URL"; \
- wget -nv "$SOLR_URL" -O "/opt/solr-$SOLR_VERSION.tgz"; \
- echo "downloading $SOLR_URL.asc"; \
- wget -nv "$SOLR_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
+ if [ -n "$SOLR_DOWNLOAD_SERVER" ]; then \
+ SOLR_DOWNLOAD_URL="$SOLR_DOWNLOAD_SERVER/$SOLR_VERSION/solr-$SOLR_VERSION.tgz"; \
+ echo "downloading $SOLR_DOWNLOAD_URL"; \
+ wget -t 10 --max-redirect 1 --retry-connrefused -nv "$SOLR_DOWNLOAD_URL" -O "/opt/solr-$SOLR_VERSION.tgz" || rm -f "/opt/solr-$SOLR_VERSION.tgz"; \
+ fi; \
+ for url in $SOLR_CLOSER_URL $SOLR_DIST_URL $SOLR_ARCHIVE_URL; do \
+ if [ -f "/opt/solr-$SOLR_VERSION.tgz" ]; then break; fi; \
+ echo "downloading $url"; \
+ if wget -t 10 --max-redirect 1 --retry-connrefused -nv "$url" -O "/opt/solr-$SOLR_VERSION.tgz"; then break; else rm -f "/opt/solr-$SOLR_VERSION.tgz"; fi; \
+ done; \
+ if [ ! -f "/opt/solr-$SOLR_VERSION.tgz" ]; then echo "failed all download attempts for solr-$SOLR_VERSION.tgz"; exit 1; fi; \
+ echo "downloading $SOLR_ARCHIVE_URL.asc"; \
+ wget -nv "$SOLR_ARCHIVE_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
echo "$SOLR_SHA256 */opt/solr-$SOLR_VERSION.tgz" | sha256sum -c -; \
(>&2 ls -l "/opt/solr-$SOLR_VERSION.tgz" "/opt/solr-$SOLR_VERSION.tgz.asc"); \
gpg --batch --verify "/opt/solr-$SOLR_VERSION.tgz.asc" "/opt/solr-$SOLR_VERSION.tgz"; \
diff --git a/solr_6/scripts/oom_solr.sh b/solr_6/scripts/oom_solr.sh
index eb3463c..857a755 100755
--- a/solr_6/scripts/oom_solr.sh
+++ b/solr_6/scripts/oom_solr.sh
@@ -5,9 +5,9 @@
# See solr-forgeground for how to configure OOM behaviour
if [[ -z "${SOLR_LOGS_DIR:-}" ]]; then
- if -d /var/solr/logs; then
+ if [ -d /var/solr/logs ]; then
SOLR_LOGS_DIR=/var/solr/logs
- elif -d /opt/solr/server/logs; then
+ elif [ -d /opt/solr/server/logs ]; then
SOLR_LOGS_DIR=/opt/solr/server/logs
else
echo "Cannot determine SOLR_LOGS_DIR!"
diff --git a/solr_7-slim/Dockerfile b/solr_7-slim/Dockerfile
index 9a897e1..b425516 100644
--- a/solr_7-slim/Dockerfile
+++ b/solr_7-slim/Dockerfile
@@ -8,7 +8,7 @@ LABEL repository="https://github.com/docker-solr/docker-solr"
# docker build -t mine --build-arg SOLR_DOWNLOAD_SERVER=http://www-eu.apache.org/dist/lucene/solr .
ARG SOLR_DOWNLOAD_SERVER
-RUN set -e; \
+RUN set -ex; \
apt-get update; \
apt-get -y install acl dirmngr gpg lsof procps wget netcat; \
rm -rf /var/lib/apt/lists/*
@@ -18,7 +18,9 @@ ENV SOLR_USER="solr" \
SOLR_GROUP="solr" \
SOLR_GID="8983" \
SOLR_VERSION="7.7.2" \
- SOLR_URL="${SOLR_DOWNLOAD_SERVER:-https://archive.apache.org/dist/lucene/solr}/7.7.2/solr-7.7.2.tgz" \
+ SOLR_CLOSER_URL="http://www.apache.org/dyn/closer.lua?filename=lucene/solr/7.7.2/solr-7.7.2.tgz&action=download" \
+ SOLR_DIST_URL="https://www.apache.org/dist/lucene/solr/7.7.2/solr-7.7.2.tgz" \
+ SOLR_ARCHIVE_URL="https://archive.apache.org/dist/lucene/solr/7.7.2/solr-7.7.2.tgz" \
SOLR_SHA256="eb8ee4038f25364328355de3338e46961093e39166c9bcc28b5915ae491320df" \
SOLR_KEYS="2CECBFBA181601547B654B9FFA81AC8A490F538E" \
PATH="/opt/solr/bin:/opt/docker-solr/scripts:$PATH"
@@ -29,11 +31,11 @@ ENV GOSU_KEY B42F6819007F00F88E364FD4036A9C25BF357DD4
ENV TINI_VERSION v0.18.0
ENV TINI_KEY 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7
-RUN set -e; \
+RUN set -ex; \
groupadd -r --gid "$SOLR_GID" "$SOLR_GROUP"; \
useradd -r --uid "$SOLR_UID" --gid "$SOLR_GID" "$SOLR_USER"
-RUN set -e; \
+RUN set -ex; \
export GNUPGHOME="/tmp/gnupg_home"; \
mkdir -p "$GNUPGHOME"; \
chmod 700 "$GNUPGHOME"; \
@@ -54,7 +56,7 @@ RUN set -e; \
done; \
exit 0
-RUN set -e; \
+RUN set -ex; \
export GNUPGHOME="/tmp/gnupg_home"; \
pkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \
wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$pkgArch"; \
@@ -69,10 +71,19 @@ RUN set -e; \
rm /usr/local/bin/tini.asc; \
chmod +x /usr/local/bin/tini; \
tini --version; \
- echo "downloading $SOLR_URL"; \
- wget -nv "$SOLR_URL" -O "/opt/solr-$SOLR_VERSION.tgz"; \
- echo "downloading $SOLR_URL.asc"; \
- wget -nv "$SOLR_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
+ if [ -n "$SOLR_DOWNLOAD_SERVER" ]; then \
+ SOLR_DOWNLOAD_URL="$SOLR_DOWNLOAD_SERVER/$SOLR_VERSION/solr-$SOLR_VERSION.tgz"; \
+ echo "downloading $SOLR_DOWNLOAD_URL"; \
+ wget -t 10 --max-redirect 1 --retry-connrefused -nv "$SOLR_DOWNLOAD_URL" -O "/opt/solr-$SOLR_VERSION.tgz" || rm -f "/opt/solr-$SOLR_VERSION.tgz"; \
+ fi; \
+ for url in $SOLR_CLOSER_URL $SOLR_DIST_URL $SOLR_ARCHIVE_URL; do \
+ if [ -f "/opt/solr-$SOLR_VERSION.tgz" ]; then break; fi; \
+ echo "downloading $url"; \
+ if wget -t 10 --max-redirect 1 --retry-connrefused -nv "$url" -O "/opt/solr-$SOLR_VERSION.tgz"; then break; else rm -f "/opt/solr-$SOLR_VERSION.tgz"; fi; \
+ done; \
+ if [ ! -f "/opt/solr-$SOLR_VERSION.tgz" ]; then echo "failed all download attempts for solr-$SOLR_VERSION.tgz"; exit 1; fi; \
+ echo "downloading $SOLR_ARCHIVE_URL.asc"; \
+ wget -nv "$SOLR_ARCHIVE_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
echo "$SOLR_SHA256 */opt/solr-$SOLR_VERSION.tgz" | sha256sum -c -; \
(>&2 ls -l "/opt/solr-$SOLR_VERSION.tgz" "/opt/solr-$SOLR_VERSION.tgz.asc"); \
gpg --batch --verify "/opt/solr-$SOLR_VERSION.tgz.asc" "/opt/solr-$SOLR_VERSION.tgz"; \
diff --git a/solr_7-slim/scripts/oom_solr.sh b/solr_7-slim/scripts/oom_solr.sh
index eb3463c..857a755 100755
--- a/solr_7-slim/scripts/oom_solr.sh
+++ b/solr_7-slim/scripts/oom_solr.sh
@@ -5,9 +5,9 @@
# See solr-forgeground for how to configure OOM behaviour
if [[ -z "${SOLR_LOGS_DIR:-}" ]]; then
- if -d /var/solr/logs; then
+ if [ -d /var/solr/logs ]; then
SOLR_LOGS_DIR=/var/solr/logs
- elif -d /opt/solr/server/logs; then
+ elif [ -d /opt/solr/server/logs ]; then
SOLR_LOGS_DIR=/opt/solr/server/logs
else
echo "Cannot determine SOLR_LOGS_DIR!"
diff --git a/solr_7.5-slim/Dockerfile b/solr_7.5-slim/Dockerfile
index 1f64e1f..6bfb926 100644
--- a/solr_7.5-slim/Dockerfile
+++ b/solr_7.5-slim/Dockerfile
@@ -8,7 +8,7 @@ LABEL repository="https://github.com/docker-solr/docker-solr"
# docker build -t mine --build-arg SOLR_DOWNLOAD_SERVER=http://www-eu.apache.org/dist/lucene/solr .
ARG SOLR_DOWNLOAD_SERVER
-RUN set -e; \
+RUN set -ex; \
apt-get update; \
apt-get -y install acl dirmngr gpg lsof procps wget netcat; \
rm -rf /var/lib/apt/lists/*
@@ -18,7 +18,9 @@ ENV SOLR_USER="solr" \
SOLR_GROUP="solr" \
SOLR_GID="8983" \
SOLR_VERSION="7.5.0" \
- SOLR_URL="${SOLR_DOWNLOAD_SERVER:-https://archive.apache.org/dist/lucene/solr}/7.5.0/solr-7.5.0.tgz" \
+ SOLR_CLOSER_URL="http://www.apache.org/dyn/closer.lua?filename=lucene/solr/7.5.0/solr-7.5.0.tgz&action=download" \
+ SOLR_DIST_URL="https://www.apache.org/dist/lucene/solr/7.5.0/solr-7.5.0.tgz" \
+ SOLR_ARCHIVE_URL="https://archive.apache.org/dist/lucene/solr/7.5.0/solr-7.5.0.tgz" \
SOLR_SHA256="eac2daffc376dd8057ee831fbfc4a1b8ee236b8ad94122e11d67fd2b242acebc" \
SOLR_KEYS="052C5B48A480B9CEA9E218A5F98C13CFA5A135D8" \
PATH="/opt/solr/bin:/opt/docker-solr/scripts:$PATH"
@@ -29,11 +31,11 @@ ENV GOSU_KEY B42F6819007F00F88E364FD4036A9C25BF357DD4
ENV TINI_VERSION v0.18.0
ENV TINI_KEY 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7
-RUN set -e; \
+RUN set -ex; \
groupadd -r --gid "$SOLR_GID" "$SOLR_GROUP"; \
useradd -r --uid "$SOLR_UID" --gid "$SOLR_GID" "$SOLR_USER"
-RUN set -e; \
+RUN set -ex; \
export GNUPGHOME="/tmp/gnupg_home"; \
mkdir -p "$GNUPGHOME"; \
chmod 700 "$GNUPGHOME"; \
@@ -54,7 +56,7 @@ RUN set -e; \
done; \
exit 0
-RUN set -e; \
+RUN set -ex; \
export GNUPGHOME="/tmp/gnupg_home"; \
pkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \
wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$pkgArch"; \
@@ -69,10 +71,19 @@ RUN set -e; \
rm /usr/local/bin/tini.asc; \
chmod +x /usr/local/bin/tini; \
tini --version; \
- echo "downloading $SOLR_URL"; \
- wget -nv "$SOLR_URL" -O "/opt/solr-$SOLR_VERSION.tgz"; \
- echo "downloading $SOLR_URL.asc"; \
- wget -nv "$SOLR_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
+ if [ -n "$SOLR_DOWNLOAD_SERVER" ]; then \
+ SOLR_DOWNLOAD_URL="$SOLR_DOWNLOAD_SERVER/$SOLR_VERSION/solr-$SOLR_VERSION.tgz"; \
+ echo "downloading $SOLR_DOWNLOAD_URL"; \
+ wget -t 10 --max-redirect 1 --retry-connrefused -nv "$SOLR_DOWNLOAD_URL" -O "/opt/solr-$SOLR_VERSION.tgz" || rm -f "/opt/solr-$SOLR_VERSION.tgz"; \
+ fi; \
+ for url in $SOLR_CLOSER_URL $SOLR_DIST_URL $SOLR_ARCHIVE_URL; do \
+ if [ -f "/opt/solr-$SOLR_VERSION.tgz" ]; then break; fi; \
+ echo "downloading $url"; \
+ if wget -t 10 --max-redirect 1 --retry-connrefused -nv "$url" -O "/opt/solr-$SOLR_VERSION.tgz"; then break; else rm -f "/opt/solr-$SOLR_VERSION.tgz"; fi; \
+ done; \
+ if [ ! -f "/opt/solr-$SOLR_VERSION.tgz" ]; then echo "failed all download attempts for solr-$SOLR_VERSION.tgz"; exit 1; fi; \
+ echo "downloading $SOLR_ARCHIVE_URL.asc"; \
+ wget -nv "$SOLR_ARCHIVE_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
echo "$SOLR_SHA256 */opt/solr-$SOLR_VERSION.tgz" | sha256sum -c -; \
(>&2 ls -l "/opt/solr-$SOLR_VERSION.tgz" "/opt/solr-$SOLR_VERSION.tgz.asc"); \
gpg --batch --verify "/opt/solr-$SOLR_VERSION.tgz.asc" "/opt/solr-$SOLR_VERSION.tgz"; \
diff --git a/solr_7.5-slim/scripts/oom_solr.sh b/solr_7.5-slim/scripts/oom_solr.sh
index eb3463c..857a755 100755
--- a/solr_7.5-slim/scripts/oom_solr.sh
+++ b/solr_7.5-slim/scripts/oom_solr.sh
@@ -5,9 +5,9 @@
# See solr-forgeground for how to configure OOM behaviour
if [[ -z "${SOLR_LOGS_DIR:-}" ]]; then
- if -d /var/solr/logs; then
+ if [ -d /var/solr/logs ]; then
SOLR_LOGS_DIR=/var/solr/logs
- elif -d /opt/solr/server/logs; then
+ elif [ -d /opt/solr/server/logs ]; then
SOLR_LOGS_DIR=/opt/solr/server/logs
else
echo "Cannot determine SOLR_LOGS_DIR!"
diff --git a/solr_7.5/Dockerfile b/solr_7.5/Dockerfile
index 6bf885e..c862d20 100644
--- a/solr_7.5/Dockerfile
+++ b/solr_7.5/Dockerfile
@@ -8,7 +8,7 @@ LABEL repository="https://github.com/docker-solr/docker-solr"
# docker build -t mine --build-arg SOLR_DOWNLOAD_SERVER=http://www-eu.apache.org/dist/lucene/solr .
ARG SOLR_DOWNLOAD_SERVER
-RUN set -e; \
+RUN set -ex; \
apt-get update; \
apt-get -y install acl dirmngr gpg lsof procps wget netcat; \
rm -rf /var/lib/apt/lists/*
@@ -18,7 +18,9 @@ ENV SOLR_USER="solr" \
SOLR_GROUP="solr" \
SOLR_GID="8983" \
SOLR_VERSION="7.5.0" \
- SOLR_URL="${SOLR_DOWNLOAD_SERVER:-https://archive.apache.org/dist/lucene/solr}/7.5.0/solr-7.5.0.tgz" \
+ SOLR_CLOSER_URL="http://www.apache.org/dyn/closer.lua?filename=lucene/solr/7.5.0/solr-7.5.0.tgz&action=download" \
+ SOLR_DIST_URL="https://www.apache.org/dist/lucene/solr/7.5.0/solr-7.5.0.tgz" \
+ SOLR_ARCHIVE_URL="https://archive.apache.org/dist/lucene/solr/7.5.0/solr-7.5.0.tgz" \
SOLR_SHA256="eac2daffc376dd8057ee831fbfc4a1b8ee236b8ad94122e11d67fd2b242acebc" \
SOLR_KEYS="052C5B48A480B9CEA9E218A5F98C13CFA5A135D8" \
PATH="/opt/solr/bin:/opt/docker-solr/scripts:$PATH"
@@ -29,11 +31,11 @@ ENV GOSU_KEY B42F6819007F00F88E364FD4036A9C25BF357DD4
ENV TINI_VERSION v0.18.0
ENV TINI_KEY 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7
-RUN set -e; \
+RUN set -ex; \
groupadd -r --gid "$SOLR_GID" "$SOLR_GROUP"; \
useradd -r --uid "$SOLR_UID" --gid "$SOLR_GID" "$SOLR_USER"
-RUN set -e; \
+RUN set -ex; \
export GNUPGHOME="/tmp/gnupg_home"; \
mkdir -p "$GNUPGHOME"; \
chmod 700 "$GNUPGHOME"; \
@@ -54,7 +56,7 @@ RUN set -e; \
done; \
exit 0
-RUN set -e; \
+RUN set -ex; \
export GNUPGHOME="/tmp/gnupg_home"; \
pkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \
wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$pkgArch"; \
@@ -69,10 +71,19 @@ RUN set -e; \
rm /usr/local/bin/tini.asc; \
chmod +x /usr/local/bin/tini; \
tini --version; \
- echo "downloading $SOLR_URL"; \
- wget -nv "$SOLR_URL" -O "/opt/solr-$SOLR_VERSION.tgz"; \
- echo "downloading $SOLR_URL.asc"; \
- wget -nv "$SOLR_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
+ if [ -n "$SOLR_DOWNLOAD_SERVER" ]; then \
+ SOLR_DOWNLOAD_URL="$SOLR_DOWNLOAD_SERVER/$SOLR_VERSION/solr-$SOLR_VERSION.tgz"; \
+ echo "downloading $SOLR_DOWNLOAD_URL"; \
+ wget -t 10 --max-redirect 1 --retry-connrefused -nv "$SOLR_DOWNLOAD_URL" -O "/opt/solr-$SOLR_VERSION.tgz" || rm -f "/opt/solr-$SOLR_VERSION.tgz"; \
+ fi; \
+ for url in $SOLR_CLOSER_URL $SOLR_DIST_URL $SOLR_ARCHIVE_URL; do \
+ if [ -f "/opt/solr-$SOLR_VERSION.tgz" ]; then break; fi; \
+ echo "downloading $url"; \
+ if wget -t 10 --max-redirect 1 --retry-connrefused -nv "$url" -O "/opt/solr-$SOLR_VERSION.tgz"; then break; else rm -f "/opt/solr-$SOLR_VERSION.tgz"; fi; \
+ done; \
+ if [ ! -f "/opt/solr-$SOLR_VERSION.tgz" ]; then echo "failed all download attempts for solr-$SOLR_VERSION.tgz"; exit 1; fi; \
+ echo "downloading $SOLR_ARCHIVE_URL.asc"; \
+ wget -nv "$SOLR_ARCHIVE_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
echo "$SOLR_SHA256 */opt/solr-$SOLR_VERSION.tgz" | sha256sum -c -; \
(>&2 ls -l "/opt/solr-$SOLR_VERSION.tgz" "/opt/solr-$SOLR_VERSION.tgz.asc"); \
gpg --batch --verify "/opt/solr-$SOLR_VERSION.tgz.asc" "/opt/solr-$SOLR_VERSION.tgz"; \
diff --git a/solr_7.5/scripts/oom_solr.sh b/solr_7.5/scripts/oom_solr.sh
index eb3463c..857a755 100755
--- a/solr_7.5/scripts/oom_solr.sh
+++ b/solr_7.5/scripts/oom_solr.sh
@@ -5,9 +5,9 @@
# See solr-forgeground for how to configure OOM behaviour
if [[ -z "${SOLR_LOGS_DIR:-}" ]]; then
- if -d /var/solr/logs; then
+ if [ -d /var/solr/logs ]; then
SOLR_LOGS_DIR=/var/solr/logs
- elif -d /opt/solr/server/logs; then
+ elif [ -d /opt/solr/server/logs ]; then
SOLR_LOGS_DIR=/opt/solr/server/logs
else
echo "Cannot determine SOLR_LOGS_DIR!"
diff --git a/solr_7.6-slim/Dockerfile b/solr_7.6-slim/Dockerfile
index ea83695..31f2cb7 100644
--- a/solr_7.6-slim/Dockerfile
+++ b/solr_7.6-slim/Dockerfile
@@ -8,7 +8,7 @@ LABEL repository="https://github.com/docker-solr/docker-solr"
# docker build -t mine --build-arg SOLR_DOWNLOAD_SERVER=http://www-eu.apache.org/dist/lucene/solr .
ARG SOLR_DOWNLOAD_SERVER
-RUN set -e; \
+RUN set -ex; \
apt-get update; \
apt-get -y install acl dirmngr gpg lsof procps wget netcat; \
rm -rf /var/lib/apt/lists/*
@@ -18,7 +18,9 @@ ENV SOLR_USER="solr" \
SOLR_GROUP="solr" \
SOLR_GID="8983" \
SOLR_VERSION="7.6.0" \
- SOLR_URL="${SOLR_DOWNLOAD_SERVER:-https://archive.apache.org/dist/lucene/solr}/7.6.0/solr-7.6.0.tgz" \
+ SOLR_CLOSER_URL="http://www.apache.org/dyn/closer.lua?filename=lucene/solr/7.6.0/solr-7.6.0.tgz&action=download" \
+ SOLR_DIST_URL="https://www.apache.org/dist/lucene/solr/7.6.0/solr-7.6.0.tgz" \
+ SOLR_ARCHIVE_URL="https://archive.apache.org/dist/lucene/solr/7.6.0/solr-7.6.0.tgz" \
SOLR_SHA256="2cb425a0b30ff153465d306803e514e53e41924d74f28d842cb3a07cace759d5" \
SOLR_KEYS="95B01F0E78111D63D331C1A751F0CC22F625308A" \
PATH="/opt/solr/bin:/opt/docker-solr/scripts:$PATH"
@@ -29,11 +31,11 @@ ENV GOSU_KEY B42F6819007F00F88E364FD4036A9C25BF357DD4
ENV TINI_VERSION v0.18.0
ENV TINI_KEY 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7
-RUN set -e; \
+RUN set -ex; \
groupadd -r --gid "$SOLR_GID" "$SOLR_GROUP"; \
useradd -r --uid "$SOLR_UID" --gid "$SOLR_GID" "$SOLR_USER"
-RUN set -e; \
+RUN set -ex; \
export GNUPGHOME="/tmp/gnupg_home"; \
mkdir -p "$GNUPGHOME"; \
chmod 700 "$GNUPGHOME"; \
@@ -54,7 +56,7 @@ RUN set -e; \
done; \
exit 0
-RUN set -e; \
+RUN set -ex; \
export GNUPGHOME="/tmp/gnupg_home"; \
pkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \
wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$pkgArch"; \
@@ -69,10 +71,19 @@ RUN set -e; \
rm /usr/local/bin/tini.asc; \
chmod +x /usr/local/bin/tini; \
tini --version; \
- echo "downloading $SOLR_URL"; \
- wget -nv "$SOLR_URL" -O "/opt/solr-$SOLR_VERSION.tgz"; \
- echo "downloading $SOLR_URL.asc"; \
- wget -nv "$SOLR_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
+ if [ -n "$SOLR_DOWNLOAD_SERVER" ]; then \
+ SOLR_DOWNLOAD_URL="$SOLR_DOWNLOAD_SERVER/$SOLR_VERSION/solr-$SOLR_VERSION.tgz"; \
+ echo "downloading $SOLR_DOWNLOAD_URL"; \
+ wget -t 10 --max-redirect 1 --retry-connrefused -nv "$SOLR_DOWNLOAD_URL" -O "/opt/solr-$SOLR_VERSION.tgz" || rm -f "/opt/solr-$SOLR_VERSION.tgz"; \
+ fi; \
+ for url in $SOLR_CLOSER_URL $SOLR_DIST_URL $SOLR_ARCHIVE_URL; do \
+ if [ -f "/opt/solr-$SOLR_VERSION.tgz" ]; then break; fi; \
+ echo "downloading $url"; \
+ if wget -t 10 --max-redirect 1 --retry-connrefused -nv "$url" -O "/opt/solr-$SOLR_VERSION.tgz"; then break; else rm -f "/opt/solr-$SOLR_VERSION.tgz"; fi; \
+ done; \
+ if [ ! -f "/opt/solr-$SOLR_VERSION.tgz" ]; then echo "failed all download attempts for solr-$SOLR_VERSION.tgz"; exit 1; fi; \
+ echo "downloading $SOLR_ARCHIVE_URL.asc"; \
+ wget -nv "$SOLR_ARCHIVE_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
echo "$SOLR_SHA256 */opt/solr-$SOLR_VERSION.tgz" | sha256sum -c -; \
(>&2 ls -l "/opt/solr-$SOLR_VERSION.tgz" "/opt/solr-$SOLR_VERSION.tgz.asc"); \
gpg --batch --verify "/opt/solr-$SOLR_VERSION.tgz.asc" "/opt/solr-$SOLR_VERSION.tgz"; \
diff --git a/solr_7.6-slim/scripts/oom_solr.sh b/solr_7.6-slim/scripts/oom_solr.sh
index eb3463c..857a755 100755
--- a/solr_7.6-slim/scripts/oom_solr.sh
+++ b/solr_7.6-slim/scripts/oom_solr.sh
@@ -5,9 +5,9 @@
# See solr-forgeground for how to configure OOM behaviour
if [[ -z "${SOLR_LOGS_DIR:-}" ]]; then
- if -d /var/solr/logs; then
+ if [ -d /var/solr/logs ]; then
SOLR_LOGS_DIR=/var/solr/logs
- elif -d /opt/solr/server/logs; then
+ elif [ -d /opt/solr/server/logs ]; then
SOLR_LOGS_DIR=/opt/solr/server/logs
else
echo "Cannot determine SOLR_LOGS_DIR!"
diff --git a/solr_7.6/Dockerfile b/solr_7.6/Dockerfile
index b171b24..0ea364c 100644
--- a/solr_7.6/Dockerfile
+++ b/solr_7.6/Dockerfile
@@ -8,7 +8,7 @@ LABEL repository="https://github.com/docker-solr/docker-solr"
# docker build -t mine --build-arg SOLR_DOWNLOAD_SERVER=http://www-eu.apache.org/dist/lucene/solr .
ARG SOLR_DOWNLOAD_SERVER
-RUN set -e; \
+RUN set -ex; \
apt-get update; \
apt-get -y install acl dirmngr gpg lsof procps wget netcat; \
rm -rf /var/lib/apt/lists/*
@@ -18,7 +18,9 @@ ENV SOLR_USER="solr" \
SOLR_GROUP="solr" \
SOLR_GID="8983" \
SOLR_VERSION="7.6.0" \
- SOLR_URL="${SOLR_DOWNLOAD_SERVER:-https://archive.apache.org/dist/lucene/solr}/7.6.0/solr-7.6.0.tgz" \
+ SOLR_CLOSER_URL="http://www.apache.org/dyn/closer.lua?filename=lucene/solr/7.6.0/solr-7.6.0.tgz&action=download" \
+ SOLR_DIST_URL="https://www.apache.org/dist/lucene/solr/7.6.0/solr-7.6.0.tgz" \
+ SOLR_ARCHIVE_URL="https://archive.apache.org/dist/lucene/solr/7.6.0/solr-7.6.0.tgz" \
SOLR_SHA256="2cb425a0b30ff153465d306803e514e53e41924d74f28d842cb3a07cace759d5" \
SOLR_KEYS="95B01F0E78111D63D331C1A751F0CC22F625308A" \
PATH="/opt/solr/bin:/opt/docker-solr/scripts:$PATH"
@@ -29,11 +31,11 @@ ENV GOSU_KEY B42F6819007F00F88E364FD4036A9C25BF357DD4
ENV TINI_VERSION v0.18.0
ENV TINI_KEY 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7
-RUN set -e; \
+RUN set -ex; \
groupadd -r --gid "$SOLR_GID" "$SOLR_GROUP"; \
useradd -r --uid "$SOLR_UID" --gid "$SOLR_GID" "$SOLR_USER"
-RUN set -e; \
+RUN set -ex; \
export GNUPGHOME="/tmp/gnupg_home"; \
mkdir -p "$GNUPGHOME"; \
chmod 700 "$GNUPGHOME"; \
@@ -54,7 +56,7 @@ RUN set -e; \
done; \
exit 0
-RUN set -e; \
+RUN set -ex; \
export GNUPGHOME="/tmp/gnupg_home"; \
pkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \
wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$pkgArch"; \
@@ -69,10 +71,19 @@ RUN set -e; \
rm /usr/local/bin/tini.asc; \
chmod +x /usr/local/bin/tini; \
tini --version; \
- echo "downloading $SOLR_URL"; \
- wget -nv "$SOLR_URL" -O "/opt/solr-$SOLR_VERSION.tgz"; \
- echo "downloading $SOLR_URL.asc"; \
- wget -nv "$SOLR_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
+ if [ -n "$SOLR_DOWNLOAD_SERVER" ]; then \
+ SOLR_DOWNLOAD_URL="$SOLR_DOWNLOAD_SERVER/$SOLR_VERSION/solr-$SOLR_VERSION.tgz"; \
+ echo "downloading $SOLR_DOWNLOAD_URL"; \
+ wget -t 10 --max-redirect 1 --retry-connrefused -nv "$SOLR_DOWNLOAD_URL" -O "/opt/solr-$SOLR_VERSION.tgz" || rm -f "/opt/solr-$SOLR_VERSION.tgz"; \
+ fi; \
+ for url in $SOLR_CLOSER_URL $SOLR_DIST_URL $SOLR_ARCHIVE_URL; do \
+ if [ -f "/opt/solr-$SOLR_VERSION.tgz" ]; then break; fi; \
+ echo "downloading $url"; \
+ if wget -t 10 --max-redirect 1 --retry-connrefused -nv "$url" -O "/opt/solr-$SOLR_VERSION.tgz"; then break; else rm -f "/opt/solr-$SOLR_VERSION.tgz"; fi; \
+ done; \
+ if [ ! -f "/opt/solr-$SOLR_VERSION.tgz" ]; then echo "failed all download attempts for solr-$SOLR_VERSION.tgz"; exit 1; fi; \
+ echo "downloading $SOLR_ARCHIVE_URL.asc"; \
+ wget -nv "$SOLR_ARCHIVE_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
echo "$SOLR_SHA256 */opt/solr-$SOLR_VERSION.tgz" | sha256sum -c -; \
(>&2 ls -l "/opt/solr-$SOLR_VERSION.tgz" "/opt/solr-$SOLR_VERSION.tgz.asc"); \
gpg --batch --verify "/opt/solr-$SOLR_VERSION.tgz.asc" "/opt/solr-$SOLR_VERSION.tgz"; \
diff --git a/solr_7.6/scripts/oom_solr.sh b/solr_7.6/scripts/oom_solr.sh
index eb3463c..857a755 100755
--- a/solr_7.6/scripts/oom_solr.sh
+++ b/solr_7.6/scripts/oom_solr.sh
@@ -5,9 +5,9 @@
# See solr-forgeground for how to configure OOM behaviour
if [[ -z "${SOLR_LOGS_DIR:-}" ]]; then
- if -d /var/solr/logs; then
+ if [ -d /var/solr/logs ]; then
SOLR_LOGS_DIR=/var/solr/logs
- elif -d /opt/solr/server/logs; then
+ elif [ -d /opt/solr/server/logs ]; then
SOLR_LOGS_DIR=/opt/solr/server/logs
else
echo "Cannot determine SOLR_LOGS_DIR!"
diff --git a/solr_7/Dockerfile b/solr_7/Dockerfile
index 4dfeed6..7049f4e 100644
--- a/solr_7/Dockerfile
+++ b/solr_7/Dockerfile
@@ -8,7 +8,7 @@ LABEL repository="https://github.com/docker-solr/docker-solr"
# docker build -t mine --build-arg SOLR_DOWNLOAD_SERVER=http://www-eu.apache.org/dist/lucene/solr .
ARG SOLR_DOWNLOAD_SERVER
-RUN set -e; \
+RUN set -ex; \
apt-get update; \
apt-get -y install acl dirmngr gpg lsof procps wget netcat; \
rm -rf /var/lib/apt/lists/*
@@ -18,7 +18,9 @@ ENV SOLR_USER="solr" \
SOLR_GROUP="solr" \
SOLR_GID="8983" \
SOLR_VERSION="7.7.2" \
- SOLR_URL="${SOLR_DOWNLOAD_SERVER:-https://archive.apache.org/dist/lucene/solr}/7.7.2/solr-7.7.2.tgz" \
+ SOLR_CLOSER_URL="http://www.apache.org/dyn/closer.lua?filename=lucene/solr/7.7.2/solr-7.7.2.tgz&action=download" \
+ SOLR_DIST_URL="https://www.apache.org/dist/lucene/solr/7.7.2/solr-7.7.2.tgz" \
+ SOLR_ARCHIVE_URL="https://archive.apache.org/dist/lucene/solr/7.7.2/solr-7.7.2.tgz" \
SOLR_SHA256="eb8ee4038f25364328355de3338e46961093e39166c9bcc28b5915ae491320df" \
SOLR_KEYS="2CECBFBA181601547B654B9FFA81AC8A490F538E" \
PATH="/opt/solr/bin:/opt/docker-solr/scripts:$PATH"
@@ -29,11 +31,11 @@ ENV GOSU_KEY B42F6819007F00F88E364FD4036A9C25BF357DD4
ENV TINI_VERSION v0.18.0
ENV TINI_KEY 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7
-RUN set -e; \
+RUN set -ex; \
groupadd -r --gid "$SOLR_GID" "$SOLR_GROUP"; \
useradd -r --uid "$SOLR_UID" --gid "$SOLR_GID" "$SOLR_USER"
-RUN set -e; \
+RUN set -ex; \
export GNUPGHOME="/tmp/gnupg_home"; \
mkdir -p "$GNUPGHOME"; \
chmod 700 "$GNUPGHOME"; \
@@ -54,7 +56,7 @@ RUN set -e; \
done; \
exit 0
-RUN set -e; \
+RUN set -ex; \
export GNUPGHOME="/tmp/gnupg_home"; \
pkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \
wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$pkgArch"; \
@@ -69,10 +71,19 @@ RUN set -e; \
rm /usr/local/bin/tini.asc; \
chmod +x /usr/local/bin/tini; \
tini --version; \
- echo "downloading $SOLR_URL"; \
- wget -nv "$SOLR_URL" -O "/opt/solr-$SOLR_VERSION.tgz"; \
- echo "downloading $SOLR_URL.asc"; \
- wget -nv "$SOLR_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
+ if [ -n "$SOLR_DOWNLOAD_SERVER" ]; then \
+ SOLR_DOWNLOAD_URL="$SOLR_DOWNLOAD_SERVER/$SOLR_VERSION/solr-$SOLR_VERSION.tgz"; \
+ echo "downloading $SOLR_DOWNLOAD_URL"; \
+ wget -t 10 --max-redirect 1 --retry-connrefused -nv "$SOLR_DOWNLOAD_URL" -O "/opt/solr-$SOLR_VERSION.tgz" || rm -f "/opt/solr-$SOLR_VERSION.tgz"; \
+ fi; \
+ for url in $SOLR_CLOSER_URL $SOLR_DIST_URL $SOLR_ARCHIVE_URL; do \
+ if [ -f "/opt/solr-$SOLR_VERSION.tgz" ]; then break; fi; \
+ echo "downloading $url"; \
+ if wget -t 10 --max-redirect 1 --retry-connrefused -nv "$url" -O "/opt/solr-$SOLR_VERSION.tgz"; then break; else rm -f "/opt/solr-$SOLR_VERSION.tgz"; fi; \
+ done; \
+ if [ ! -f "/opt/solr-$SOLR_VERSION.tgz" ]; then echo "failed all download attempts for solr-$SOLR_VERSION.tgz"; exit 1; fi; \
+ echo "downloading $SOLR_ARCHIVE_URL.asc"; \
+ wget -nv "$SOLR_ARCHIVE_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
echo "$SOLR_SHA256 */opt/solr-$SOLR_VERSION.tgz" | sha256sum -c -; \
(>&2 ls -l "/opt/solr-$SOLR_VERSION.tgz" "/opt/solr-$SOLR_VERSION.tgz.asc"); \
gpg --batch --verify "/opt/solr-$SOLR_VERSION.tgz.asc" "/opt/solr-$SOLR_VERSION.tgz"; \
diff --git a/solr_7/scripts/oom_solr.sh b/solr_7/scripts/oom_solr.sh
index eb3463c..857a755 100755
--- a/solr_7/scripts/oom_solr.sh
+++ b/solr_7/scripts/oom_solr.sh
@@ -5,9 +5,9 @@
# See solr-forgeground for how to configure OOM behaviour
if [[ -z "${SOLR_LOGS_DIR:-}" ]]; then
- if -d /var/solr/logs; then
+ if [ -d /var/solr/logs ]; then
SOLR_LOGS_DIR=/var/solr/logs
- elif -d /opt/solr/server/logs; then
+ elif [ -d /opt/solr/server/logs ]; then
SOLR_LOGS_DIR=/opt/solr/server/logs
else
echo "Cannot determine SOLR_LOGS_DIR!"
diff --git a/solr_8.0-slim/Dockerfile b/solr_8.0-slim/Dockerfile
index 09bc9c2..2f0c338 100644
--- a/solr_8.0-slim/Dockerfile
+++ b/solr_8.0-slim/Dockerfile
@@ -8,7 +8,7 @@ LABEL repository="https://github.com/docker-solr/docker-solr"
# docker build -t mine --build-arg SOLR_DOWNLOAD_SERVER=http://www-eu.apache.org/dist/lucene/solr .
ARG SOLR_DOWNLOAD_SERVER
-RUN set -e; \
+RUN set -ex; \
apt-get update; \
apt-get -y install acl dirmngr gpg lsof procps wget netcat; \
rm -rf /var/lib/apt/lists/*
@@ -18,7 +18,9 @@ ENV SOLR_USER="solr" \
SOLR_GROUP="solr" \
SOLR_GID="8983" \
SOLR_VERSION="8.0.0" \
- SOLR_URL="${SOLR_DOWNLOAD_SERVER:-https://archive.apache.org/dist/lucene/solr}/8.0.0/solr-8.0.0.tgz" \
+ SOLR_CLOSER_URL="http://www.apache.org/dyn/closer.lua?filename=lucene/solr/8.0.0/solr-8.0.0.tgz&action=download" \
+ SOLR_DIST_URL="https://www.apache.org/dist/lucene/solr/8.0.0/solr-8.0.0.tgz" \
+ SOLR_ARCHIVE_URL="https://archive.apache.org/dist/lucene/solr/8.0.0/solr-8.0.0.tgz" \
SOLR_SHA256="0e6392d3b980ab917c731b054101aafcebceacc0e5063cb1e305aeeaec911d12" \
SOLR_KEYS="052C5B48A480B9CEA9E218A5F98C13CFA5A135D8" \
PATH="/opt/solr/bin:/opt/docker-solr/scripts:$PATH" \
@@ -34,11 +36,11 @@ ENV GOSU_KEY B42F6819007F00F88E364FD4036A9C25BF357DD4
ENV TINI_VERSION v0.18.0
ENV TINI_KEY 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7
-RUN set -x; \
+RUN set -ex; \
groupadd -r --gid "$SOLR_GID" "$SOLR_GROUP"; \
useradd -r --uid "$SOLR_UID" --gid "$SOLR_GID" "$SOLR_USER"
-RUN set -e; \
+RUN set -ex; \
export GNUPGHOME="/tmp/gnupg_home"; \
mkdir -p "$GNUPGHOME"; \
chmod 700 "$GNUPGHOME"; \
@@ -59,7 +61,7 @@ RUN set -e; \
done; \
exit 0
-RUN set -e; \
+RUN set -ex; \
export GNUPGHOME="/tmp/gnupg_home"; \
pkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \
wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$pkgArch"; \
@@ -74,10 +76,19 @@ RUN set -e; \
rm /usr/local/bin/tini.asc; \
chmod +x /usr/local/bin/tini; \
tini --version; \
- echo "downloading $SOLR_URL"; \
- wget -nv "$SOLR_URL" -O "/opt/solr-$SOLR_VERSION.tgz"; \
- echo "downloading $SOLR_URL.asc"; \
- wget -nv "$SOLR_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
+ if [ -n "$SOLR_DOWNLOAD_SERVER" ]; then \
+ SOLR_DOWNLOAD_URL="$SOLR_DOWNLOAD_SERVER/$SOLR_VERSION/solr-$SOLR_VERSION.tgz"; \
+ echo "downloading $SOLR_DOWNLOAD_URL"; \
+ wget -t 10 --max-redirect 1 --retry-connrefused -nv "$SOLR_DOWNLOAD_URL" -O "/opt/solr-$SOLR_VERSION.tgz" || rm -f "/opt/solr-$SOLR_VERSION.tgz"; \
+ fi; \
+ for url in $SOLR_CLOSER_URL $SOLR_DIST_URL $SOLR_ARCHIVE_URL; do \
+ if [ -f "/opt/solr-$SOLR_VERSION.tgz" ]; then break; fi; \
+ echo "downloading $url"; \
+ if wget -t 10 --max-redirect 1 --retry-connrefused -nv "$url" -O "/opt/solr-$SOLR_VERSION.tgz"; then break; else rm -f "/opt/solr-$SOLR_VERSION.tgz"; fi; \
+ done; \
+ if [ ! -f "/opt/solr-$SOLR_VERSION.tgz" ]; then echo "failed all download attempts for solr-$SOLR_VERSION.tgz"; exit 1; fi; \
+ echo "downloading $SOLR_ARCHIVE_URL.asc"; \
+ wget -nv "$SOLR_ARCHIVE_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
echo "$SOLR_SHA256 */opt/solr-$SOLR_VERSION.tgz" | sha256sum -c -; \
(>&2 ls -l "/opt/solr-$SOLR_VERSION.tgz" "/opt/solr-$SOLR_VERSION.tgz.asc"); \
gpg --batch --verify "/opt/solr-$SOLR_VERSION.tgz.asc" "/opt/solr-$SOLR_VERSION.tgz"; \
diff --git a/solr_8.0-slim/scripts/oom_solr.sh b/solr_8.0-slim/scripts/oom_solr.sh
index b7c441d..bed5095 100755
--- a/solr_8.0-slim/scripts/oom_solr.sh
+++ b/solr_8.0-slim/scripts/oom_solr.sh
@@ -5,9 +5,9 @@
# See solr-forgeground for how to configure OOM behaviour
if [[ -z "${SOLR_LOGS_DIR:-}" ]]; then
- if -d /var/solr/logs; then
+ if [ -d /var/solr/logs ]; then
SOLR_LOGS_DIR=/var/solr/logs
- elif -d /opt/solr/server/logs; then
+ elif [ -d /opt/solr/server/logs ]; then
SOLR_LOGS_DIR=/opt/solr/server/logs
else
echo "Cannot determine SOLR_LOGS_DIR!"
diff --git a/solr_8.0/Dockerfile b/solr_8.0/Dockerfile
index 7482005..9cd0bb4 100644
--- a/solr_8.0/Dockerfile
+++ b/solr_8.0/Dockerfile
@@ -8,7 +8,7 @@ LABEL repository="https://github.com/docker-solr/docker-solr"
# docker build -t mine --build-arg SOLR_DOWNLOAD_SERVER=http://www-eu.apache.org/dist/lucene/solr .
ARG SOLR_DOWNLOAD_SERVER
-RUN set -e; \
+RUN set -ex; \
apt-get update; \
apt-get -y install acl dirmngr gpg lsof procps wget netcat; \
rm -rf /var/lib/apt/lists/*
@@ -18,7 +18,9 @@ ENV SOLR_USER="solr" \
SOLR_GROUP="solr" \
SOLR_GID="8983" \
SOLR_VERSION="8.0.0" \
- SOLR_URL="${SOLR_DOWNLOAD_SERVER:-https://archive.apache.org/dist/lucene/solr}/8.0.0/solr-8.0.0.tgz" \
+ SOLR_CLOSER_URL="http://www.apache.org/dyn/closer.lua?filename=lucene/solr/8.0.0/solr-8.0.0.tgz&action=download" \
+ SOLR_DIST_URL="https://www.apache.org/dist/lucene/solr/8.0.0/solr-8.0.0.tgz" \
+ SOLR_ARCHIVE_URL="https://archive.apache.org/dist/lucene/solr/8.0.0/solr-8.0.0.tgz" \
SOLR_SHA256="0e6392d3b980ab917c731b054101aafcebceacc0e5063cb1e305aeeaec911d12" \
SOLR_KEYS="052C5B48A480B9CEA9E218A5F98C13CFA5A135D8" \
PATH="/opt/solr/bin:/opt/docker-solr/scripts:$PATH" \
@@ -34,11 +36,11 @@ ENV GOSU_KEY B42F6819007F00F88E364FD4036A9C25BF357DD4
ENV TINI_VERSION v0.18.0
ENV TINI_KEY 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7
-RUN set -x; \
+RUN set -ex; \
groupadd -r --gid "$SOLR_GID" "$SOLR_GROUP"; \
useradd -r --uid "$SOLR_UID" --gid "$SOLR_GID" "$SOLR_USER"
-RUN set -e; \
+RUN set -ex; \
export GNUPGHOME="/tmp/gnupg_home"; \
mkdir -p "$GNUPGHOME"; \
chmod 700 "$GNUPGHOME"; \
@@ -59,7 +61,7 @@ RUN set -e; \
done; \
exit 0
-RUN set -e; \
+RUN set -ex; \
export GNUPGHOME="/tmp/gnupg_home"; \
pkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \
wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$pkgArch"; \
@@ -74,10 +76,19 @@ RUN set -e; \
rm /usr/local/bin/tini.asc; \
chmod +x /usr/local/bin/tini; \
tini --version; \
- echo "downloading $SOLR_URL"; \
- wget -nv "$SOLR_URL" -O "/opt/solr-$SOLR_VERSION.tgz"; \
- echo "downloading $SOLR_URL.asc"; \
- wget -nv "$SOLR_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
+ if [ -n "$SOLR_DOWNLOAD_SERVER" ]; then \
+ SOLR_DOWNLOAD_URL="$SOLR_DOWNLOAD_SERVER/$SOLR_VERSION/solr-$SOLR_VERSION.tgz"; \
+ echo "downloading $SOLR_DOWNLOAD_URL"; \
+ wget -t 10 --max-redirect 1 --retry-connrefused -nv "$SOLR_DOWNLOAD_URL" -O "/opt/solr-$SOLR_VERSION.tgz" || rm -f "/opt/solr-$SOLR_VERSION.tgz"; \
+ fi; \
+ for url in $SOLR_CLOSER_URL $SOLR_DIST_URL $SOLR_ARCHIVE_URL; do \
+ if [ -f "/opt/solr-$SOLR_VERSION.tgz" ]; then break; fi; \
+ echo "downloading $url"; \
+ if wget -t 10 --max-redirect 1 --retry-connrefused -nv "$url" -O "/opt/solr-$SOLR_VERSION.tgz"; then break; else rm -f "/opt/solr-$SOLR_VERSION.tgz"; fi; \
+ done; \
+ if [ ! -f "/opt/solr-$SOLR_VERSION.tgz" ]; then echo "failed all download attempts for solr-$SOLR_VERSION.tgz"; exit 1; fi; \
+ echo "downloading $SOLR_ARCHIVE_URL.asc"; \
+ wget -nv "$SOLR_ARCHIVE_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
echo "$SOLR_SHA256 */opt/solr-$SOLR_VERSION.tgz" | sha256sum -c -; \
(>&2 ls -l "/opt/solr-$SOLR_VERSION.tgz" "/opt/solr-$SOLR_VERSION.tgz.asc"); \
gpg --batch --verify "/opt/solr-$SOLR_VERSION.tgz.asc" "/opt/solr-$SOLR_VERSION.tgz"; \
diff --git a/solr_8.0/scripts/oom_solr.sh b/solr_8.0/scripts/oom_solr.sh
index b7c441d..bed5095 100755
--- a/solr_8.0/scripts/oom_solr.sh
+++ b/solr_8.0/scripts/oom_solr.sh
@@ -5,9 +5,9 @@
# See solr-forgeground for how to configure OOM behaviour
if [[ -z "${SOLR_LOGS_DIR:-}" ]]; then
- if -d /var/solr/logs; then
+ if [ -d /var/solr/logs ]; then
SOLR_LOGS_DIR=/var/solr/logs
- elif -d /opt/solr/server/logs; then
+ elif [ -d /opt/solr/server/logs ]; then
SOLR_LOGS_DIR=/opt/solr/server/logs
else
echo "Cannot determine SOLR_LOGS_DIR!"
diff --git a/solr_8.1-slim/Dockerfile b/solr_8.1-slim/Dockerfile
index 62c88f8..ce21451 100644
--- a/solr_8.1-slim/Dockerfile
+++ b/solr_8.1-slim/Dockerfile
@@ -8,7 +8,7 @@ LABEL repository="https://github.com/docker-solr/docker-solr"
# docker build -t mine --build-arg SOLR_DOWNLOAD_SERVER=http://www-eu.apache.org/dist/lucene/solr .
ARG SOLR_DOWNLOAD_SERVER
-RUN set -e; \
+RUN set -ex; \
apt-get update; \
apt-get -y install acl dirmngr gpg lsof procps wget netcat; \
rm -rf /var/lib/apt/lists/*
@@ -18,7 +18,9 @@ ENV SOLR_USER="solr" \
SOLR_GROUP="solr" \
SOLR_GID="8983" \
SOLR_VERSION="8.1.1" \
- SOLR_URL="${SOLR_DOWNLOAD_SERVER:-https://archive.apache.org/dist/lucene/solr}/8.1.1/solr-8.1.1.tgz" \
+ SOLR_CLOSER_URL="http://www.apache.org/dyn/closer.lua?filename=lucene/solr/8.1.1/solr-8.1.1.tgz&action=download" \
+ SOLR_DIST_URL="https://www.apache.org/dist/lucene/solr/8.1.1/solr-8.1.1.tgz" \
+ SOLR_ARCHIVE_URL="https://archive.apache.org/dist/lucene/solr/8.1.1/solr-8.1.1.tgz" \
SOLR_SHA256="b515598c11f53fe28d682e3d71238642e9f34509194e3c4746e39bb7d7bb46a1" \
SOLR_KEYS="F23F054D9EC50F2397FF2B814E67A2711D053DDB" \
PATH="/opt/solr/bin:/opt/docker-solr/scripts:$PATH" \
@@ -34,11 +36,11 @@ ENV GOSU_KEY B42F6819007F00F88E364FD4036A9C25BF357DD4
ENV TINI_VERSION v0.18.0
ENV TINI_KEY 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7
-RUN set -x; \
+RUN set -ex; \
groupadd -r --gid "$SOLR_GID" "$SOLR_GROUP"; \
useradd -r --uid "$SOLR_UID" --gid "$SOLR_GID" "$SOLR_USER"
-RUN set -e; \
+RUN set -ex; \
export GNUPGHOME="/tmp/gnupg_home"; \
mkdir -p "$GNUPGHOME"; \
chmod 700 "$GNUPGHOME"; \
@@ -59,7 +61,7 @@ RUN set -e; \
done; \
exit 0
-RUN set -e; \
+RUN set -ex; \
export GNUPGHOME="/tmp/gnupg_home"; \
pkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \
wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$pkgArch"; \
@@ -74,10 +76,19 @@ RUN set -e; \
rm /usr/local/bin/tini.asc; \
chmod +x /usr/local/bin/tini; \
tini --version; \
- echo "downloading $SOLR_URL"; \
- wget -nv "$SOLR_URL" -O "/opt/solr-$SOLR_VERSION.tgz"; \
- echo "downloading $SOLR_URL.asc"; \
- wget -nv "$SOLR_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
+ if [ -n "$SOLR_DOWNLOAD_SERVER" ]; then \
+ SOLR_DOWNLOAD_URL="$SOLR_DOWNLOAD_SERVER/$SOLR_VERSION/solr-$SOLR_VERSION.tgz"; \
+ echo "downloading $SOLR_DOWNLOAD_URL"; \
+ wget -t 10 --max-redirect 1 --retry-connrefused -nv "$SOLR_DOWNLOAD_URL" -O "/opt/solr-$SOLR_VERSION.tgz" || rm -f "/opt/solr-$SOLR_VERSION.tgz"; \
+ fi; \
+ for url in $SOLR_CLOSER_URL $SOLR_DIST_URL $SOLR_ARCHIVE_URL; do \
+ if [ -f "/opt/solr-$SOLR_VERSION.tgz" ]; then break; fi; \
+ echo "downloading $url"; \
+ if wget -t 10 --max-redirect 1 --retry-connrefused -nv "$url" -O "/opt/solr-$SOLR_VERSION.tgz"; then break; else rm -f "/opt/solr-$SOLR_VERSION.tgz"; fi; \
+ done; \
+ if [ ! -f "/opt/solr-$SOLR_VERSION.tgz" ]; then echo "failed all download attempts for solr-$SOLR_VERSION.tgz"; exit 1; fi; \
+ echo "downloading $SOLR_ARCHIVE_URL.asc"; \
+ wget -nv "$SOLR_ARCHIVE_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
echo "$SOLR_SHA256 */opt/solr-$SOLR_VERSION.tgz" | sha256sum -c -; \
(>&2 ls -l "/opt/solr-$SOLR_VERSION.tgz" "/opt/solr-$SOLR_VERSION.tgz.asc"); \
gpg --batch --verify "/opt/solr-$SOLR_VERSION.tgz.asc" "/opt/solr-$SOLR_VERSION.tgz"; \
diff --git a/solr_8.1-slim/scripts/oom_solr.sh b/solr_8.1-slim/scripts/oom_solr.sh
index b7c441d..bed5095 100755
--- a/solr_8.1-slim/scripts/oom_solr.sh
+++ b/solr_8.1-slim/scripts/oom_solr.sh
@@ -5,9 +5,9 @@
# See solr-forgeground for how to configure OOM behaviour
if [[ -z "${SOLR_LOGS_DIR:-}" ]]; then
- if -d /var/solr/logs; then
+ if [ -d /var/solr/logs ]; then
SOLR_LOGS_DIR=/var/solr/logs
- elif -d /opt/solr/server/logs; then
+ elif [ -d /opt/solr/server/logs ]; then
SOLR_LOGS_DIR=/opt/solr/server/logs
else
echo "Cannot determine SOLR_LOGS_DIR!"
diff --git a/solr_8.1/Dockerfile b/solr_8.1/Dockerfile
index 2704895..7ac1411 100644
--- a/solr_8.1/Dockerfile
+++ b/solr_8.1/Dockerfile
@@ -8,7 +8,7 @@ LABEL repository="https://github.com/docker-solr/docker-solr"
# docker build -t mine --build-arg SOLR_DOWNLOAD_SERVER=http://www-eu.apache.org/dist/lucene/solr .
ARG SOLR_DOWNLOAD_SERVER
-RUN set -e; \
+RUN set -ex; \
apt-get update; \
apt-get -y install acl dirmngr gpg lsof procps wget netcat; \
rm -rf /var/lib/apt/lists/*
@@ -18,7 +18,9 @@ ENV SOLR_USER="solr" \
SOLR_GROUP="solr" \
SOLR_GID="8983" \
SOLR_VERSION="8.1.1" \
- SOLR_URL="${SOLR_DOWNLOAD_SERVER:-https://archive.apache.org/dist/lucene/solr}/8.1.1/solr-8.1.1.tgz" \
+ SOLR_CLOSER_URL="http://www.apache.org/dyn/closer.lua?filename=lucene/solr/8.1.1/solr-8.1.1.tgz&action=download" \
+ SOLR_DIST_URL="https://www.apache.org/dist/lucene/solr/8.1.1/solr-8.1.1.tgz" \
+ SOLR_ARCHIVE_URL="https://archive.apache.org/dist/lucene/solr/8.1.1/solr-8.1.1.tgz" \
SOLR_SHA256="b515598c11f53fe28d682e3d71238642e9f34509194e3c4746e39bb7d7bb46a1" \
SOLR_KEYS="F23F054D9EC50F2397FF2B814E67A2711D053DDB" \
PATH="/opt/solr/bin:/opt/docker-solr/scripts:$PATH" \
@@ -34,11 +36,11 @@ ENV GOSU_KEY B42F6819007F00F88E364FD4036A9C25BF357DD4
ENV TINI_VERSION v0.18.0
ENV TINI_KEY 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7
-RUN set -x; \
+RUN set -ex; \
groupadd -r --gid "$SOLR_GID" "$SOLR_GROUP"; \
useradd -r --uid "$SOLR_UID" --gid "$SOLR_GID" "$SOLR_USER"
-RUN set -e; \
+RUN set -ex; \
export GNUPGHOME="/tmp/gnupg_home"; \
mkdir -p "$GNUPGHOME"; \
chmod 700 "$GNUPGHOME"; \
@@ -59,7 +61,7 @@ RUN set -e; \
done; \
exit 0
-RUN set -e; \
+RUN set -ex; \
export GNUPGHOME="/tmp/gnupg_home"; \
pkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \
wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$pkgArch"; \
@@ -74,10 +76,19 @@ RUN set -e; \
rm /usr/local/bin/tini.asc; \
chmod +x /usr/local/bin/tini; \
tini --version; \
- echo "downloading $SOLR_URL"; \
- wget -nv "$SOLR_URL" -O "/opt/solr-$SOLR_VERSION.tgz"; \
- echo "downloading $SOLR_URL.asc"; \
- wget -nv "$SOLR_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
+ if [ -n "$SOLR_DOWNLOAD_SERVER" ]; then \
+ SOLR_DOWNLOAD_URL="$SOLR_DOWNLOAD_SERVER/$SOLR_VERSION/solr-$SOLR_VERSION.tgz"; \
+ echo "downloading $SOLR_DOWNLOAD_URL"; \
+ wget -t 10 --max-redirect 1 --retry-connrefused -nv "$SOLR_DOWNLOAD_URL" -O "/opt/solr-$SOLR_VERSION.tgz" || rm -f "/opt/solr-$SOLR_VERSION.tgz"; \
+ fi; \
+ for url in $SOLR_CLOSER_URL $SOLR_DIST_URL $SOLR_ARCHIVE_URL; do \
+ if [ -f "/opt/solr-$SOLR_VERSION.tgz" ]; then break; fi; \
+ echo "downloading $url"; \
+ if wget -t 10 --max-redirect 1 --retry-connrefused -nv "$url" -O "/opt/solr-$SOLR_VERSION.tgz"; then break; else rm -f "/opt/solr-$SOLR_VERSION.tgz"; fi; \
+ done; \
+ if [ ! -f "/opt/solr-$SOLR_VERSION.tgz" ]; then echo "failed all download attempts for solr-$SOLR_VERSION.tgz"; exit 1; fi; \
+ echo "downloading $SOLR_ARCHIVE_URL.asc"; \
+ wget -nv "$SOLR_ARCHIVE_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
echo "$SOLR_SHA256 */opt/solr-$SOLR_VERSION.tgz" | sha256sum -c -; \
(>&2 ls -l "/opt/solr-$SOLR_VERSION.tgz" "/opt/solr-$SOLR_VERSION.tgz.asc"); \
gpg --batch --verify "/opt/solr-$SOLR_VERSION.tgz.asc" "/opt/solr-$SOLR_VERSION.tgz"; \
diff --git a/solr_8.1/scripts/oom_solr.sh b/solr_8.1/scripts/oom_solr.sh
index b7c441d..bed5095 100755
--- a/solr_8.1/scripts/oom_solr.sh
+++ b/solr_8.1/scripts/oom_solr.sh
@@ -5,9 +5,9 @@
# See solr-forgeground for how to configure OOM behaviour
if [[ -z "${SOLR_LOGS_DIR:-}" ]]; then
- if -d /var/solr/logs; then
+ if [ -d /var/solr/logs ]; then
SOLR_LOGS_DIR=/var/solr/logs
- elif -d /opt/solr/server/logs; then
+ elif [ -d /opt/solr/server/logs ]; then
SOLR_LOGS_DIR=/opt/solr/server/logs
else
echo "Cannot determine SOLR_LOGS_DIR!"
diff --git a/solr_8.2-slim/Dockerfile b/solr_8.2-slim/Dockerfile
index 72cbcbc..50f1431 100644
--- a/solr_8.2-slim/Dockerfile
+++ b/solr_8.2-slim/Dockerfile
@@ -8,7 +8,7 @@ LABEL repository="https://github.com/docker-solr/docker-solr"
# docker build -t mine --build-arg SOLR_DOWNLOAD_SERVER=http://www-eu.apache.org/dist/lucene/solr .
ARG SOLR_DOWNLOAD_SERVER
-RUN set -e; \
+RUN set -ex; \
apt-get update; \
apt-get -y install acl dirmngr gpg lsof procps wget netcat; \
rm -rf /var/lib/apt/lists/*
@@ -18,7 +18,9 @@ ENV SOLR_USER="solr" \
SOLR_GROUP="solr" \
SOLR_GID="8983" \
SOLR_VERSION="8.2.0" \
- SOLR_URL="${SOLR_DOWNLOAD_SERVER:-https://archive.apache.org/dist/lucene/solr}/8.2.0/solr-8.2.0.tgz" \
+ SOLR_CLOSER_URL="http://www.apache.org/dyn/closer.lua?filename=lucene/solr/8.2.0/solr-8.2.0.tgz&action=download" \
+ SOLR_DIST_URL="https://www.apache.org/dist/lucene/solr/8.2.0/solr-8.2.0.tgz" \
+ SOLR_ARCHIVE_URL="https://archive.apache.org/dist/lucene/solr/8.2.0/solr-8.2.0.tgz" \
SOLR_SHA256="bfa4b39b236e5d714f4233138b8b5cb7e1996ddc0aad60052ce83c4b7bf33449" \
SOLR_KEYS="E58A6F4D5B2B48AC66D5E53BD4F181881A42F9E6" \
PATH="/opt/solr/bin:/opt/docker-solr/scripts:$PATH" \
@@ -34,11 +36,11 @@ ENV GOSU_KEY B42F6819007F00F88E364FD4036A9C25BF357DD4
ENV TINI_VERSION v0.18.0
ENV TINI_KEY 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7
-RUN set -x; \
+RUN set -ex; \
groupadd -r --gid "$SOLR_GID" "$SOLR_GROUP"; \
useradd -r --uid "$SOLR_UID" --gid "$SOLR_GID" "$SOLR_USER"
-RUN set -e; \
+RUN set -ex; \
export GNUPGHOME="/tmp/gnupg_home"; \
mkdir -p "$GNUPGHOME"; \
chmod 700 "$GNUPGHOME"; \
@@ -59,7 +61,7 @@ RUN set -e; \
done; \
exit 0
-RUN set -e; \
+RUN set -ex; \
export GNUPGHOME="/tmp/gnupg_home"; \
pkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \
wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$pkgArch"; \
@@ -74,10 +76,19 @@ RUN set -e; \
rm /usr/local/bin/tini.asc; \
chmod +x /usr/local/bin/tini; \
tini --version; \
- echo "downloading $SOLR_URL"; \
- wget -nv "$SOLR_URL" -O "/opt/solr-$SOLR_VERSION.tgz"; \
- echo "downloading $SOLR_URL.asc"; \
- wget -nv "$SOLR_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
+ if [ -n "$SOLR_DOWNLOAD_SERVER" ]; then \
+ SOLR_DOWNLOAD_URL="$SOLR_DOWNLOAD_SERVER/$SOLR_VERSION/solr-$SOLR_VERSION.tgz"; \
+ echo "downloading $SOLR_DOWNLOAD_URL"; \
+ wget -t 10 --max-redirect 1 --retry-connrefused -nv "$SOLR_DOWNLOAD_URL" -O "/opt/solr-$SOLR_VERSION.tgz" || rm -f "/opt/solr-$SOLR_VERSION.tgz"; \
+ fi; \
+ for url in $SOLR_CLOSER_URL $SOLR_DIST_URL $SOLR_ARCHIVE_URL; do \
+ if [ -f "/opt/solr-$SOLR_VERSION.tgz" ]; then break; fi; \
+ echo "downloading $url"; \
+ if wget -t 10 --max-redirect 1 --retry-connrefused -nv "$url" -O "/opt/solr-$SOLR_VERSION.tgz"; then break; else rm -f "/opt/solr-$SOLR_VERSION.tgz"; fi; \
+ done; \
+ if [ ! -f "/opt/solr-$SOLR_VERSION.tgz" ]; then echo "failed all download attempts for solr-$SOLR_VERSION.tgz"; exit 1; fi; \
+ echo "downloading $SOLR_ARCHIVE_URL.asc"; \
+ wget -nv "$SOLR_ARCHIVE_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
echo "$SOLR_SHA256 */opt/solr-$SOLR_VERSION.tgz" | sha256sum -c -; \
(>&2 ls -l "/opt/solr-$SOLR_VERSION.tgz" "/opt/solr-$SOLR_VERSION.tgz.asc"); \
gpg --batch --verify "/opt/solr-$SOLR_VERSION.tgz.asc" "/opt/solr-$SOLR_VERSION.tgz"; \
diff --git a/solr_8.2-slim/scripts/oom_solr.sh b/solr_8.2-slim/scripts/oom_solr.sh
index b7c441d..bed5095 100755
--- a/solr_8.2-slim/scripts/oom_solr.sh
+++ b/solr_8.2-slim/scripts/oom_solr.sh
@@ -5,9 +5,9 @@
# See solr-forgeground for how to configure OOM behaviour
if [[ -z "${SOLR_LOGS_DIR:-}" ]]; then
- if -d /var/solr/logs; then
+ if [ -d /var/solr/logs ]; then
SOLR_LOGS_DIR=/var/solr/logs
- elif -d /opt/solr/server/logs; then
+ elif [ -d /opt/solr/server/logs ]; then
SOLR_LOGS_DIR=/opt/solr/server/logs
else
echo "Cannot determine SOLR_LOGS_DIR!"
diff --git a/solr_8.2/Dockerfile b/solr_8.2/Dockerfile
index 36e82fe..6aaa6e5 100644
--- a/solr_8.2/Dockerfile
+++ b/solr_8.2/Dockerfile
@@ -8,7 +8,7 @@ LABEL repository="https://github.com/docker-solr/docker-solr"
# docker build -t mine --build-arg SOLR_DOWNLOAD_SERVER=http://www-eu.apache.org/dist/lucene/solr .
ARG SOLR_DOWNLOAD_SERVER
-RUN set -e; \
+RUN set -ex; \
apt-get update; \
apt-get -y install acl dirmngr gpg lsof procps wget netcat; \
rm -rf /var/lib/apt/lists/*
@@ -18,7 +18,9 @@ ENV SOLR_USER="solr" \
SOLR_GROUP="solr" \
SOLR_GID="8983" \
SOLR_VERSION="8.2.0" \
- SOLR_URL="${SOLR_DOWNLOAD_SERVER:-https://archive.apache.org/dist/lucene/solr}/8.2.0/solr-8.2.0.tgz" \
+ SOLR_CLOSER_URL="http://www.apache.org/dyn/closer.lua?filename=lucene/solr/8.2.0/solr-8.2.0.tgz&action=download" \
+ SOLR_DIST_URL="https://www.apache.org/dist/lucene/solr/8.2.0/solr-8.2.0.tgz" \
+ SOLR_ARCHIVE_URL="https://archive.apache.org/dist/lucene/solr/8.2.0/solr-8.2.0.tgz" \
SOLR_SHA256="bfa4b39b236e5d714f4233138b8b5cb7e1996ddc0aad60052ce83c4b7bf33449" \
SOLR_KEYS="E58A6F4D5B2B48AC66D5E53BD4F181881A42F9E6" \
PATH="/opt/solr/bin:/opt/docker-solr/scripts:$PATH" \
@@ -34,11 +36,11 @@ ENV GOSU_KEY B42F6819007F00F88E364FD4036A9C25BF357DD4
ENV TINI_VERSION v0.18.0
ENV TINI_KEY 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7
-RUN set -x; \
+RUN set -ex; \
groupadd -r --gid "$SOLR_GID" "$SOLR_GROUP"; \
useradd -r --uid "$SOLR_UID" --gid "$SOLR_GID" "$SOLR_USER"
-RUN set -e; \
+RUN set -ex; \
export GNUPGHOME="/tmp/gnupg_home"; \
mkdir -p "$GNUPGHOME"; \
chmod 700 "$GNUPGHOME"; \
@@ -59,7 +61,7 @@ RUN set -e; \
done; \
exit 0
-RUN set -e; \
+RUN set -ex; \
export GNUPGHOME="/tmp/gnupg_home"; \
pkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \
wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$pkgArch"; \
@@ -74,10 +76,19 @@ RUN set -e; \
rm /usr/local/bin/tini.asc; \
chmod +x /usr/local/bin/tini; \
tini --version; \
- echo "downloading $SOLR_URL"; \
- wget -nv "$SOLR_URL" -O "/opt/solr-$SOLR_VERSION.tgz"; \
- echo "downloading $SOLR_URL.asc"; \
- wget -nv "$SOLR_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
+ if [ -n "$SOLR_DOWNLOAD_SERVER" ]; then \
+ SOLR_DOWNLOAD_URL="$SOLR_DOWNLOAD_SERVER/$SOLR_VERSION/solr-$SOLR_VERSION.tgz"; \
+ echo "downloading $SOLR_DOWNLOAD_URL"; \
+ wget -t 10 --max-redirect 1 --retry-connrefused -nv "$SOLR_DOWNLOAD_URL" -O "/opt/solr-$SOLR_VERSION.tgz" || rm -f "/opt/solr-$SOLR_VERSION.tgz"; \
+ fi; \
+ for url in $SOLR_CLOSER_URL $SOLR_DIST_URL $SOLR_ARCHIVE_URL; do \
+ if [ -f "/opt/solr-$SOLR_VERSION.tgz" ]; then break; fi; \
+ echo "downloading $url"; \
+ if wget -t 10 --max-redirect 1 --retry-connrefused -nv "$url" -O "/opt/solr-$SOLR_VERSION.tgz"; then break; else rm -f "/opt/solr-$SOLR_VERSION.tgz"; fi; \
+ done; \
+ if [ ! -f "/opt/solr-$SOLR_VERSION.tgz" ]; then echo "failed all download attempts for solr-$SOLR_VERSION.tgz"; exit 1; fi; \
+ echo "downloading $SOLR_ARCHIVE_URL.asc"; \
+ wget -nv "$SOLR_ARCHIVE_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
echo "$SOLR_SHA256 */opt/solr-$SOLR_VERSION.tgz" | sha256sum -c -; \
(>&2 ls -l "/opt/solr-$SOLR_VERSION.tgz" "/opt/solr-$SOLR_VERSION.tgz.asc"); \
gpg --batch --verify "/opt/solr-$SOLR_VERSION.tgz.asc" "/opt/solr-$SOLR_VERSION.tgz"; \
diff --git a/solr_8.2/scripts/oom_solr.sh b/solr_8.2/scripts/oom_solr.sh
index b7c441d..bed5095 100755
--- a/solr_8.2/scripts/oom_solr.sh
+++ b/solr_8.2/scripts/oom_solr.sh
@@ -5,9 +5,9 @@
# See solr-forgeground for how to configure OOM behaviour
if [[ -z "${SOLR_LOGS_DIR:-}" ]]; then
- if -d /var/solr/logs; then
+ if [ -d /var/solr/logs ]; then
SOLR_LOGS_DIR=/var/solr/logs
- elif -d /opt/solr/server/logs; then
+ elif [ -d /opt/solr/server/logs ]; then
SOLR_LOGS_DIR=/opt/solr/server/logs
else
echo "Cannot determine SOLR_LOGS_DIR!"
diff --git a/solr_latest/Dockerfile b/solr_latest/Dockerfile
index 70e1fb7..fc75c83 100644
--- a/solr_latest/Dockerfile
+++ b/solr_latest/Dockerfile
@@ -8,7 +8,7 @@ LABEL repository="https://github.com/docker-solr/docker-solr"
# docker build -t mine --build-arg SOLR_DOWNLOAD_SERVER=http://www-eu.apache.org/dist/lucene/solr .
ARG SOLR_DOWNLOAD_SERVER
-RUN set -e; \
+RUN set -ex; \
apt-get update; \
apt-get -y install acl dirmngr gpg lsof procps wget netcat; \
rm -rf /var/lib/apt/lists/*
@@ -17,9 +17,11 @@ ENV SOLR_USER="solr" \
SOLR_UID="8983" \
SOLR_GROUP="solr" \
SOLR_GID="8983" \
- SOLR_VERSION="8.3.0" \
- SOLR_URL="${SOLR_DOWNLOAD_SERVER:-https://archive.apache.org/dist/lucene/solr}/8.3.0/solr-8.3.0.tgz" \
- SOLR_SHA256="1a9820915186227eaf6fcb851d60690853911b92a15b4e0b7f046324eb8d1387" \
+ SOLR_VERSION="8.3.1" \
+ SOLR_CLOSER_URL="http://www.apache.org/dyn/closer.lua?filename=lucene/solr/8.3.1/solr-8.3.1.tgz&action=download" \
+ SOLR_DIST_URL="https://www.apache.org/dist/lucene/solr/8.3.1/solr-8.3.1.tgz" \
+ SOLR_ARCHIVE_URL="https://archive.apache.org/dist/lucene/solr/8.3.1/solr-8.3.1.tgz" \
+ SOLR_SHA256="300ae2632e1221aa4e4e4ffd317604dc0ee72f7af39cf78a7ba0e9b641320059" \
SOLR_KEYS="2085660D9C1FCCACC4A479A3BF160FF14992A24C" \
PATH="/opt/solr/bin:/opt/docker-solr/scripts:$PATH" \
SOLR_INCLUDE=/etc/default/solr.in.sh \
@@ -34,11 +36,11 @@ ENV GOSU_KEY B42F6819007F00F88E364FD4036A9C25BF357DD4
ENV TINI_VERSION v0.18.0
ENV TINI_KEY 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7
-RUN set -x; \
+RUN set -ex; \
groupadd -r --gid "$SOLR_GID" "$SOLR_GROUP"; \
useradd -r --uid "$SOLR_UID" --gid "$SOLR_GID" "$SOLR_USER"
-RUN set -e; \
+RUN set -ex; \
export GNUPGHOME="/tmp/gnupg_home"; \
mkdir -p "$GNUPGHOME"; \
chmod 700 "$GNUPGHOME"; \
@@ -59,7 +61,7 @@ RUN set -e; \
done; \
exit 0
-RUN set -e; \
+RUN set -ex; \
export GNUPGHOME="/tmp/gnupg_home"; \
pkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \
wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$pkgArch"; \
@@ -74,10 +76,19 @@ RUN set -e; \
rm /usr/local/bin/tini.asc; \
chmod +x /usr/local/bin/tini; \
tini --version; \
- echo "downloading $SOLR_URL"; \
- wget -nv "$SOLR_URL" -O "/opt/solr-$SOLR_VERSION.tgz"; \
- echo "downloading $SOLR_URL.asc"; \
- wget -nv "$SOLR_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
+ if [ -n "$SOLR_DOWNLOAD_SERVER" ]; then \
+ SOLR_DOWNLOAD_URL="$SOLR_DOWNLOAD_SERVER/$SOLR_VERSION/solr-$SOLR_VERSION.tgz"; \
+ echo "downloading $SOLR_DOWNLOAD_URL"; \
+ wget -t 10 --max-redirect 1 --retry-connrefused -nv "$SOLR_DOWNLOAD_URL" -O "/opt/solr-$SOLR_VERSION.tgz" || rm -f "/opt/solr-$SOLR_VERSION.tgz"; \
+ fi; \
+ for url in $SOLR_CLOSER_URL $SOLR_DIST_URL $SOLR_ARCHIVE_URL; do \
+ if [ -f "/opt/solr-$SOLR_VERSION.tgz" ]; then break; fi; \
+ echo "downloading $url"; \
+ if wget -t 10 --max-redirect 1 --retry-connrefused -nv "$url" -O "/opt/solr-$SOLR_VERSION.tgz"; then break; else rm -f "/opt/solr-$SOLR_VERSION.tgz"; fi; \
+ done; \
+ if [ ! -f "/opt/solr-$SOLR_VERSION.tgz" ]; then echo "failed all download attempts for solr-$SOLR_VERSION.tgz"; exit 1; fi; \
+ echo "downloading $SOLR_ARCHIVE_URL.asc"; \
+ wget -nv "$SOLR_ARCHIVE_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
echo "$SOLR_SHA256 */opt/solr-$SOLR_VERSION.tgz" | sha256sum -c -; \
(>&2 ls -l "/opt/solr-$SOLR_VERSION.tgz" "/opt/solr-$SOLR_VERSION.tgz.asc"); \
gpg --batch --verify "/opt/solr-$SOLR_VERSION.tgz.asc" "/opt/solr-$SOLR_VERSION.tgz"; \
diff --git a/solr_latest/scripts/oom_solr.sh b/solr_latest/scripts/oom_solr.sh
index b7c441d..bed5095 100755
--- a/solr_latest/scripts/oom_solr.sh
+++ b/solr_latest/scripts/oom_solr.sh
@@ -5,9 +5,9 @@
# See solr-forgeground for how to configure OOM behaviour
if [[ -z "${SOLR_LOGS_DIR:-}" ]]; then
- if -d /var/solr/logs; then
+ if [ -d /var/solr/logs ]; then
SOLR_LOGS_DIR=/var/solr/logs
- elif -d /opt/solr/server/logs; then
+ elif [ -d /opt/solr/server/logs ]; then
SOLR_LOGS_DIR=/opt/solr/server/logs
else
echo "Cannot determine SOLR_LOGS_DIR!"
diff --git a/solr_slim/Dockerfile b/solr_slim/Dockerfile
index 688a0c0..43f8ba0 100644
--- a/solr_slim/Dockerfile
+++ b/solr_slim/Dockerfile
@@ -8,7 +8,7 @@ LABEL repository="https://github.com/docker-solr/docker-solr"
# docker build -t mine --build-arg SOLR_DOWNLOAD_SERVER=http://www-eu.apache.org/dist/lucene/solr .
ARG SOLR_DOWNLOAD_SERVER
-RUN set -e; \
+RUN set -ex; \
apt-get update; \
apt-get -y install acl dirmngr gpg lsof procps wget netcat; \
rm -rf /var/lib/apt/lists/*
@@ -17,9 +17,11 @@ ENV SOLR_USER="solr" \
SOLR_UID="8983" \
SOLR_GROUP="solr" \
SOLR_GID="8983" \
- SOLR_VERSION="8.3.0" \
- SOLR_URL="${SOLR_DOWNLOAD_SERVER:-https://archive.apache.org/dist/lucene/solr}/8.3.0/solr-8.3.0.tgz" \
- SOLR_SHA256="1a9820915186227eaf6fcb851d60690853911b92a15b4e0b7f046324eb8d1387" \
+ SOLR_VERSION="8.3.1" \
+ SOLR_CLOSER_URL="http://www.apache.org/dyn/closer.lua?filename=lucene/solr/8.3.1/solr-8.3.1.tgz&action=download" \
+ SOLR_DIST_URL="https://www.apache.org/dist/lucene/solr/8.3.1/solr-8.3.1.tgz" \
+ SOLR_ARCHIVE_URL="https://archive.apache.org/dist/lucene/solr/8.3.1/solr-8.3.1.tgz" \
+ SOLR_SHA256="300ae2632e1221aa4e4e4ffd317604dc0ee72f7af39cf78a7ba0e9b641320059" \
SOLR_KEYS="2085660D9C1FCCACC4A479A3BF160FF14992A24C" \
PATH="/opt/solr/bin:/opt/docker-solr/scripts:$PATH" \
SOLR_INCLUDE=/etc/default/solr.in.sh \
@@ -34,11 +36,11 @@ ENV GOSU_KEY B42F6819007F00F88E364FD4036A9C25BF357DD4
ENV TINI_VERSION v0.18.0
ENV TINI_KEY 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7
-RUN set -x; \
+RUN set -ex; \
groupadd -r --gid "$SOLR_GID" "$SOLR_GROUP"; \
useradd -r --uid "$SOLR_UID" --gid "$SOLR_GID" "$SOLR_USER"
-RUN set -e; \
+RUN set -ex; \
export GNUPGHOME="/tmp/gnupg_home"; \
mkdir -p "$GNUPGHOME"; \
chmod 700 "$GNUPGHOME"; \
@@ -59,7 +61,7 @@ RUN set -e; \
done; \
exit 0
-RUN set -e; \
+RUN set -ex; \
export GNUPGHOME="/tmp/gnupg_home"; \
pkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \
wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$pkgArch"; \
@@ -74,10 +76,19 @@ RUN set -e; \
rm /usr/local/bin/tini.asc; \
chmod +x /usr/local/bin/tini; \
tini --version; \
- echo "downloading $SOLR_URL"; \
- wget -nv "$SOLR_URL" -O "/opt/solr-$SOLR_VERSION.tgz"; \
- echo "downloading $SOLR_URL.asc"; \
- wget -nv "$SOLR_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
+ if [ -n "$SOLR_DOWNLOAD_SERVER" ]; then \
+ SOLR_DOWNLOAD_URL="$SOLR_DOWNLOAD_SERVER/$SOLR_VERSION/solr-$SOLR_VERSION.tgz"; \
+ echo "downloading $SOLR_DOWNLOAD_URL"; \
+ wget -t 10 --max-redirect 1 --retry-connrefused -nv "$SOLR_DOWNLOAD_URL" -O "/opt/solr-$SOLR_VERSION.tgz" || rm -f "/opt/solr-$SOLR_VERSION.tgz"; \
+ fi; \
+ for url in $SOLR_CLOSER_URL $SOLR_DIST_URL $SOLR_ARCHIVE_URL; do \
+ if [ -f "/opt/solr-$SOLR_VERSION.tgz" ]; then break; fi; \
+ echo "downloading $url"; \
+ if wget -t 10 --max-redirect 1 --retry-connrefused -nv "$url" -O "/opt/solr-$SOLR_VERSION.tgz"; then break; else rm -f "/opt/solr-$SOLR_VERSION.tgz"; fi; \
+ done; \
+ if [ ! -f "/opt/solr-$SOLR_VERSION.tgz" ]; then echo "failed all download attempts for solr-$SOLR_VERSION.tgz"; exit 1; fi; \
+ echo "downloading $SOLR_ARCHIVE_URL.asc"; \
+ wget -nv "$SOLR_ARCHIVE_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
echo "$SOLR_SHA256 */opt/solr-$SOLR_VERSION.tgz" | sha256sum -c -; \
(>&2 ls -l "/opt/solr-$SOLR_VERSION.tgz" "/opt/solr-$SOLR_VERSION.tgz.asc"); \
gpg --batch --verify "/opt/solr-$SOLR_VERSION.tgz.asc" "/opt/solr-$SOLR_VERSION.tgz"; \
diff --git a/solr_slim/scripts/oom_solr.sh b/solr_slim/scripts/oom_solr.sh
index b7c441d..bed5095 100755
--- a/solr_slim/scripts/oom_solr.sh
+++ b/solr_slim/scripts/oom_solr.sh
@@ -5,9 +5,9 @@
# See solr-forgeground for how to configure OOM behaviour
if [[ -z "${SOLR_LOGS_DIR:-}" ]]; then
- if -d /var/solr/logs; then
+ if [ -d /var/solr/logs ]; then
SOLR_LOGS_DIR=/var/solr/logs
- elif -d /opt/solr/server/logs; then
+ elif [ -d /opt/solr/server/logs ]; then
SOLR_LOGS_DIR=/opt/solr/server/logs
else
echo "Cannot determine SOLR_LOGS_DIR!" |
Build test of #7082; c9444cd; $ bashbrew build solr:8.3.1
Building bashbrew/cache:a554b509773cf46cc65e68303ebc3a3b42ef12f263c96db3a0dde23e81f4a0d3 (solr:8.3.1)
Tagging solr:8.3.1
Tagging solr:8.3
Tagging solr:8
Tagging solr:latest
$ test/run.sh solr:8.3.1
testing solr:8.3.1
'utc' [1/4]...passed
'cve-2014--shellshock' [2/4]...passed
'no-hard-coded-passwords' [3/4]...passed
'override-cmd' [4/4]...passed
$ bashbrew build solr:8.3.1-slim
Building bashbrew/cache:2625fcd971ddf89541d8bb0ce173db39cbbbd1a96a22452f88632b3cf08f2012 (solr:8.3.1-slim)
Tagging solr:8.3.1-slim
Tagging solr:8.3-slim
Tagging solr:8-slim
Tagging solr:slim
$ test/run.sh solr:8.3.1-slim
testing solr:8.3.1-slim
'utc' [1/4]...passed
'cve-2014--shellshock' [2/4]...passed
'no-hard-coded-passwords' [3/4]...passed
'override-cmd' [4/4]...passed
$ bashbrew build solr:8.2.0
Building bashbrew/cache:aaaa3aeea055e3b36262ec49a008e8d1ac9721d47e954950710b8861dd04fd05 (solr:8.2.0)
Tagging solr:8.2.0
Tagging solr:8.2
$ test/run.sh solr:8.2.0
testing solr:8.2.0
'utc' [1/4]...passed
'cve-2014--shellshock' [2/4]...passed
'no-hard-coded-passwords' [3/4]...passed
'override-cmd' [4/4]...passed
$ bashbrew build solr:8.2.0-slim
Building bashbrew/cache:5e4842803287476df1fbe4322cfb26aacfb1d52988ed6174edfe981eca482cd2 (solr:8.2.0-slim)
Tagging solr:8.2.0-slim
Tagging solr:8.2-slim
$ test/run.sh solr:8.2.0-slim
testing solr:8.2.0-slim
'utc' [1/4]...passed
'cve-2014--shellshock' [2/4]...passed
'no-hard-coded-passwords' [3/4]...passed
'override-cmd' [4/4]...passed
$ bashbrew build solr:8.1.1
Building bashbrew/cache:3fadf6ec22607d937960c07b8c4cb9e851f509a374d4c90ba5cb71ad7d507feb (solr:8.1.1)
Tagging solr:8.1.1
Tagging solr:8.1
$ test/run.sh solr:8.1.1
testing solr:8.1.1
'utc' [1/4]...passed
'cve-2014--shellshock' [2/4]...passed
'no-hard-coded-passwords' [3/4]...passed
'override-cmd' [4/4]...passed
$ bashbrew build solr:8.1.1-slim
Building bashbrew/cache:05d1108a832aa0a4922dd34fcc9875f4368cb443ded65fd69a5117c8017c43bd (solr:8.1.1-slim)
Tagging solr:8.1.1-slim
Tagging solr:8.1-slim
$ test/run.sh solr:8.1.1-slim
testing solr:8.1.1-slim
'utc' [1/4]...passed
'cve-2014--shellshock' [2/4]...passed
'no-hard-coded-passwords' [3/4]...passed
'override-cmd' [4/4]...passed
$ bashbrew build solr:8.0.0
Building bashbrew/cache:0899a38b707c232583a00d6759f51d3c031a8ce602541c81ab6a07f9a4792224 (solr:8.0.0)
Tagging solr:8.0.0
Tagging solr:8.0
$ test/run.sh solr:8.0.0
testing solr:8.0.0
'utc' [1/4]...passed
'cve-2014--shellshock' [2/4]...passed
'no-hard-coded-passwords' [3/4]...passed
'override-cmd' [4/4]...passed
$ bashbrew build solr:8.0.0-slim
Building bashbrew/cache:7eb3b57f9819454b9d424003a3e7cb1f64626a549a317bbd3caa55db693b0484 (solr:8.0.0-slim)
Tagging solr:8.0.0-slim
Tagging solr:8.0-slim
$ test/run.sh solr:8.0.0-slim
testing solr:8.0.0-slim
'utc' [1/4]...passed
'cve-2014--shellshock' [2/4]...passed
'no-hard-coded-passwords' [3/4]...passed
'override-cmd' [4/4]...passed
$ bashbrew build solr:7.7.2
Building bashbrew/cache:5b236b869c2229a66f539c7ffa9ee952dc0bc0edd0024a34dd03a39a4f069042 (solr:7.7.2)
Tagging solr:7.7.2
Tagging solr:7.7
Tagging solr:7
$ test/run.sh solr:7.7.2
testing solr:7.7.2
'utc' [1/4]...passed
'cve-2014--shellshock' [2/4]...passed
'no-hard-coded-passwords' [3/4]...passed
'override-cmd' [4/4]...passed
$ bashbrew build solr:7.7.2-slim
Building bashbrew/cache:f80d1ed3bfa704c2480163eda581088f4685f2815b1c1f13e4a9da1e6026fca5 (solr:7.7.2-slim)
Tagging solr:7.7.2-slim
Tagging solr:7.7-slim
Tagging solr:7-slim
$ test/run.sh solr:7.7.2-slim
testing solr:7.7.2-slim
'utc' [1/4]...passed
'cve-2014--shellshock' [2/4]...passed
'no-hard-coded-passwords' [3/4]...passed
'override-cmd' [4/4]...passed
$ bashbrew build solr:7.6.0
Building bashbrew/cache:b4689a9cca6c72243ec4d0803742f79192c69dd6fdae8a9ca288844963ce40b5 (solr:7.6.0)
Tagging solr:7.6.0
Tagging solr:7.6
$ test/run.sh solr:7.6.0
testing solr:7.6.0
'utc' [1/4]...passed
'cve-2014--shellshock' [2/4]...passed
'no-hard-coded-passwords' [3/4]...passed
'override-cmd' [4/4]...passed
$ bashbrew build solr:7.6.0-slim
Building bashbrew/cache:09e9f85ba5f1dedc7886e785eb342fe10349f7d23ad8095967737c213de4dc11 (solr:7.6.0-slim)
Tagging solr:7.6.0-slim
Tagging solr:7.6-slim
$ test/run.sh solr:7.6.0-slim
testing solr:7.6.0-slim
'utc' [1/4]...passed
'cve-2014--shellshock' [2/4]...passed
'no-hard-coded-passwords' [3/4]...passed
'override-cmd' [4/4]...passed
$ bashbrew build solr:7.5.0
Building bashbrew/cache:3009c5493b5b761b39ef6de982b2f2a30ace768751283407b1e9ee15723bbbaa (solr:7.5.0)
Tagging solr:7.5.0
Tagging solr:7.5
$ test/run.sh solr:7.5.0
testing solr:7.5.0
'utc' [1/4]...passed
'cve-2014--shellshock' [2/4]...passed
'no-hard-coded-passwords' [3/4]...passed
'override-cmd' [4/4]...passed
$ bashbrew build solr:7.5.0-slim
Building bashbrew/cache:0e0cee3711a9c76fe7c21a9b9cf7d499962460a8f172bb2b6c78bcd5d80c1278 (solr:7.5.0-slim)
Tagging solr:7.5.0-slim
Tagging solr:7.5-slim
$ test/run.sh solr:7.5.0-slim
testing solr:7.5.0-slim
'utc' [1/4]...passed
'cve-2014--shellshock' [2/4]...passed
'no-hard-coded-passwords' [3/4]...passed
'override-cmd' [4/4]...passed
$ bashbrew build solr:6.6.6
Building bashbrew/cache:4431144693e1093caa0bac246366fef13eed415ee4a0053a7c0e21b793e0e84a (solr:6.6.6)
Tagging solr:6.6.6
Tagging solr:6.6
Tagging solr:6
$ test/run.sh solr:6.6.6
testing solr:6.6.6
'utc' [1/4]...passed
'cve-2014--shellshock' [2/4]...passed
'no-hard-coded-passwords' [3/4]...passed
'override-cmd' [4/4]...passed
$ bashbrew build solr:6.6.6-slim
Building bashbrew/cache:a96ac707a16c78ca86e1d17fa1ba85282ecd5dd9535333769622d555504ffba1 (solr:6.6.6-slim)
Tagging solr:6.6.6-slim
Tagging solr:6.6-slim
Tagging solr:6-slim
$ test/run.sh solr:6.6.6-slim
testing solr:6.6.6-slim
'utc' [1/4]...passed
'cve-2014--shellshock' [2/4]...passed
'no-hard-coded-passwords' [3/4]...passed
'override-cmd' [4/4]...passed
$ bashbrew build solr:5.5.5
Building bashbrew/cache:adc85f8ce5a5f574059e2283882ff4b1b9c3b5bd1b7f8c1b086f58d84b7c326c (solr:5.5.5)
Tagging solr:5.5.5
Tagging solr:5.5
Tagging solr:5
$ test/run.sh solr:5.5.5
testing solr:5.5.5
'utc' [1/4]...passed
'cve-2014--shellshock' [2/4]...passed
'no-hard-coded-passwords' [3/4]...passed
'override-cmd' [4/4]...passed
$ bashbrew build solr:5.5.5-slim
Building bashbrew/cache:d6cabe9705012418c82a93f1b5bb1c748712e6c1171c31def0c004d96f2d6f85 (solr:5.5.5-slim)
Tagging solr:5.5.5-slim
Tagging solr:5.5-slim
Tagging solr:5-slim
$ test/run.sh solr:5.5.5-slim
testing solr:5.5.5-slim
'utc' [1/4]...passed
'cve-2014--shellshock' [2/4]...passed
'no-hard-coded-passwords' [3/4]...passed
'override-cmd' [4/4]...passed
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Announcement: http://mail-archives.apache.org/mod_mbox/www-announce/201912.mbox/%3cCAHPRk5GoOknvSWUJkojSoVqqB4wLZdwHgEX_jpCMZ73ZL8v1LA@mail.gmail.com%3e
In docker-solr scripts we fixed the oom_solr.sh script