|
|
|
|
|
FROM ubuntu:22.04 |
|
|
|
|
|
|
|
|
ENV TZ=Asia/Shanghai \ |
|
|
JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 \ |
|
|
APP_USER=reader \ |
|
|
APP_HOME=/app |
|
|
|
|
|
|
|
|
|
|
|
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime \ |
|
|
&& echo $TZ > /etc/timezone \ |
|
|
&& apt-get update \ |
|
|
&& apt-get install -y --no-install-recommends \ |
|
|
openjdk-17-jdk \ |
|
|
ca-certificates \ |
|
|
curl \ |
|
|
unzip \ |
|
|
bash \ |
|
|
jq \ |
|
|
python3 \ |
|
|
python3-pip \ |
|
|
python3-venv \ |
|
|
&& apt-get clean \ |
|
|
&& rm -rf /var/lib/apt/lists/* \ |
|
|
&& update-ca-certificates \ |
|
|
&& useradd -r -u 1000 -m -d $APP_HOME -s /bin/bash $APP_USER \ |
|
|
&& chown -R $APP_USER:$APP_USER $APP_HOME |
|
|
|
|
|
ENV VIRTUAL_ENV=/app/venv |
|
|
RUN python3 -m venv $VIRTUAL_ENV |
|
|
ENV PATH="$VIRTUAL_ENV/bin:$PATH" |
|
|
RUN pip install --no-cache-dir huggingface_hub |
|
|
|
|
|
|
|
|
|
|
|
ENV PATH=$JAVA_HOME/bin:$PATH |
|
|
ENV LANG C.UTF-8 |
|
|
ENV LC_ALL C.UTF-8 |
|
|
|
|
|
|
|
|
WORKDIR $APP_HOME |
|
|
USER $APP_USER |
|
|
|
|
|
|
|
|
COPY --chown=reader:reader install_reader.sh ./ |
|
|
COPY --chown=reader:reader sync_data.sh ./ |
|
|
RUN chmod +x install_reader.sh \ |
|
|
&& sed -i 's|./bin/startup.sh -m single|exec &|' install_reader.sh |
|
|
RUN chmod +x sync_data.sh |
|
|
|
|
|
EXPOSE 8080 |
|
|
|
|
|
CMD ["/bin/sh", "-c", "./sync_data.sh"] |