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

Reply via email to