| |
| FROM python:3.11-slim as builder |
|
|
| |
| RUN apt-get update && \ |
| apt-get install -y --no-install-recommends \ |
| build-essential \ |
| libssl-dev \ |
| libffi-dev \ |
| python3-dev \ |
| && rm -rf /var/lib/apt/lists/* |
|
|
| |
| WORKDIR /app |
|
|
| |
| COPY requirements.txt . |
|
|
| |
| RUN pip install --no-cache-dir -r requirements.txt |
|
|
| |
| |
| FROM ubuntu:22.04 |
|
|
| |
| ENV DEBIAN_FRONTEND=noninteractive |
| ENV QB_WEBUI_PORT=8080 |
| ENV APP_PORT=8000 |
|
|
| |
| RUN apt-get update && \ |
| apt-get install -y --no-install-recommends \ |
| qbittorrent-nox \ |
| python3 \ |
| python3-pip \ |
| |
| tini \ |
| && rm -rf /var/lib/apt/lists/* |
|
|
| |
| RUN useradd -ms /bin/bash qbuser |
|
|
| |
| COPY --from=builder /usr/local/lib/python3.11/site-packages /usr/local/lib/python3/dist-packages |
| COPY --from=builder /usr/local/bin /usr/local/bin |
|
|
| |
| WORKDIR /home/qbuser/app |
| COPY app/ ./app/ |
| COPY run.sh . |
| RUN chmod +x run.sh && \ |
| chown -R qbuser:qbuser /home/qbuser/app |
|
|
| |
| USER qbuser |
|
|
| |
| EXPOSE 8000 |
| EXPOSE 8080 |
|
|
| |
| ENTRYPOINT ["/usr/bin/tini", "--"] |
|
|
| |
| CMD ["./run.sh"] |
|
|