Skip to content
Snippets Groups Projects
Verified Commit 8e1a5d2e authored by Antoine R. Dumont's avatar Antoine R. Dumont
Browse files

Add swh-objstorage image

parent 291a0ba2
No related branches found
No related tags found
No related merge requests found
# Deeply inspired from the Dockerfile of the swh-graphql project
FROM python:3.10-bullseye
RUN apt-get -y update && \
apt-get -y upgrade && \
apt-get install -y libcmph-dev librdkafka-dev && \
apt clean && \
addgroup --gid 1000 swh && \
useradd --gid 1000 --uid 1000 -m -d /opt/swh swh && \
mkdir /etc/swh
USER swh
WORKDIR /opt/swh
COPY --chown=swh:swh requirements-frozen.txt /opt/swh
COPY --chown=swh:swh entrypoint.sh /opt/swh
ENV PYTHONPATH=/opt/swh
ENV PATH=/opt/swh/.local/bin:$PATH
RUN chmod u+x /opt/swh/entrypoint.sh && \
/usr/local/bin/python -m pip install --upgrade pip && \
pip install --no-cache-dir -r requirements-frozen.txt && \
pip install gunicorn
ENV SWH_CONFIG_FILENAME=/etc/swh/config.yml
ENV PORT 5003
EXPOSE $PORT
# Winery is not designed to be thread safe
# So the number of threads per workers must be 1
#ENV THREADS 1
ENV WORKERS 8
ENV LOG_LEVEL INFO
ENV TIMEOUT 3600
ENTRYPOINT ["/opt/swh/entrypoint.sh"]
#!/bin/bash
set -e
case "$1" in
"shell")
shift
if (( $# == 0)); then
exec bash -i
else
"$@"
fi
;;
"swh")
shift
echo "Running swh command $@"
exec swh $@
;;
*)
echo Starting the swh-objstorage API server
exec gunicorn --bind 0.0.0.0:${PORT} \
--log-level ${LOG_LEVEL} \
--threads 1 \
--workers ${WORKERS} \
--reload \
--timeout 3600 \
--config 'python:swh.core.api.gunicorn_config' \
'swh.objstorage.api.server:make_app_from_configfile()'
;;
esac
swh.objstorage
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment