| |
| 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"] |