qbit_manage/Dockerfile
bobokun 06abe3cfb0
4.3.0 (#814)
# Breaking Change
- `requirements.txt` is now replaced with `pyproject.toml` meaning that
**local installs** will need to replace their update command `pip
install -r requirements.txt` with `pip install .`
- Those that are running qbit-manage in docker don't need to do anything
and things will continue to work as is

# Requirements Updated
qbittorrent-api==2025.5.0
humanize==4.12.3

# New Updates
- Added user defined stalled_tag. Configurable through config.yml.
(Closes #802 Thanks to @Patchy3767)

## Bug Fixes
- Fixed max_seeding time of 0 for share_limits (Fixes #790 Thanks to
@glau-bd)
- Fixed Upload Limit not reset when LastActive/MinSeedsNotMet (Fixes
#804)
- Fixed Share limits not showing in logs when 0 torrents are in the
group(Fixes #789)
- Fixes bug where it tries to remove root_dir when not using category
(Fixes #777)

**Full Changelog**:
https://github.com/StuffAnThings/qbit_manage/compare/v4.2.2...v4.3.0

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Actionbot <actions@github.com>
Co-authored-by: bakerboy448 <55419169+bakerboy448@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Gerald Lau <glau@bitdefender.com>
Co-authored-by: Patchy3767 <birabinowitz+github@gmail.com>
2025-05-10 10:36:02 -04:00

49 lines
1.1 KiB
Docker

# Use a multi-stage build to minimize final image size
FROM python:3.13-alpine as builder
ARG BRANCH_NAME=master
ENV BRANCH_NAME=${BRANCH_NAME}
# Install build-time dependencies only
RUN apk add --no-cache \
gcc \
g++ \
libxml2-dev \
libxslt-dev \
zlib-dev \
curl \
bash
# Install UV (fast pip alternative)
RUN curl -LsSf https://astral.sh/uv/install.sh | sh
# Copy only dependency files first (better layer caching)
COPY pyproject.toml setup.py VERSION /app/
WORKDIR /app
# Install project in a virtual env (lightweight & reproducible)
RUN /root/.local/bin/uv pip install --system .
# Final stage: minimal runtime image
FROM python:3.13-alpine
ENV TINI_VERSION=v0.19.0
# Runtime dependencies (smaller than build stage)
RUN apk add --no-cache \
tzdata \
bash \
curl \
jq \
tini \
&& rm -rf /var/cache/apk/*
# Copy installed packages and scripts from builder
COPY --from=builder /usr/local/lib/python3.13/site-packages/ /usr/local/lib/python3.13/site-packages/
COPY --from=builder /app /app
COPY . /app
WORKDIR /app
VOLUME /config
ENTRYPOINT ["/sbin/tini", "-s", "--"]
CMD ["python3", "qbit_manage.py"]