1
0
Fork 0
mirror of https://github.com/imtbl/hydrus-server-docker synced 2024-05-06 13:43:27 +12:00
hydrus-server-docker/Dockerfile
2019-07-28 14:48:26 +02:00

81 lines
1.8 KiB
Docker

FROM python:3.7-slim-buster
ARG HOST_USER_ID=1000
ARG HOST_GROUP_ID=1000
ENV HOST_USER_ID=$HOST_USER_ID
ENV HOST_GROUP_ID=$HOST_GROUP_ID
RUN \
if [ $(getent group ${HOST_GROUP_ID}) ]; then \
useradd -r -u ${HOST_USER_ID} hydrus; \
else \
groupadd -g ${HOST_GROUP_ID} hydrus && \
useradd -r -u ${HOST_USER_ID} -g hydrus hydrus; \
fi
WORKDIR /usr/src/app
COPY ./hydrus .
COPY ./deb .
RUN \
chown -R hydrus:hydrus /usr/src/app && \
chmod +x \
server.py \
bin/swfrender_linux \
bin/upnpc_linux && \
rm \
bin/swfrender_osx \
bin/swfrender_win32.exe \
bin/upnpc_osx \
bin/upnpc_win32.exe && \
mkdir /data && \
chown -R hydrus:hydrus /data && \
apt-get update && apt-get install -y \
build-essential \
ffmpeg \
multiarch-support \
wget && \
dpkg -i libjpeg8_8d-2_amd64.deb && \
rm libjpeg8_8d-2_amd64.deb && \
pip install --upgrade pip && \
pip install virtualenv && \
virtualenv venv && \
. venv/bin/activate && \
pip install \
beautifulsoup4~=4.8.0 \
chardet~=3.0.4 \
lz4~=2.1.10 \
numpy~=1.17.0 \
pillow~=6.1.0 \
psutil~=5.6.3 \
pylzma~=0.5.0 \
pyopenssl~=19.0.0 \
pyyaml~=5.1.1 \
opencv-python-headless~=4.1.0.25 \
requests~=2.22.0 \
send2trash~=1.5.0 \
service_identity~=18.1.0 \
twisted~=19.2.1 && \
rm -r ~/.cache && \
apt-get clean && apt-get autoclean && apt-get autoremove --purge -y && \
rm -rf /var/lib/apt/lists/*
COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint
RUN chmod +x /usr/local/bin/docker-entrypoint
EXPOSE 45870/tcp
EXPOSE 45871/tcp
EXPOSE 45872/tcp
HEALTHCHECK --interval=1m --timeout=10s --retries=3 \
CMD wget --quiet --tries=1 --no-check-certificate --spider \
https://localhost:45870 || exit 1
VOLUME /data
USER hydrus
ENTRYPOINT ["docker-entrypoint"]