| FROM ubuntu:22.04 |
|
|
| RUN apt-get update && apt-get install -y \ |
| python3 python3-pip python3-venv \ |
| wget curl tar gzip bash jq \ |
| && rm -rf /var/lib/apt/lists/* |
|
|
| RUN adduser --disabled-password --gecos '' --uid 1000 user |
| RUN mkdir -p /home/user/data && chown -R user:user /home/user/data |
|
|
| ENV HOME=/home/user \ |
| PATH=/home/user/.local/bin:$PATH |
| WORKDIR $HOME/app |
|
|
| ENV VIRTUAL_ENV=$HOME/venv |
| RUN python3 -m venv $VIRTUAL_ENV |
| ENV PATH="$VIRTUAL_ENV/bin:$PATH" |
| RUN pip install --no-cache-dir requests webdavclient3 huggingface_hub |
|
|
| RUN wget -q https://github.com/OpenListTeam/OpenList/releases/download/v4.0.8/openlist-linux-amd64.tar.gz && \ |
| tar -xzf openlist-linux-amd64.tar.gz && \ |
| find . -type f -name "openlist" -exec chmod +x {} \; && \ |
| find . -type f -name "openlist" -exec mv {} . \; && \ |
| rm -rf openlist-linux-amd64.tar.gz *linux-amd64* |
|
|
| COPY --chown=user . $HOME/app |
| COPY --chown=user sync_data.sh $HOME/app/ |
| RUN chmod +x $HOME/app/sync_data.sh |
| RUN chown -R user:user /home/user |
|
|
| USER user |
| CMD ["/bin/bash", "-c", "$HOME/app/sync_data.sh & sleep 15 && ./openlist server"] |