Hello,
I am currently trying to setup S3 Backups within a Docker container setup of
Solr 8.11.3 and have added the backup section to my solr.xml file as follows:
```
<repository name="s3" class="org.apache.solr.s3.S3BackupRepository"
default="false">
<str name="s3.bucket.name">solr-collection-backups</str>
<str name="s3.region">us-east-1</str>
</repository>
```
Here is what my Dockerfile looks like:
```
FROM solr:8.11.3
LABEL maintainer="XXXXXXXX"
# Solr distrib files are owned by root
USER root
# Our jar dependencies and shared configuration file jar go in Solr webapp lib
directory
ENV SOLR_LIB_DIR="/opt/solr/server/solr-webapp/webapp/WEB-INF/lib/"
COPY ./target/solrsearch-DEV-Solr8.11.3.jar $SOLR_LIB_DIR
COPY ./target/lib/*.jar $SOLR_LIB_DIR
# Remove the stock solr-core jar so it uses our patched version
RUN rm $SOLR_LIB_DIR/solr-core-8.11.3.jar
# Move Topology Services (JTS) for Spatial Search to the the Java app server
lib directory
RUN mv $SOLR_LIB_DIR/jts-core-1.15.0.jar /opt/solr/server/lib/ext/
# Copy Solr Analytics Components from the dist folder to the Solr webapp lib
directory
RUN cp /opt/solr/dist/solr-analytics-8.11.3.jar $SOLR_LIB_DIR
# Copy S3 Backup
RUN mkdir lib
RUN cp -vp /opt/solr/dist/solr-s3-repository-* /opt/solr/server/solr/lib/
RUN cp -vp /opt/solr/contrib/s3-repository/lib/*.jar /opt/solr/server/solr/lib/
# XML file with correct S3 Backup Installed
COPY docker/<container_dir>/solr.xml /opt/solr/server/solr
RUN mkdir /radar
EXPOSE 8983
WORKDIR /opt/solr
USER $SOLR_USER
ENTRYPOINT ["docker-entrypoint.sh"]
CMD ["solr-foreground"]
```
I have also within my Dockerfile put the JARs for S3 into
`/opt/solr/server/solr/lib/` but when I try to use the API with a curl command
I get message `Provider "s3" not installed`. I am passing
`location=s3://solr-collection-backups/<collection-name>`in the curl command as
well.
My question, where do I need to deposit the JARs for S3 within a Docker
Container of Solr?
--
Adam Howell
Senior Data Engineer