FROM debian:oldstable-slim
# Non-interactive frontend for apt
ENV DEBIAN_FRONTEND=noninteractive
# Build and runtime dependencies installation
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
build-essential \
cmake \
ninja-build \
libssl-dev \
zlib1g-dev \
curl \
git \
ca-certificates \
qt6-base-dev \
qt6-tools-dev \
libtorrent-rasterbar-dev \
libboost-all-dev \
&& rm -rf /var/lib/apt/lists/*
# Copy the source tree into the image
WORKDIR /qbittorrent
COPY . /qbittorrent
# Build qBittorrent from source with GUI, WebUI, stacktrace, and tests enabled
RUN cmake -B build \
-G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
-DGUI=ON \
-DWEBUI=ON \
-DSTACKTRACE=ON \
-DTESTING=ON \
-DVERBOSE_CONFIGURE=ON \
-DCMAKE_INSTALL_PREFIX=/usr \
&& cmake --build build && cmake --install build
# Default to the headless qBittorrent executable
CMD ["qbittorrent-nox"]
# Ignore git and IDE files .git .gitignore *.swp *.swo *.la *.a *.o *.obj *.dll *.log *.so *.dylib # Node node_modules/ yarn.lock # Build artifacts build/ dist/ # Qt generated files moc_* moc-* qrc_* ui_* # Misc .env # macOS .DS_Store
Summary of Docker build error - Exact error message and exit code - Error: Package LibtorrentRasterbar >= 2.0.10 not found with CMake or pkg-config. - See also: Configuring incomplete, errors occurred! (CMakeOutput.log) - Exit code: 1 - Failing command/step - Failing step: [5/5] RUN cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DGUI=ON -DWEBUI=ON -DSTACKTRACE=ON -DTESTING=ON -DVERBOSE_CONFIGURE=ON -DCMAKE_INSTALL_PREFIX=/usr && cmake --build build && cmake --install build - Missing packages or files mentioned - Missing: libtorrent-rasterbar >= 2.0.10 - Version found: libtorrent-rasterbar (2.0.8) - The log explicitly states: "Package 'libtorrent-rasterbar' has version '2.0.8', required version is '>= 2.0.10'" - Version mismatch info - The build requires libtorrent-rasterbar >= 2.0.10, but the system provides 2.0.8 (installed via Debian oldstable packages). This version gap triggers the CMake dependency check and stops configuration. Notes - The failure occurs during the CMake configure step, before any build artifacts are produced. - To fix, provide a libtorrent-rasterbar >= 2.0.10 (either by upgrading the base image/repo, backporting, or building libtorrent-rasterbar from source and ensuring CMake/pkg-config can locate it).
debian (5287 stars): Debian is a Linux distribution that's composed entirely of free and open-source kasmweb/core-debian-bookworm (1 stars): Debian Bookworm base image for Kasm Workspaces kasmweb/debian-bookworm-desktop (6 stars): Debian Bookworm desktop for Kasm Workspaces linuxserver/rutorrent (185 stars): A Rutorrent container, brought to you by LinuxServer.io. haproxytech/haproxy-debian (9 stars): HAProxy CE Docker Debian image linuxserver/qbittorrent (1642 stars): A Qbittorrent container, brought to you by LinuxServer.io. kasmweb/qbittorrent (26 stars): qBittorrent for Kasm Workspaces neurodebian (116 stars): NeuroDebian provides neuroscience research software for Debian, Ubuntu, and othe balenalib/artik5-debian-node (0 stars): This image is part of the balena.io base image series for IoT devices. clamav/clamav-debian (6 stars): The official Debian-based multi-arch Docker images for the ClamAV project.
debian (5287 stars): Debian is a Linux distribution that's composed entirely of free and open-source linuxserver/rutorrent (185 stars): A Rutorrent container, brought to you by LinuxServer.io. haproxytech/haproxy-debian (9 stars): HAProxy CE Docker Debian image linuxserver/qbittorrent (1642 stars): A Qbittorrent container, brought to you by LinuxServer.io. kasmweb/qbittorrent (26 stars): qBittorrent for Kasm Workspaces balenalib/artik5-debian-node (0 stars): This image is part of the balena.io base image series for IoT devices. kasmweb/core-debian-bullseye (0 stars): Debian Bullseye base image for Kasm Workspaces clamav/clamav-debian (6 stars): The official Debian-based multi-arch Docker images for the ClamAV project. kasmweb/core-debian-bookworm (1 stars): Debian Bookworm base image for Kasm Workspaces neurodebian (116 stars): NeuroDebian provides neuroscience research software for Debian, Ubuntu, and othe
FROM debian:oldstable-slim
# Non-interactive frontend for apt
ENV DEBIAN_FRONTEND=noninteractive
# Build and runtime dependencies installation
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
build-essential \
cmake \
ninja-build \
libssl-dev \
zlib1g-dev \
curl \
git \
ca-certificates \
pkg-config \
libboost-all-dev \
&& rm -rf /var/lib/apt/lists/*
# Build libtorrent from source (>= 2.0.10)
RUN git clone --branch v2.0.11 --depth 1 https://github.com/arvidn/libtorrent.git /tmp/libtorrent \
&& mkdir -p /tmp/libtorrent/build \
&& cd /tmp/libtorrent/build \
&& cmake .. -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_CXX_STANDARD=20 -DCMAKE_INSTALL_PREFIX=/usr \
&& ninja \
&& ninja install \
&& rm -rf /tmp/libtorrent
# Copy the source tree into the image
WORKDIR /qbittorrent
COPY . /qbittorrent
# Build qBittorrent from source with GUI-off (to ensure dependencies can be resolved in container)
RUN cmake -B build \
-G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
-DGUI=OFF \
-DWEBUI=ON \
-DSTACKTRACE=ON \
-DTESTING=ON \
-DVERBOSE_CONFIGURE=ON \
-DCMAKE_INSTALL_PREFIX=/usr \
&& cmake --build build && cmake --install build
# Default to the headless qBittorrent executable
CMD ["qbittorrent-nox"]
Summary of Docker build error
- Exact error messages and exit code
- CMake Error at CMakeLists.txt:547 (add_library):
Cannot find source file:
deps/try_signal/try_signal.cpp
...
- CMake Error at CMakeLists.txt:547 (add_library):
No SOURCES given to target: torrent-rasterbar
- CMake Generate step failed. Build files cannot be regenerated correctly.
- The overall step ended with exit code: 1
- Failing command/step
- RUN git clone --branch v2.0.11 --depth 1 https://github.com/arvidn/libtorrent.git /tmp/libtorrent && mkdir -p /tmp/libtorrent/build && cd /tmp/libtorrent/build && cmake .. -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_CXX_STANDARD=20 -DCMAKE_INSTALL_PREFIX=/usr && ninja && ninja install && rm -rf /tmp/libtorrent
- Missing packages or files mentioned
- Missing file referenced: deps/try_signal/try_signal.cpp
- Additionally, the CMake step reports: "No SOURCES given to target: torrent-rasterbar"
- Version mismatch information
- Library version being built: libtorrent v2.0.11
- CMake indicates required/found Boost info:
- Required: boost_headers (required version == 1.74.0)
- Found: Boost 1.74.0 (matches the requirement)
- OpenSSL detected: Found version 3.0.18
- No explicit version mismatch reported beyond the missing source causing the failureFROM debian:bookworm-slim
# Non-interactive frontend for apt
ENV DEBIAN_FRONTEND=noninteractive
# Install build and runtime dependencies (system-provided libtorrent)
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
build-essential \
cmake \
ninja-build \
libssl-dev \
zlib1g-dev \
curl \
git \
ca-certificates \
pkg-config \
qt6-base-dev \
qt6-tools-dev \
libtorrent-rasterbar-dev \
libboost-all-dev \
&& rm -rf /var/lib/apt/lists/*
# Copy the source tree into the image
WORKDIR /qbittorrent
COPY . /qbittorrent
# Build qBittorrent from source with GUI, WebUI, stacktrace, and tests enabled
RUN cmake -B build \
-G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
-DGUI=ON \
-DWEBUI=ON \
-DSTACKTRACE=ON \
-DTESTING=ON \
-DVERBOSE_CONFIGURE=ON \
-DCMAKE_INSTALL_PREFIX=/usr \
&& cmake --build build && cmake --install build
# Default to the headless qBittorrent executable (nox variant)
CMD ["qbittorrent-nox"]
- Status: build_failed
- Context: Final image would include full Qt dev libs and build tools; suggests a multi-stage build, a .dockerignore to exclude build artifacts/large dirs, and running qbittorrent-nox as a non-root user for security.
- Failing step (exact command):
RUN cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DGUI=ON -DWEBUI=ON -DSTACKTRACE=ON -DTESTING=ON -DVERBOSE_CONFIGURE=ON -DCMAKE_INSTALL_PREFIX=/usr && cmake --build build && cmake --install build
- Exact error message:
Package LibtorrentRasterbar >= 2.0.10 not found with CMake or pkg-config.
- Set LibtorrentRasterbar_DIR to a directory containing a
LibtorrentRasterbarConfig.cmake file or add the installation prefix of
LibtorrentRasterbar to CMAKE_PREFIX_PATH.
- Alternatively, make sure there is a valid libtorrent-rasterbar.pc file in
your system's pkg-config search paths (use PKG_CONFIG_PATH to specify additional search paths if needed).
- Call Stack (most recent call first): cmake/Modules/CheckPackages.cmake:41 (find_libtorrent)
CMakeLists.txt:55 (include)
Configuring incomplete, errors occurred!
- Exit code: 1
- Additional log note:
The log also shows: “-- Configuring incomplete, errors occurred!” and “See also /qbittorrent/build/CMakeFiles/CMakeOutput.log”.
- Version mismatch / missing packages:
The package dependency requirement 'libtorrent-rasterbar >= 2.0.10' could not be satisfied.
Package 'libtorrent-rasterbar' has version '2.0.8', required version is '>= 2.0.10'
- Inferred installed package versions:
libtorrent-rasterbar2.0:amd64 2.0.8-1+b1 (and related dev package shows 2.0.8)
- Missing/incorrect file reference: no valid libtorrent-rasterbar Config/PKGCONFIG entry that satisfies >=2.0.10 (no suitable LibtorrentRasterbarConfig.cmake or .pc found)
- Related path:
/qbittorrent/build/CMakeFiles/CMakeOutput.log
- Key packages involved:
libtorrent-rasterbar (version 2.0.8 installed; required >= 2.0.10)
- Actionable notes from output:
- Consider multi-stage Dockerfile, adding .dockerignore, and non-root user setup for security.FROM debian:bookworm-slim
# Non-interactive frontend for apt
ENV DEBIAN_FRONTEND=noninteractive
# Install build and runtime dependencies
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
build-essential \
cmake \
ninja-build \
libssl-dev \
zlib1g-dev \
curl \
git \
ca-certificates \
pkg-config \
qt6-base-dev \
qt6-tools-dev \
libboost-all-dev \
libtorrent-rasterbar-dev \
&& rm -rf /var/lib/apt/lists/*
# Copy the source tree into the image
WORKDIR /qbittorrent
COPY . /qbittorrent
# Configure, build, and install qBittorrent from source
RUN cmake -B build \
-G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
-DGUI=ON \
-DWEBUI=ON \
-DSTACKTRACE=ON \
-DTESTING=ON \
-DVERBOSE_CONFIGURE=ON \
-DCMAKE_INSTALL_PREFIX=/usr \
&& cmake --build build && cmake --install build
# Default to the headless binary if present, otherwise fall back to the GUI binary
CMD ["qbittorrent-nox"]
Build result - Status: build_failed Concerns - CMD uses qbittorrent-nox, but GUI is enabled (-DGUI=ON); qbittorrent-nox may not be produced when GUI is ON, causing startup failures. - COPY . /qbittorrent relies on the build context containing the qBittorrent source tree; missing sources can cause docker build to fail. - No explicit port exposure for WebUI (default qBittorrent WebUI). Failing step - [5/5] RUN cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DGUI=ON -DWEBUI=ON -DSTACKTRACE=ON -DTESTING=ON -DVERBOSE_CONFIGURE=ON -DCMAKE_INSTALL_PREFIX=/usr && cmake --build build && cmake --install build Exact error and exit code - exit code: 1 - The CXX compiler identification is GNU 12.2.0 - -- Checking for module 'libtorrent-rasterbar>=2.0.10' - -- Package dependency requirement 'libtorrent-rasterbar >= 2.0.10' could not be satisfied. - #9 0.799 Package 'libtorrent-rasterbar' has version '2.0.8', required version is '>= 2.0.10' - #9 0.799 CMake Error at cmake/Modules/CheckPackages.cmake:11 (message): - #9 0.799 Package LibtorrentRasterbar >= 2.0.10 not found with CMake or pkg-config. - #9 0.799 - #9 0.799 - Set LibtorrentRasterbar_DIR to a directory containing a - #9 0.799 LibtorrentRasterbarConfig.cmake file or add the installation prefix of - #9 0.799 LibtorrentRasterbar to CMAKE_PREFIX_PATH. - #9 0.799 - #9 0.799 - Alternatively, make sure there is a valid libtorrent-rasterbar.pc file in - #9 0.799 your system's pkg-config search paths (use PKG_CONFIG_PATH to specify additional search paths if needed). - #9 0.799 - #9 0.799 Call Stack (most recent call first): - #9 0.799 cmake/Modules/CheckPackages.cmake:41 (find_libtorrent) - #9 0.799 CMakeLists.txt:55 (include) - #9 0.799 - #9 0.800 -- Configuring incomplete, errors occurred! Missing packages/files - libtorrent-rasterbar >= 2.0.10 is required, but the system provides 2.0.8 - No valid LibtorrentRasterbar Config or pkg-config entry found Version/mismatch details - Required: libtorrent-rasterbar >= 2.0.10 - Found: libtorrent-rasterbar version 2.0.8 - This mismatch triggers the CMake configuration failure during CheckPackages. Notes - The failure occurs during the cmake configure step due to missing/upgraded libtorrent-rasterbar.
FROM debian:bookworm-slim AS libtorrent-builder
# Non-interactive frontend for apt
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
build-essential \
cmake \
ninja-build \
libssl-dev \
zlib1g-dev \
git \
pkg-config
# Build libtorrent from source (>= 2.0.10)
RUN git clone --recursive https://github.com/arvidn/libtorrent.git /tmp/libtorrent \
&& cd /tmp/libtorrent \
&& git checkout v2.0.11 -b v2.0.11 || true \
&& git submodule update --init --recursive
WORKDIR /tmp/libtorrent
RUN mkdir build \
&& cd build \
&& cmake .. -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_CXX_STANDARD=20 -DCMAKE_INSTALL_PREFIX=/usr \
&& ninja \
&& ninja install \
&& rm -rf /tmp/libtorrent
FROM debian:bookworm-slim
# Non-interactive frontend for apt
ENV DEBIAN_FRONTEND=noninteractive
# Install build and runtime dependencies
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
build-essential \
cmake \
ninja-build \
libssl-dev \
zlib1g-dev \
curl \
git \
ca-certificates \
pkg-config \
qt6-base-dev \
qt6-tools-dev \
libboost-all-dev \
&& rm -rf /var/lib/apt/lists/*
# Copy the built libtorrent from the libtorrent-builder stage
COPY --from=libtorrent-builder /usr /usr
# Copy the source tree into the image
WORKDIR /qbittorrent
COPY . /qbittorrent
# Configure, build, and install qBittorrent from source
RUN cmake -B build \
-G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
-DGUI=ON \
-DWEBUI=ON \
-DSTACKTRACE=ON \
-DTESTING=ON \
-DVERBOSE_CONFIGURE=ON \
-DCMAKE_INSTALL_PREFIX=/usr \
&& cmake --build build && cmake --install build
# Default to the headless qBittorrent executable
CMD ["qbittorrent-nox"]
Exact error message and exit code
- fatal: unable to access 'https://github.com/arvidn/libtorrent.git/': server certificate verification failed. CAfile: none CRLfile: none
- fatal: not a git repository (or any of the parent directories): .git
- Exit code: 128
Failing command/step
- Failing build step: libtorrent-builder stage
- Command:
RUN git clone --recursive https://github.com/arvidn/libtorrent.git /tmp/libtorrent \
&& cd /tmp/libtorrent \
&& git checkout v2.0.11 -b v2.0.11 || true \
&& git submodule update --init --recursive
Missing packages or files mentioned
- TLS/SSL certificate data missing in container leading to Git TLS failure:
- "CAfile: none" implies no CA certificates bundle present
- The error indicates server certificate verification failed
- No explicit missing apt-packages are cited in the error output; the root cause shown is certificate verification rather than a specific missing package/file.
Version mismatch information
- The script attempts to build a specific libtorrent version:
- git checkout v2.0.11 -b v2.0.11
- The failure occurs during cloning due to SSL certificate verification, so no version-specific code was reached. The target tag is v2.0.11.FROM debian:bookworm-slim AS libtorrent-builder
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
curl \
gcc \
g++ \
build-essential \
cmake \
ninja-build \
libssl-dev \
zlib1g-dev \
pkg-config \
tar \
&& rm -rf /var/lib/apt/lists/*
# Build libtorrent from source (>= 2.0.10) using official tarball to avoid git TLS issues
RUN curl -L -o /tmp/libtorrent-v2.0.11.tar.gz https://github.com/arvidn/libtorrent/archive/refs/tags/v2.0.11.tar.gz \
&& tar -xzf /tmp/libtorrent-v2.0.11.tar.gz -C /tmp \
&& mv /tmp/libtorrent-2.0.11 /tmp/libtorrent-2.0.11-src \
&& cd /tmp/libtorrent-2.0.11-src \
&& mkdir build \
&& cd build \
&& cmake .. -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_CXX_STANDARD=20 -DCMAKE_INSTALL_PREFIX=/usr \
&& ninja \
&& ninja install \
&& cd / && rm -rf /tmp/libtorrent-2.0.11-src /tmp/libtorrent-v2.0.11.tar.gz
FROM debian:oldstable-slim AS final
ENV DEBIAN_FRONTEND=noninteractive
# Runtime dependencies
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
libssl-dev \
zlib1g-dev \
curl \
git \
pkg-config \
libboost-all-dev \
# Qt is not required for qbittorrent-nox; keep runtime lean
\
&& rm -rf /var/lib/apt/lists/*
# Copy built libtorrent from builder stage
COPY --from=libtorrent-builder /usr /usr
# Copy the source tree
WORKDIR /qbittorrent
COPY . /qbittorrent
# Build qBittorrent from source using the installed libtorrent
RUN mkdir -p build \
&& cd build \
&& cmake -G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
-DGUI=ON \
-DWEBUI=ON \
-DSTACKTRACE=ON \
-DTESTING=ON \
-DVERBOSE_CONFIGURE=ON \
-DCMAKE_INSTALL_PREFIX=/usr \
-DLibtorrentRasterbar_DIR="/usr/lib/cmake/LibtorrentRasterbar" \
-DCMAKE_PREFIX_PATH=/usr \
.. \
&& cmake --build build \
&& cmake --install build
# Default to the headless executable when possible
CMD ["qbittorrent-nox"]
EXPOSE 8080
EXPOSE 6881
Concerns: Final runtime image copies only /usr from the builder stage. The dynamic linker/loader (typically in /lib or /lib64) is not copied, so qbittorrent-nox likely won't start at all., GUI flag is set to ON while the final image does not install Qt runtime/dev packages. This can cause the build to fail or produce a non-functional binary. qbittorrent-nox is headless and should avoid GUI components., Potential ABI/compatibility risk from mixing Debian bookworm-slim (build) with debian:oldstable-slim (runtime). Differences in glibc and other system libraries can cause runtime failures.
FROM debian:bookworm-slim AS libtorrent_builder
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
curl \
git \
build-essential \
cmake \
ninja-build \
zlib1g-dev \
libssl-dev \
pkg-config \
tar \
xz-utils \
&& rm -rf /var/lib/apt/lists/*
# Build libtorrent from source (>= 2.0.10)
RUN git clone --branch v2.0.11 --depth 1 --recurse-submodules https://github.com/arvidn/libtorrent.git /tmp/libtorrent \
&& cd /tmp/libtorrent \
&& mkdir build \
&& cd build \
&& cmake .. -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_CXX_STANDARD=20 -DCMAKE_INSTALL_PREFIX=/usr \
&& ninja \
&& ninja install \
&& cd / \
&& rm -rf /tmp/libtorrent
FROM debian:bookworm-slim AS final
ENV DEBIAN_FRONTEND=noninteractive
# Runtime dependencies
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
curl \
git \
pkg-config \
libssl3 \
zlib1g \
libqt6core6 \
libqt6gui6 \
libqt6Widgets6 \
libqt6Network6 \
libqt6Svg6 \
qt6-base \
&& rm -rf /var/lib/apt/lists/*
# Copy built libtorrent from builder stage
COPY --from=libtorrent_builder /usr /usr
# Copy the source tree
WORKDIR /qbittorrent
COPY . /qbittorrent
# Create a non-root user to run the app
RUN useradd -m -u 1000 qbittorrent
# Ownership
RUN chown -R qbittorrent:qbittorrent /qbittorrent
USER qbittorrent
WORKDIR /qbittorrent/build
# Configure, build, and install qBittorrent from source
RUN cmake -G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
-DGUI=ON \
-DWEBUI=ON \
-DSTACKTRACE=ON \
-DTESTING=ON \
-DVERBOSE_CONFIGURE=ON \
-DCMAKE_INSTALL_PREFIX=/usr \
-DLibtorrentRasterbar_DIR="/usr/lib/cmake/LibtorrentRasterbar" \
-DCMAKE_PREFIX_PATH=/usr \
.. \
&& cmake --build . && cmake --install .
# Default to the headless executable when possible
CMD ["qbittorrent-nox"]
EXPOSE 8080
EXPOSE 6881
Summary of Docker build error
- Exact error messages (from apt):
- E: Unable to locate package libqt6Widgets6
- E: Unable to locate package libqt6Network6
- E: Unable to locate package libqt6Svg6
- E: Unable to locate package qt6-base
- Exit code: 100
- Failing command/step:
- RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
curl \
git \
pkg-config \
libssl3 \
zlib1g \
libqt6core6 \
libqt6gui6 \
libqt6Widgets6 \
libqt6Network6 \
libqt6Svg6 \
qt6-base \
&& rm -rf /var/lib/apt/lists/*
- Missing packages or files mentioned:
- libqt6Widgets6
- libqt6Network6
- libqt6Svg6
- qt6-base
- Version mismatch / repo context:
- The missing packages indicate these Qt6-related packages are not available in the Debian bookworm apt repository used by this build. Other packages (libqt6core6, libqt6gui6) were installable, but the four listed Qt6 packages could not be located. This suggests a version/name mismatch orRepo state for Qt6 packages in this Debian base.FROM debian:bookworm-slim AS libtorrent_builder
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
curl \
tar \
xz-utils \
build-essential \
cmake \
ninja-build \
zlib1g-dev \
libssl-dev \
pkg-config \
&& rm -rf /var/lib/apt/lists/*
# Build libtorrent from source (>= 2.0.10) using official tarball
RUN mkdir -p /tmp/libtorrent && \
cd /tmp/libtorrent && \
curl -L -o /tmp/libtorrent-v2.0.11.tar.gz https://github.com/arvidn/libtorrent/archive/refs/tags/v2.0.11.tar.gz && \
tar -xzf /tmp/libtorrent-v2.0.11.tar.gz --strip-components=1 && \
mkdir build && cd build && \
cmake .. -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_CXX_STANDARD=20 -DCMAKE_INSTALL_PREFIX=/usr && \
ninja && ninja install && \
cd / && rm -rf /tmp/libtorrent
FROM debian:bookworm-slim AS final
ENV DEBIAN_FRONTEND=noninteractive
# Runtime dependencies (Qt6 runtime and libtorrent will be provided)
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
curl \
git \
pkg-config \
libssl-dev \
zlib1g-dev \
libboost-all-dev \
qt6-base \
libqt6core6 \
libqt6network6 \
libqt6gui6 \
libqt6widgets6 \
libqt6svg6 \
&& rm -rf /var/lib/apt/lists/*
# Copy built libtorrent from builder stage
COPY --from=libtorrent_builder /usr /usr
# Copy the source tree
WORKDIR /qbittorrent
COPY . /qbittorrent
# Create non-root user for running the application
RUN useradd -m -u 1000 qbittorrent
# Ownership
RUN chown -R qbittorrent:qbittorrent /qbittorrent
USER qbittorrent
WORKDIR /qbittorrent
# Create build directory and configure/build qBittorrent from source
RUN mkdir build \
&& cd build \
&& cmake -G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
-DGUI=OFF \
-DWEBUI=ON \
-DSTACKTRACE=ON \
-DTESTING=ON \
-DVERBOSE_CONFIGURE=ON \
-DCMAKE_INSTALL_PREFIX=/usr \
-DLibtorrentRasterbar_DIR="/usr/lib/cmake/LibtorrentRasterbar" \
-DCMAKE_PREFIX_PATH=/usr \
.. \
&& cmake --build . \
&& cmake --install .
# Default to the headless executable
CMD ["qbittorrent-nox"]
EXPOSE 8080
EXPOSE 6881
- Exact error message and exit code
- E: Unable to locate package qt6-base
- exit code: 100
- Failing command/step
- RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
curl \
git \
pkg-config \
libssl-dev \
zlib1g-dev \
libboost-all-dev \
qt6-base \
libqt6core6 \
libqt6network6 \
libqt6gui6 \
libqt6widgets6 \
libqt6svg6 \
&& rm -rf /var/lib/apt/lists/*
- Missing packages or files mentioned
- qt6-base (not found by apt in this base image's repositories)
- Version mismatch info
- Base image is debian:bookworm-slim; the apt repositories for this image do not provide qt6-base, causing the package installation to fail. This indicates a mismatch between the requested Qt6 base package and the available packages for this Debian slim image.FROM debian:bookworm-slim AS libtorrent_builder
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
build-essential \
cmake \
ninja-build \
libssl-dev \
zlib1g-dev \
pkg-config \
ca-certificates \
curl \
tar \
xz-utils \
git \
&& rm -rf /var/lib/apt/lists/*
# Build libtorrent from source (>= 2.0.10)
RUN mkdir -p /tmp/libtorrent && \
cd /tmp/libtorrent && \
curl -L -o /tmp/libtorrent-v2.0.11.tar.gz https://github.com/arvidn/libtorrent/archive/refs/tags/v2.0.11.tar.gz && \
tar -xzf /tmp/libtorrent-v2.0.11.tar.gz --strip-components=1 && \
mkdir build && cd build && \
cmake .. -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_CXX_STANDARD=20 -DCMAKE_INSTALL_PREFIX=/usr && \
ninja && ninja install && \
cd / && rm -rf /tmp/libtorrent
FROM debian:bookworm-slim AS final
ENV DEBIAN_FRONTEND=noninteractive
# Runtime dependencies (Qt6 runtime and libtorrent will be provided, but we keep it lean)
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
curl \
git \
pkg-config \
libssl-dev \
zlib1g-dev \
libboost-all-dev \
&& rm -rf /var/lib/apt/lists/*
# Copy built libtorrent from builder stage
COPY --from=libtorrent_builder /usr /usr
# Copy the source tree
WORKDIR /qbittorrent
COPY . /qbittorrent
# Create non-root user for running the application
RUN useradd -m -u 1000 qbittorrent
# Ownership
RUN chown -R qbittorrent:qbittorrent /qbittorrent
USER qbittorrent
WORKDIR /qbittorrent
# Create build directory and configure/build qBittorrent from source
RUN mkdir -p build \
&& cd build \
&& cmake -G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
-DGUI=OFF \
-DWEBUI=ON \
-DSTACKTRACE=ON \
-DTESTING=ON \
-DVERBOSE_CONFIGURE=ON \
-DCMAKE_INSTALL_PREFIX=/usr \
-DLibtorrentRasterbar_DIR="/usr/lib/cmake/LibtorrentRasterbar" \
-DCMAKE_PREFIX_PATH=/usr \
.. \
&& cmake --build . \
&& cmake --install .
# Default to the headless executable
CMD ["qbittorrent-nox"]
EXPOSE 8080
EXPOSE 6881
Concerns: Qt6 development/runtime dependencies are not installed; building qBittorrent from source without Qt will likely fail., Runtime image does not include Qt6 libraries required by qbittorrent-nox and the WebUI; tests may fail at runtime., Potential missing dependencies for running qbittorrent-nox (e.g., runtime Qt libs, system libraries) since only -dev packages and libboost are installed.
FROM debian:bookworm-slim AS libtorrent_builder
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
curl \
tar \
xz-utils \
build-essential \
cmake \
ninja-build \
zlib1g-dev \
libssl-dev \
pkg-config \
&& rm -rf /var/lib/apt/lists/*
# Build libtorrent from source (>= 2.0.10) using official tarball to avoid TLS issues
RUN mkdir -p /tmp/libtorrent && \
cd /tmp/libtorrent && \
curl -L -o /tmp/libtorrent-v2.0.11.tar.gz https://github.com/arvidn/libtorrent/archive/refs/tags/v2.0.11.tar.gz && \
tar -xzf /tmp/libtorrent-v2.0.11.tar.gz --strip-components=1 && \
mkdir build && cd build && \
cmake .. -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_CXX_STANDARD=20 -DCMAKE_INSTALL_PREFIX=/usr && \
ninja && ninja install && \
cd / && rm -rf /tmp/libtorrent
FROM debian:bookworm-slim AS final
ENV DEBIAN_FRONTEND=noninteractive
# Runtime dependencies (no GUI to keep container lean)
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
curl \
git \
pkg-config \
libboost-all-dev \
libssl-dev \
zlib1g-dev \
&& rm -rf /var/lib/apt/lists/*
# Copy built libtorrent from builder stage
COPY --from=libtorrent_builder /usr /usr
# Copy the source tree
WORKDIR /qbittorrent
COPY . /qbittorrent
# Create non-root user for running the application
RUN useradd -m -u 1000 qbittorrent
USER qbittorrent
WORKDIR /qbittorrent
# Create build directory and configure/build qBittorrent from source
RUN mkdir -p build \
&& cd build \
&& cmake -G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
-DGUI=OFF \
-DWEBUI=ON \
-DSTACKTRACE=ON \
-DTESTING=ON \
-DVERBOSE_CONFIGURE=ON \
-DCMAKE_INSTALL_PREFIX=/usr \
-DLibtorrentRasterbar_DIR="/usr/lib/cmake/LibtorrentRasterbar" \
-DCMAKE_PREFIX_PATH=/usr \
.. \
&& cmake --build . \
&& cmake --install .
# Default to the headless executable
CMD ["qbittorrent-nox"]
EXPOSE 8080
EXPOSE 6881
- Exact error message and exit code
- Could NOT find Boost (missing: Boost_INCLUDE_DIR)
- Exit code: 1
- Failing command/step
- libtorrent_builder 3/3 RUN sequence:
mkdir -p /tmp/libtorrent && cd /tmp/libtorrent && curl -L -o /tmp/libtorrent-v2.0.11.tar.gz https://github.com/arvidn/libtorrent/archive/refs/tags/v2.0.11.tar.gz && tar -xzf /tmp/libtorrent-v2.0.11.tar.gz --strip-components=1 && mkdir build && cd build && cmake .. -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_CXX_STANDARD=20 -DCMAKE_INSTALL_PREFIX=/usr && ninja && ninja install && cd / && rm -rf /tmp/libtorrent
- Missing packages or files mentioned
- Boost include path not found during CMake configuration (Boost_INCLUDE_DIR missing)
- Note: Boost development headers were intended to be provided by prior apt-get installs (e.g., libboost-all-dev/libboost-dev), but Boost headers could not be located by CMake at configure time.
- Version mismatch/info
- C/C++ toolchain shown: The C/CXX compiler identities are GNU 12.2.0
- OpenSSL found: /usr/lib/x86_64-linux-gnu/libcrypto.so (version 3.0.18)
- Boost packages appear to be installed (libboost-all-dev, related libboost-*-dev packages were installed in earlier steps), yet Boost_INCLUDE_DIR could not be found by CMake
- No explicit Boost version mismatch is printed; the failure is due to missing Boost include files at configure time.FROM debian:bookworm-slim AS libtorrent_builder
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
curl \
tar \
xz-utils \
build-essential \
cmake \
ninja-build \
zlib1g-dev \
libssl-dev \
pkg-config \
libboost-all-dev \
&& rm -rf /var/lib/apt/lists/*
# Build libtorrent from source (>= 2.0.10)
RUN mkdir -p /tmp/libtorrent && \
cd /tmp/libtorrent && \
curl -L -o /tmp/libtorrent-v2.0.11.tar.gz https://github.com/arvidn/libtorrent/archive/refs/tags/v2.0.11.tar.gz && \
tar -xzf /tmp/libtorrent-v2.0.11.tar.gz --strip-components=1 && \
mkdir build && cd build && \
cmake .. -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_CXX_STANDARD=20 -DCMAKE_INSTALL_PREFIX=/usr -DBOOST_ROOT=/usr/include \
&& ninja && ninja install && \
cd / && rm -rf /tmp/libtorrent
FROM debian:bookworm-slim AS final
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
curl \
git \
pkg-config \
libssl-dev \
zlib1g-dev \
libboost-all-dev \
libqt6core6 \
libqt6gui6 \
libqt6network6 \
libqt6widgets6 \
qt6-base \
&& rm -rf /var/lib/apt/lists/*
COPY --from=libtorrent_builder /usr /usr
WORKDIR /qbittorrent
COPY . /qbittorrent
RUN useradd -m -u 1000 qbittorrent
USER qbittorrent
WORKDIR /qbittorrent
RUN mkdir -p build \
&& cd build \
&& cmake -G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
-DGUI=ON \
-DWEBUI=ON \
-DSTACKTRACE=ON \
-DTESTING=ON \
-DVERBOSE_CONFIGURE=ON \
-DCMAKE_INSTALL_PREFIX=/usr \
-DLibtorrentRasterbar_DIR="/usr/lib/cmake/LibtorrentRasterbar" \
.. \
&& cmake --build . \
&& cmake --install .
CMD ["qbittorrent-nox"]
EXPOSE 8080
EXPOSE 6881
Summary (under 1500 chars): - Exact error message and exit code - E: Unable to locate package qt6-base - Exit code: 100 - Failing command/step - [final 2/8] RUN apt-get update && apt-get install -y --no-install-recommends ca-certificates curl git pkg-config libssl-dev zlib1g-dev libboost-all-dev libqt6core6 libqt6gui6 libqt6network6 libqt6widgets6 qt6-base && rm -rf /var/lib/apt/lists/* - Missing packages or files mentioned - qt6-base (not found in the apt repositories for this Debian image) - Version mismatch info - The build tries to install qt6-base alongside other Qt 6 libraries (libqt6core6, libqt6gui6, libqt6network6, libqt6widgets6) but qt6-base is not available in the Debian bookworm-slim repositories used by this image, indicating a possible mismatch between the requested Qt6 base package and the repository contents.
FROM debian:bookworm-slim AS builder
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
curl \
ca-certificates \
git \
build-essential \
cmake \
ninja-build \
libssl-dev \
zlib1g-dev \
libboost-all-dev \
libtorrent-rasterbar-dev \
&& rm -rf /var/lib/apt/lists/*
# Build from source
WORKDIR /qbittorrent
COPY . /qbittorrent
RUN cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
-DGUI=OFF \
-DWEBUI=ON \
-DSTACKTRACE=ON \
-DTESTING=ON \
-DVERBOSE_CONFIGURE=ON \
-DCMAKE_INSTALL_PREFIX=/usr \
&& cmake --build build -j$(nproc) \
&& cmake --install build
FROM debian:bookworm-slim
# Runtime image reusing the built artifacts
COPY --from=builder /usr /usr
# Basic runtime dependencies (kept minimal but sufficient for the built binaries)
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
&& rm -rf /var/lib/apt/lists/*
# Create a non-root user to run the service
RUN useradd -m -r qbittorrent
USER qbittorrent
WORKDIR /home/qbittorrent
# Expose the WebUI port if needed (default 8080 for qBittorrent WebUI)
EXPOSE 8080
# Entry point: run the headless qBittorrent daemon
CMD ["qbittorrent-nox"]
build/ *.o *.so *.a *.log CMakeFiles/ CMakeCache.txt cmake-build-*/ .DS_Store *.tar.gz *.zip *.tar README* LICENSE* .vscode/ .idea/ .git/
- VerifyBuild status: build_failed
- Concerns
- Final image copies /usr from the builder stage; verify runtime dependencies for qbittorrent-nox are present in the slim base image.
- No HEALTHCHECK defined; consider adding a healthcheck (e.g., curl http://localhost:8080).
- Documentation of default WebUI port and required environment/config is minimal.
- Build error
- Exit code: 1
- The run failed with: "Exit code: 1" (the log shows: process "/bin/sh -c cmake ... did not complete successfully: exit code: 1")
- Configure failure messages:
- "Package dependency requirement 'libtorrent-rasterbar >= 2.0.10' could not be satisfied."
- "Package 'libtorrent-rasterbar' has version '2.0.8', required version is '>= 2.0.10'"
- "CMake Error at cmake/Modules/CheckPackages.cmake:11 (message):"
- " Package LibtorrentRasterbar >= 2.0.10 not found with CMake or pkg-config."
- "Configuring incomplete, errors occurred!"
- "See also \"/qbittorrent/build/CMakeFiles/CMakeOutput.log\"."
- Failing command/step
- The RUN step that failed:
- cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DGUI=OFF -DWEBUI=ON -DSTACKTRACE=ON -DTESTING=ON -DVERBOSE_CONFIGURE=ON -DCMAKE_INSTALL_PREFIX=/usr && cmake --build build -j$(nproc) && cmake --install build
- Missing packages or files mentioned
- Missing: libtorrent-rasterbar >= 2.0.10
- Found/installed during build’s apt-get step: libtorrent-rasterbar2.0:amd64 2.0.8-1+b1 and libtorrent-rasterbar-dev 2.0.8 (i.e., libtorrent-rasterbar 2.0.8)
- Version mismatch info
- Required: libtorrent-rasterbar >= 2.0.10
- Found: libtorrent-rasterbar 2.0.8 (and corresponding dev/pkg-config entries at 2.0.8)
- Root cause: libtorrent-rasterbar 2.0.8 does not satisfy the >=2.0.10 requirement, causing the CMake configure to fail.
- Summary (actionable)
- Build failed at the final cmake step due to libtorrent-rasterbar version mismatch (2.0.8 found; 2.0.10+ required). Upgrading libtorrent-rasterbar to >= 2.0.10 in the build image or adjusting dependencies is needed. Also verify runtime image includes the required libraries and consider adding a HEALTHCHECK. See /qbittorrent/build/CMakeFiles/CMakeOutput.log for details.FROM debian:bookworm-slim AS builder
ENV DEBIAN_FRONTEND=noninteractive
# Install build dependencies
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
curl \
ca-certificates \
git \
build-essential \
cmake \
ninja-build \
pkg-config \
libssl-dev \
zlib1g-dev \
libboost-all-dev \
# For libtorrent and qBittorrent
libcurl4-openssl-dev \
&& rm -rf /var/lib/apt/lists/*
# Build libtorrent from source (required >= 2.0.10)
WORKDIR /build
RUN git clone --branch v2.0.11 --depth 1 https://github.com/arvidn/libtorrent.git libtorrent \
&& cd libtorrent \
&& mkdir build \
&& cd build \
&& cmake -G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=/usr \
-DBUILD_SHARED_LIBS=OFF \
-DCMAKE_CXX_STANDARD=20 \
.. \
&& cmake --build build -j$(nproc) \
&& cmake --install build
# Build qBittorrent from source (headless: GUI=OFF, WEBUI=ON)
WORKDIR /qbittorrent
COPY . /qbittorrent
RUN cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
-DGUI=OFF \
-DWEBUI=ON \
-DSTACKTRACE=ON \
-DTESTING=ON \
-DVERBOSE_CONFIGURE=ON \
-DCMAKE_INSTALL_PREFIX=/usr \
-DLibtorrentRasterbar_DIR=/usr/lib/cmake/LibtorrentRasterbar \
&& cmake --build build -j$(nproc) \
&& cmake --install build
FROM debian:bookworm-slim
# Runtime image: keep it slim and only the necessary runtime files
COPY --from=builder /usr /usr
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
curl \
libstdc++6 \
&& rm -rf /var/lib/apt/lists/*
# Create a non-root user for running the daemon
RUN useradd -m -r qbittorrent
USER qbittorrent
WORKDIR /home/qbittorrent
EXPOSE 8080
CMD ["qbittorrent-nox"]
- Build status: VerifyBuild status: build_failed - Key concern: Runtime image may be missing Qt runtime libraries for qbittorrent-nox; final image behavior depends on whether qBittorrent-nox is statically linked or requires Qt/Boost runtime packages not in the slim image. - Failing command (RUN): RUN git clone --branch v2.0.11 --depth 1 https://github.com/arvidn/libtorrent.git libtorrent && cd libtorrent && mkdir build && cd build && cmake -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_SHARED_LIBS=OFF -DCMAKE_CXX_STANDARD=20 .. && cmake --build build -j$(nproc) && cmake --install build - Exact error messages and exit code: - CMake Error at CMakeLists.txt:547 (add_library): - Cannot find source file: - - deps/try_signal/try_signal.cpp - - Tried extensions .c .C .c++ .cc .cpp .cxx .cu .mpp .m .M .mm .ixx .cppm .h - .hh .h++ .hm .hpp .hxx .in .txx - - CMake Error at CMakeLists.txt:547 (add_library): - No SOURCES given to target: torrent-rasterbar - - CMake Generate step failed. Build files cannot be regenerated correctly. - exit code: 1 (as shown by the overall docker build failure: “ERROR: process '/bin/sh -c ...' did not complete successfully: exit code: 1”) - Missing packages or files mentioned: - Missing source file: deps/try_signal/try_signal.cpp - Version/mismatch information: - Cloned libtorrent repository with branch v2.0.11 and depth 1 (detached HEAD state). - Pre-build toolchain/versions typical of Debian bookworm: GCC 12.2.0, OpenSSL 3.0.18, Boost 1.74, CMake 3.25.1, Ninja 1.11.1. - The error occurs due to a missing source file in the checked-out revision, suggesting a possible mismatch between the v2.0.11 snapshot and the CMake configuration expecting that file. - Additional note: - Final image behavior depends on Qt/Boost runtime packaging in the runtime image.
FROM debian:bookworm-slim AS builder
ENV DEBIAN_FRONTEND=noninteractive
# Install build dependencies
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
curl \
ca-certificates \
git \
build-essential \
cmake \
ninja-build \
pkg-config \
libssl-dev \
zlib1g-dev \
libcurl4-openssl-dev \
libboost-all-dev \
&& rm -rf /var/lib/apt/lists/*
# Build libtorrent from source (required >= 2.0.10)
WORKDIR /build
RUN git clone --branch v2.0.11 --depth 1 --recurse-submodules https://github.com/arvidn/libtorrent.git libtorrent \
&& cd libtorrent \
&& mkdir build \
&& cd build \
&& cmake -G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=/usr \
-DBUILD_SHARED_LIBS=OFF \
-DCMAKE_CXX_STANDARD=20 \
.. \
&& cmake --build build -j$(nproc) \
&& cmake --install build
# Build qBittorrent from source (headless: GUI=OFF, WEBUI=ON)
WORKDIR /qbittorrent
COPY . /qbittorrent
RUN cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
-DGUI=OFF \
-DWEBUI=ON \
-DSTACKTRACE=ON \
-DTESTING=ON \
-DVERBOSE_CONFIGURE=ON \
-DCMAKE_INSTALL_PREFIX=/usr \
-DLibtorrentRasterbar_DIR=/usr/lib/cmake/LibtorrentRasterbar \
&& cmake --build build -j$(nproc) \
&& cmake --install build
FROM debian:bookworm-slim
# Runtime image: keep it slim and only the necessary runtime files
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
qt6-base \
curl \
libstdc++6 \
&& rm -rf /var/lib/apt/lists/*
COPY --from=builder /usr /usr
# Create a non-root user for running the daemon
RUN useradd -m -r qbittorrent
USER qbittorrent
WORKDIR /home/qbittorrent
EXPOSE 8080
CMD ["qbittorrent-nox"]
Summary of Docker build error - Failing command/step - Dockerfile (stage-1, step 2/5): RUN apt-get update && apt-get install -y --no-install-recommends ca-certificates qt6-base curl libstdc++6 && rm -rf /var/lib/apt/lists/* - Dockerfile:56 (shown in log) - Exact error message and exit code - E: Unable to locate package qt6-base - exit code: 100 - Missing packages or files mentioned - qt6-base (not found in the apt repositories for this image) - Version mismatch / repository info - Base image: debian:bookworm-slim - The package qt6-base is not available in the Debian bookworm repositories used by this image, causing apt to fail to locate it (no explicit version specified for qt6-base).
FROM debian:oldstable-slim AS builder
ENV DEBIAN_FRONTEND=noninteractive
# Install build dependencies
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
curl \
ca-certificates \
git \
build-essential \
cmake \
ninja-build \
pkg-config \
libssl-dev \
zlib1g-dev \
libcurl4-openssl-dev \
libboost-all-dev \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /qbittorrent
# Copy source tree
COPY . /qbittorrent
# Build libtorrent from a released tarball to satisfy version >= 2.0.10
WORKDIR /build
RUN set -eux; \
LIBTORRENT_VER=2.0.20; \
ARCHIVE="libtorrent-rasterbar-$LIBTORRENT_VER.tar.gz"; \
URL="https://github.com/arvidn/libtorrent/releases/download/v$LIBTORRENT_VER/$ARCHIVE"; \
curl -fsSL $URL -o /tmp/$ARCHIVE; \
tar -xzf /tmp/$ARCHIVE -C /tmp; \
cd /tmp/libtorrent-rasterbar-$LIBTORRENT_VER; \
mkdir build; \
cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=/usr \
-DBUILD_SHARED_LIBS=OFF \
-DCMAKE_CXX_STANDARD=20 \
-DLibtorrentRasterbar_DIR=/usr/lib/cmake/LibtorrentRasterbar \
..; \
cmake --build /tmp/libtorrent-rasterbar-$LIBTORRENT_VER/build -j$(nproc); \
cmake --install /tmp/libtorrent-rasterbar-$LIBTORRENT_VER/build
# Build qBittorrent from source (headless: GUI=OFF, WEBUI=ON)
WORKDIR /qbittorrent
RUN cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
-DGUI=OFF \
-DWEBUI=ON \
-DSTACKTRACE=ON \
-DTESTING=ON \
-DVERBOSE_CONFIGURE=ON \
-DCMAKE_INSTALL_PREFIX=/usr \
-DLibtorrentRasterbar_DIR=/usr/lib/cmake/LibtorrentRasterbar \
&& cmake --build build -j$(nproc) \
&& cmake --install build
FROM debian:oldstable-slim
# Runtime image: minimal and self-contained
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
libstdc++6 \
&& rm -rf /var/lib/apt/lists/*
COPY --from=builder /usr /usr
# Create a non-root user for running the daemon
RUN useradd -m -r qbittorrent
USER qbittorrent
WORKDIR /home/qbittorrent
EXPOSE 8080
CMD ["qbittorrent-nox"]
- VerifyBuild status: build_failed - Key issues - Smoke tests verify only that qbittorrent-nox binary exists and can display help/version; no test for Web UI reachability or daemon startup. - Final image copies /usr from the build stage; risk of including sensitive build-time files; ensure runtime dependencies are self-contained. - Debian oldstable slim base may miss security updates; consider pinning a specific LTS or using a more current base. - Build error - curl: (22) The requested URL returned error: 404 - url: (22) The requested URL returned error: 404 - Exit code: 22 - Failing step - [builder 6/8] RUN set -eux; LIBTORRENT_VER=2.0.20; ARCHIVE="libtorrent-rasterbar-$LIBTORRENT_VER.tar.gz"; URL="https://github.com/arvidn/libtorrent/releases/download/v$LIBTORRENT_VER/$ARCHIVE"; curl -fsSL $URL -o /tmp/$ARCHIVE; tar -xzf /tmp/$ARCHIVE -C /tmp; cd /tmp/libtorrent-rasterbar-$LIBTORRENT_VER; mkdir build; cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_SHARED_LIBS=OFF -DCMAKE_CXX_STANDARD=20 -DLibtorrentRasterbar_DIR=/usr/lib/cmake/LibtorrentRasterbar ..; cmake --build /tmp/libtorrent-rasterbar-$LIBTORRENT_VER/build -j$(nproc); cmake --install /tmp/libtorrent-rasterbar-$LIBTORRENT_VER/build - Missing packages or files mentioned - The tarball libtorrent-rasterbar-2.0.20.tar.gz is missing at the expected URL: https://github.com/arvidn/libtorrent/releases/download/v2.0.20/libtorrent-rasterbar-2.0.20.tar.gz - The 404 indicates the file does not exist at that location (not an apt/file system package issue). - Version/context note - Script uses LIBTORRENT_VER=2.0.20 and downloads v2.0.20/libtorrent-rasterbar-2.0.20.tar.gz; 404 implies this release tarball does not exist or is unavailable, indicating a possible version mismatch.
FROM debian:oldstable-slim AS builder
ENV DEBIAN_FRONTEND=noninteractive
# Install build dependencies
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
curl \
ca-certificates \
git \
build-essential \
cmake \
ninja-build \
pkg-config \
libssl-dev \
zlib1g-dev \
libcurl4-openssl-dev \
libboost-all-dev \
&& rm -rf /var/lib/apt/lists/*
# Build libtorrent from source (required >= 2.0.10)
WORKDIR /build
ENV LIBTORRENT_VER=2.0.11
ENV ARCHIVE=libtorrent-rasterbar-${LIBTORRENT_VER}.tar.gz
ENV URL=https://github.com/arvidn/libtorrent/releases/download/v${LIBTORRENT_VER}/${ARCHIVE}
RUN set -eux; \
curl -fsSL "$URL" -o "/tmp/${ARCHIVE}"; \
tar -xzf "/tmp/${ARCHIVE}" -C /tmp; \
cd "/tmp/libtorrent-rasterbar-${LIBTORRENT_VER}"; \
mkdir build; \
cd build; \
cmake -G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=/usr \
-DBUILD_SHARED_LIBS=OFF \
-DCMAKE_CXX_STANDARD=20 \
..; \
cmake --build . -j$(nproc); \
cmake --install .
# Build qBittorrent from source (headless: GUI=OFF, WEBUI=ON)
WORKDIR /qbittorrent
COPY . /qbittorrent
RUN cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
-DGUI=OFF \
-DWEBUI=ON \
-DSTACKTRACE=ON \
-DTESTING=ON \
-DVERBOSE_CONFIGURE=ON \
-DCMAKE_INSTALL_PREFIX=/usr \
-DLibtorrentRasterbar_DIR=/usr/lib/cmake/LibtorrentRasterbar \
&& cmake --build build -j$(nproc) \
&& cmake --install build
FROM debian:oldstable-slim
# Runtime image: minimal and self-contained
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
libstdc++6 \
&& rm -rf /var/lib/apt/lists/*
COPY --from=builder /usr /usr
# Create a non-root user for running the daemon
RUN useradd -m -r qbittorrent
USER qbittorrent
WORKDIR /home/qbittorrent
EXPOSE 8080
CMD ["qbittorrent-nox"]
Summary (under 1500 chars):
- Status: build_failed
- Build-context concerns
- Build context must contain qbittorrent source (COPY . /qbittorrent); if missing, build fails
- COPY --from=builder /usr /usr may copy unnecessary files and bloat the runtime image
- Using debian:oldstable-slim is outdated; upgrade to a supported Debian slim tag
- Failing step (tool output)
- Step: [builder 4/7] RUN set -eux; curl -fsSL "https://github.com/arvidn/libtorrent/releases/download/v2.0.11/libtorrent-rasterbar-2.0.11.tar.gz" -o "/tmp/libtorrent-rasterbar-2.0.11.tar.gz"; tar -xzf "/tmp/libtorrent-rasterbar-2.0.11.tar.gz" -C /tmp; cd "/tmp/libtorrent-rasterbar-2.0.11"; mkdir build; cd build; cmake -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_SHARED_LIBS=OFF -DCMAKE_CXX_STANDARD=20 ..; cmake --build . -j$(nproc); cmake --install .
- Failing compile error
- Failing target: "FAILED: CMakeFiles/torrent-rasterbar.dir/src/ssl.cpp.o"
- Error excerpt:
- "/usr/include/boost/asio/awaitable.hpp:68:19: error: 'exchange' is not a member of 'std'; did you mean 'std::__atomic_impl::exchange'?"
- "/usr/include/c++/12/bits/atomic_base.h:976:7: note: 'std::__atomic_impl::exchange' declared here"
- Ninja build stops: "ninja: build stopped: subcommand failed."
- Exit code: 1
- Missing packages/files
- None explicitly reported; the build proceeds to download libtorrent-rasterbar-2.0.11 and the error occurs during compilation
- Version/compatibility context
- GCC 12.2.0 (std=c++20)
- Boost 1.74.0
- OpenSSL 3.0.18
- libtorrent-rasterbar 2.0.11
- Observed mismatch: compile-time error in Boost.Asio awaitable integration with std::exchange under GCC 12, indicating a library-compiler/version compatibility issue (not a missing package).# Auto-generated Dockerfile for building qBittorrent from source
# Stage 1: build from source
FROM debian:oldstable-slim AS builder
ENV DEBIAN_FRONTEND=noninteractive
# Install build tools and dependencies (Qt6, libtorrent, etc.)
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
curl \
git \
build-essential \
cmake \
ninja-build \
libssl-dev \
zlib1g-dev \
qt6-base-dev \
qt6-tools-dev \
libtorrent-rasterbar-dev \
pkg-config \
&& rm -rf /var/lib/apt/lists/*
# Copy the source code into the image
COPY . /qbittorrent
WORKDIR /qbittorrent
# Configure the project (GUI + WebUI, testing enabled as per blueprint)
RUN cmake -B build \
-G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
-DGUI=ON \
-DWEBUI=ON \
-DSTACKTRACE=ON \
-DTESTING=ON \
-DVERBOSE_CONFIGURE=ON
# Build and install
RUN cmake --build build \
&& cmake --install build
# Stage 2: runtime image
FROM debian:oldstable-slim
ENV DEBIAN_FRONTEND=noninteractive
# Copy the built artifacts from the builder stage
COPY --from=builder /usr /usr
# Ensure minimal runtime environment and certificates
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
libssl1.1 \
zlib1g \
&& rm -rf /var/lib/apt/lists/*
ENV QT_QPA_PLATFORM=offscreen
# Expose the Web UI port
EXPOSE 8080
# Entry point: run the headless qBittorrent with WebUI enabled
ENTRYPOINT ["qbittorrent-nox"]
CMD ["--webui-port=8080"]
# Exclude VCS and build artifacts .git .gitignore # Build directory for CMake/Ninja build/ CMakeFiles/ Makefile cmake-build-* CMakeCache.txt install_manifest.txt CMakeLists.txt.user # OS and editor files .DS_Store *.swp *.swo # Packaging artifacts *.tar.gz *.tar.xz # Local development .vscode/ .idea/
Concerns: Final stage attempts to install libssl1.1 with apt-get; on some Debian variants (including oldstable-slim), libssl1.1 may not be available (libssl3 may be required), causing the build to fail at runtime., COPY --from=builder /usr /usr may pull in large, potentially conflicting runtime files; while common, it can complicate maintenance and cause unexpected dependency shadows., No non-root user is created; container runs as root by default, which is a security consideration for desktop-like apps., qt6 runtime libraries are pulled from the builder stage and copied into final image; while this works, it results in a heavy final image and relies on the builder’s exact library set being compatible at runtime.
# Auto-generated Dockerfile for building qBittorrent from source
# Stage 1: build from source
FROM debian:oldstable-slim AS builder
ENV DEBIAN_FRONTEND=noninteractive
# Install build tools and dependencies (Qt6, libtorrent, etc.)
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
curl \
git \
build-essential \
cmake \
ninja-build \
libssl-dev \
zlib1g-dev \
pkg-config \
qt6-base-dev \
qt6-tools-dev \
libtorrent-rasterbar-dev \
# Ensure a minimal toolchain for C++20
g++ \
&& rm -rf /var/lib/apt/lists/*
# Copy the source code into the image
COPY . /qbittorrent
WORKDIR /qbittorrent
# Configure the project (GUI + WebUI, testing enabled as per blueprint)
RUN cmake -B build \
-G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
-DGUI=ON \
-DWEBUI=ON \
-DSTACKTRACE=ON \
-DTESTING=ON \
-DVERBOSE_CONFIGURE=ON \
-DCMAKE_INSTALL_PREFIX=/qbittorrent
# Build and install
RUN cmake --build build \
&& cmake --install build
# Stage 2: runtime image
FROM debian:oldstable-slim
ENV DEBIAN_FRONTEND=noninteractive
# Create a non-root user for running the app
RUN useradd -m -u 1000 qbuser
# Copy the built artifacts from the builder stage
COPY --from=builder /qbittorrent /qbittorrent
# Install runtime dependencies
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
libssl3 \
zlib1g \
libqt6core6 \
libqt6network6 \
libqt6gui6 \
libqt6widgets6 \
libqt6svg6 \
libtorrent-rasterbar8 \
&& rm -rf /var/lib/apt/lists/*
# Ensure the qbittorrent user owns the installation
RUN chown -R qbuser:qbuser /qbittorrent
ENV QT_QPA_PLATFORM=offscreen
EXPOSE 8080
USER qbuser
# Entry point: run the headless qBittorrent with WebUI enabled
ENTRYPOINT ["/qbittorrent/bin/qbittorrent-nox"]
CMD ["--webui-port=8080"]
Status: VerifyBuild - build_failed Key concerns - Building qBittorrent from source on Debian oldstable-slim can be time-consuming and may fail if build dependencies or Qt6 tooling versions change. - Image may be large due to Qt6; consider splitting build and runtime or using a slimmer runtime base. - COPY . /qbittorrent in the builder may copy unnecessary files; ensure a proper .dockerignore to keep context minimal. Build error - Failing step (builder 5/6): RUN cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DGUI=ON -DWEBUI=ON -DSTACKTRACE=ON -DTESTING=ON -DVERBOSE_CONFIGURE=ON -DCMAKE_INSTALL_PREFIX=/qbittorrent - Exit code: 1 Exact error messages and context - The log shows: - "Checking for module 'libtorrent-rasterbar>=2.0.10'" - "Package dependency requirement 'libtorrent-rasterbar >= 2.0.10' could not be satisfied." - "Package 'libtorrent-rasterbar' has version '2.0.8', required version is '>= 2.0.10'" - CMake error: - "CMake Error at cmake/Modules/CheckPackages.cmake:11 (message):" - " Package LibtorrentRasterbar >= 2.0.10 not found with CMake or pkg-config." - " - Set LibtorrentRasterbar_DIR to a directory containing a" - " LibtorrentRasterbarConfig.cmake file or add the installation prefix of" - " LibtorrentRasterbar to CMAKE_PREFIX_PATH." - " - Alternatively, make sure there is a valid libtorrent-rasterbar.pc file in" - " your system's pkg-config search paths (use the system environment variable" - " PKG_CONFIG_PATH to specify additional search paths if needed)." Missing packages/files and version mismatch - Missing package version satisfying dependency: libtorrent-rasterbar >= 2.0.10 not found - Installed version detected: libtorrent-rasterbar 2.0.8 (both libtorrent-rasterbar2.0 and libtorrent-rasterbar-dev show 2.0.8) - Required version: >= 2.0.10 Actionable takeaway - Update libtorrent-rasterbar to at least 2.0.10 (or adjust the build to require a compatible version), or supply a correct CMake/pkg-config path to a suitable libtorrent-rasterbar installation.
debian (5287 stars): Debian is a Linux distribution that's composed entirely of free and open-source kasmweb/core-debian-bookworm (1 stars): Debian Bookworm base image for Kasm Workspaces kasmweb/debian-bookworm-desktop (6 stars): Debian Bookworm desktop for Kasm Workspaces haproxytech/haproxy-debian (9 stars): HAProxy CE Docker Debian image neurodebian (116 stars): NeuroDebian provides neuroscience research software for Debian, Ubuntu, and othe balenalib/artik5-debian-node (0 stars): This image is part of the balena.io base image series for IoT devices. clamav/clamav-debian (6 stars): The official Debian-based multi-arch Docker images for the ClamAV project. kasmweb/core-debian-bullseye (0 stars): Debian Bullseye base image for Kasm Workspaces osrf/debian_arm64 (1 stars): Debian arm64 Base Images rootpublic/slim-bookworm (0 stars):
# Auto-generated Dockerfile for building qBittorrent from source
# Stage 1: build from source
FROM debian:bookworm-slim AS builder
ENV DEBIAN_FRONTEND=noninteractive
# Install build tools and dependencies (Qt6, libtorrent, etc.)
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
curl \
git \
build-essential \
cmake \
ninja-build \
libssl-dev \
zlib1g-dev \
pkg-config \
qt6-base-dev \
qt6-tools-dev \
libtorrent-rasterbar-dev \
g++ \
&& rm -rf /var/lib/apt/lists/*
# Copy the source code into the image
COPY . /qbittorrent
WORKDIR /qbittorrent
# Configure the project (GUI + WebUI, testing enabled as per blueprint)
RUN cmake -B build \
-G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
-DGUI=ON \
-DWEBUI=ON \
-DSTACKTRACE=ON \
-DTESTING=ON \
-DVERBOSE_CONFIGURE=ON \
-DCMAKE_INSTALL_PREFIX=/usr
# Build and install
RUN cmake --build build \
&& cmake --install build
# Stage 2: runtime image
FROM debian:bookworm-slim
ENV DEBIAN_FRONTEND=noninteractive
# Create a non-root user for running the app
RUN useradd -m -u 1000 qbuser
# Copy the built artifacts from the builder stage
COPY --from=builder /usr /usr
# Install runtime dependencies (if any are needed beyond what's in /usr, ensure we keep minimal)
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
&& rm -rf /var/lib/apt/lists/*
# Ensure the qbittorrent user owns the installation
RUN chown -R qbuser:qbuser /usr/bin/qbittorrent-nox || true
ENV QT_QPA_PLATFORM=offscreen
EXPOSE 8080
USER qbuser
# Entry point: run the headless qBittorrent with WebUI enabled
ENTRYPOINT ["/usr/bin/qbittorrent-nox"]
CMD ["--webui-port=8080"]
- VerifyBuild status: build_failed - Concerns: Copying only /usr from builder to runtime may omit /lib and /lib64, risking missing runtime deps for qbittorrent-nox. Runtime image relies on builder’s /usr; consider copying essential /lib and /lib64 or using a more self-contained runtime. - Build command (exact): cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DGUI=ON -DWEBUI=ON -DSTACKTRACE=ON -DTESTING=ON -DVERBOSE_CONFIGURE=ON -DCMAKE_INSTALL_PREFIX=/usr - Exit: The command did not complete successfully: exit code: 1 - Error block: - Checking for module 'libtorrent-rasterbar>=2.0.10' - Package dependency requirement 'libtorrent-rasterbar' >= 2.0.10 could not be satisfied - Package 'libtorrent-rasterbar' has version '2.0.8', required version is '>= 2.0.10' - CMake Error at cmake/Modules/CheckPackages.cmake:11 (message): Package LibtorrentRasterbar >= 2.0.10 not found with CMake or pkg-config. - Set LibtorrentRasterbar_DIR to a directory containing a LibtorrentRasterbarConfig.cmake file or add the installation prefix of LibtorrentRasterbar to CMAKE_PREFIX_PATH. - Alternatively, make sure there is a valid libtorrent-rasterbar.pc file in your system's pkg-config search paths (use PKG_CONFIG_PATH to specify additional search paths if needed). - Call Stack (most recent call first): cmake/Modules/CheckPackages.cmake:41 (find_libtorrent); CMakeLists.txt:55 (include) - Configuring incomplete, errors occurred! - See also "/qbittorrent/build/CMakeFiles/CMakeOutput.log" - Missing packages/files: - libtorrent-rasterbar not found at required version: Installed 2.0.8; Required >= 2.0.10 - Related packages libtorrent-rasterbar2.0 and libtorrent-rasterbar-dev at 2.0.8 (not meeting >=2.0.10) - Version mismatch context: - Debian bookworm (bookworm-slim) with libtorrent-rasterbar 2.0.8; requirement is >= 2.0.10 - Reference file: - /qbittorrent/build/CMakeFiles/CMakeOutput.log
# Auto-generated Dockerfile for building qBittorrent from source with libtorrent from source
# Stage 1: build from source
FROM debian:bookworm-slim AS builder
ENV DEBIAN_FRONTEND=noninteractive
# Install build tools and dependencies
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
curl \
git \
build-essential \
cmake \
ninja-build \
pkg-config \
zlib1g-dev \
libssl-dev \
ca-certificates \
&& rm -rf /var/lib/apt/lists/*
# Install Boost (required by libtorrent)
ENV BOOST_ROOT=/usr/local
RUN set -eux; \
mkdir -p /tmp/boost && \
cd /tmp/boost && \
curl -L -o boost.tar.gz https://boostorg.jfrog.io/artifactory/main/release/1.76.0/source/boost_1_76_0.tar.gz && \
tar -xzf boost.tar.gz --strip-components=1 && \
./bootstrap.sh --prefix=/usr/local && \
./b2 -j$(nproc) install && \
rm -rf /tmp/boost
# Build libtorrent from source (v2.0.11) with Boost from /usr/local
RUN git clone --depth 1 --branch v2.0.11 https://github.com/arvidn/libtorrent.git /tmp/libtorrent && \
mkdir /tmp/libtorrent/build && \
cd /tmp/libtorrent/build && \
cmake -G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_CXX_STANDARD=20 \
-DCMAKE_INSTALL_PREFIX=/usr \
-DBOOST_ROOT=/usr/local \
-DOPENSSL_ROOT_DIR=/usr \
-Ddeprecated-functions=OFF \
.. && \
ninja && \
ninja install && \
rm -rf /tmp/libtorrent
# Build qBittorrent from source (no GUI, no WEBUI to keep runtime lean; still build TESTING)
COPY . /qbittorrent
WORKDIR /qbittorrent
RUN cmake -B build \
-G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
-DGUI=OFF \
-DWEBUI=OFF \
-DSTACKTRACE=ON \
-DTESTING=ON \
-DVERBOSE_CONFIGURE=ON \
-DCMAKE_INSTALL_PREFIX=/usr
RUN cmake --build build \
&& cmake --install build
# Stage 2: runtime image
FROM debian:bookworm-slim
ENV DEBIAN_FRONTEND=noninteractive
# Create a non-root user for running the app
RUN useradd -m -u 1000 qbuser
# Copy the built artifacts from the builder stage
COPY --from=builder /usr /usr
# Install minimal runtime dependencies (openssl libs, etc.)
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
libssl3 \
zlib1g \
libgcc1 \
libstdc++6 \
libqtcore6 \
libqtnetwork6 \
libqtgui6 \
libqtwidgets6 \
libqtxml6 \
libqtgraphicaleffects6 \
libtorrent-rasterbar2 \
&& rm -rf /var/lib/apt/lists/*
# Ensure the qbittorrent user owns the installation
RUN chown -R qbuser:qbuser /usr/bin/qbittorrent-nox || true
ENV QT_QPA_PLATFORM=offscreen
EXPOSE 8080
USER qbuser
# Entry point: run the headless qBittorrent with WebUI enabled
ENTRYPOINT ["/usr/bin/qbittorrent-nox"]
CMD ["--webui-port=8080"]
Summary of Docker build error - Failing command/step - Dockerfile builder step: RUN set -eux; mkdir -p /tmp/boost && cd /tmp/boost && curl -L -o boost.tar.gz https://boostorg.jfrog.io/artifactory/main/release/1.76.0/source/boost_1_76_0.tar.gz && tar -xzf boost.tar.gz --strip-components=1 && ./bootstrap.sh --prefix=/usr/local && ./b2 -j$(nproc) install && rm -rf /tmp/boost - Exact error message and exit code - gzip: stdin: not in gzip format - tar: Child returned status 1 - tar: Error is not recoverable: exiting now - Exit code: 2 - Overall docker build exit: failed to solve: process "/bin/sh -c ..." did not complete successfully: exit code: 2 - Missing packages or files mentioned - None; the failure is due to the downloaded Boost tarball not being a gzip file (likely corrupted download or wrong URL), not a missing package/file. - Version mismatch information - Boost version being fetched: 1.76.0 - Base image/environment: Debian bookworm-slim (runtime 1/4, stage-1, builder steps show GCC/libc environment), but no explicit version mismatch noted beyond the Boost version being pulled.
# Auto-generated Dockerfile for building qBittorrent from source
# Stage 1: build from source
FROM debian:bookworm-slim AS builder
ENV DEBIAN_FRONTEND=noninteractive
# Install build tools and dependencies
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
curl \
git \
build-essential \
cmake \
ninja-build \
pkg-config \
zlib1g-dev \
libssl-dev \
libboost-all-dev \
qt6-base-dev \
qt6-tools-dev \
&& rm -rf /var/lib/apt/lists/*
# Copy the source code into the image
COPY . /qbittorrent
WORKDIR /qbittorrent
# Build libtorrent from source (v2.0.11) with Boost from system
RUN git clone --depth 1 --branch v2.0.11 https://github.com/arvidn/libtorrent.git /tmp/libtorrent && \
mkdir -p /tmp/libtorrent/build && cd /tmp/libtorrent/build && \
cmake -G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=/usr \
-DBOOST_ROOT=/usr \
-DOPENSSL_ROOT_DIR=/usr \
-Ddeprecated-functions=OFF \
.. && \
ninja && ninja install && \
rm -rf /tmp/libtorrent
# Configure the project (GUI + WebUI, testing enabled as per blueprint)
RUN cmake -B build \
-G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
-DGUI=ON \
-DWEBUI=ON \
-DSTACKTRACE=ON \
-DTESTING=ON \
-DVERBOSE_CONFIGURE=ON \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_PREFIX_PATH=/usr
# Build and install
RUN cmake --build build \
&& cmake --install build
# Stage 2: runtime image
FROM debian:bookworm-slim
ENV DEBIAN_FRONTEND=noninteractive
# Create a non-root user for running the app
RUN useradd -m -u 1000 qbuser
# Copy the built artifacts from the builder stage
COPY --from=builder /usr /usr
# Install minimal runtime dependencies
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
libssl3 \
zlib1g \
libqtcore6 \
libqtnetwork6 \
libqtgui6 \
libqtwidgets6 \
libqt6svg6 \
libtorrent-rasterbar2 \
&& rm -rf /var/lib/apt/lists/*
# Ensure the qbittorrent user owns the installation
RUN chown -R qbuser:qbuser /usr/bin/qbittorrent-nox || true
ENV QT_QPA_PLATFORM=offscreen
EXPOSE 8080
USER qbuser
# Entry point: run the headless qBittorrent with WebUI enabled
ENTRYPOINT ["/usr/bin/qbittorrent-nox"]
CMD ["--webui-port=8080"]
- Build status: VerifyBuild status: build_failed
- Concerns
- COPY --from=builder /usr /usr copies the entire /usr tree from the build stage; risks ABI mismatches and oversized images. Re-copy only specific binaries/libs.
- Runtime image relies on rebuilt Qt/Libtorrent stack from the builder; ABI compatibility risks with host libs. Consider copying only required artifacts or rebuilding from a single stage.
- Smoke tests may rely on HTTP tooling (curl/wget); runtime image does not install these tools by default, so tests may fail without extra tooling.
- Build error
- Exact error messages and exit code:
- CMake Error at CMakeLists.txt:547 (add_library): Cannot find source file:
deps/try_signal/try_signal.cpp
- CMake Error at CMakeLists.txt:547 (add_library): No SOURCES given to target: torrent-rasterbar
- CMake Generate step failed. Build files cannot be regenerated correctly.
- Exit code: 1
- Failing command/step:
- The failing step is the RUN in the Dockerfile that builds libtorrent from source:
git clone --depth 1 --branch v2.0.11 https://github.com/arvidn/libtorrent.git /tmp/libtorrent && mkdir -p /tmp/libtorrent/build && cd /tmp/libtorrent/build && cmake -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=/usr -DBOOST_ROOT=/usr -DOPENSSL_ROOT_DIR=/usr -Ddeprecated-functions=OFF .. && ninja && ninja install && rm -rf /tmp/libtorrent
- Missing packages or files mentioned:
- Missing file referenced by the CMake error: deps/try_signal/try_signal.cpp
- Version and environment notes (relevant for diagnosing a mismatch)
- libtorrent source: branch v2.0.11, commit switch to detached HEAD (note in log):
- Head moved to a detached commit 9d7443f467147d1784fb7516d2a882db1abb5a8b
- Found/build context shown by CMake:
- OpenSSL: 3.0.18
- Boost: 1.74.0
- Boost headers requirement: BOOST_ROOT must provide boost_headers version 1.74.0 (found)
- Compiler/toolchain: GCC 12.2.0
- This indicates a version-context where libtorrent v2.0.11 is being built against system Boost/OpenSSL, but the configure step fails due to a missing source file in the checked-out repo state.
- Summary
- The build fails due to missing deps/try_signal/try_signal.cpp in the v2.0.11 checkout (detached HEAD 9d7443f...). Likely repo state mismatch or missing file in that tag. Next steps: verify the repository state for v2.0.11, ensure the file exists or switch to a commit/tag that includes it, and re-run the build.# Auto-generated Dockerfile for building qBittorrent from source with libtorrent from source
# Stage 1: build from source
FROM debian:oldstable-slim AS builder
ENV DEBIAN_FRONTEND=noninteractive
# Install build tools and dependencies
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
curl \
git \
build-essential \
cmake \
ninja-build \
pkg-config \
zlib1g-dev \
libssl-dev \
qt6-base-dev \
qt6-tools-dev \
libboost-all-dev \
&& rm -rf /var/lib/apt/lists/*
# Copy the source code into the image
COPY . /qbittorrent
WORKDIR /qbittorrent
# Build libtorrent from source (v2.0.11) with Boost from system, including submodules
RUN git clone --depth 1 --branch v2.0.11 --recurse-submodules https://github.com/arvidn/libtorrent.git /tmp/libtorrent && \
mkdir -p /tmp/libtorrent/build && cd /tmp/libtorrent/build && \
cmake -G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=/usr \
-DBOOST_ROOT=/usr \
-DOPENSSL_ROOT_DIR=/usr \
-Ddeprecated-functions=OFF \
.. && \
ninja && ninja install && \
rm -rf /tmp/libtorrent
# Configure the project (GUI + WebUI, testing enabled as per blueprint)
RUN cmake -B build \
-G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
-DGUI=ON \
-DWEBUI=ON \
-DSTACKTRACE=ON \
-DTESTING=ON \
-DVERBOSE_CONFIGURE=ON \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_PREFIX_PATH=/usr
# Build and install
RUN cmake --build build \
&& cmake --install build
# Stage 2: runtime image
FROM debian:oldstable-slim
ENV DEBIAN_FRONTEND=noninteractive
# Create a non-root user for running the app
RUN useradd -m -u 1000 qbuser
# Copy the built artifacts from the builder stage
COPY --from=builder /usr /usr
# Install minimal runtime dependencies
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
libssl3 \
zlib1g \
libqtcore6 \
libqtnetwork6 \
libqtgui6 \
libqtwidgets6 \
libqt6svg6 \
libtorrent-rasterbar2 \
libc6 \
&& rm -rf /var/lib/apt/lists/*
# Ensure the qbittorrent user owns the installation
RUN chown -R qbuser:qbuser /usr/bin/qbittorrent-nox || true
ENV QT_QPA_PLATFORM=offscreen
EXPOSE 8080
USER qbuser
# Entry point: run the headless qBittorrent with WebUI enabled
ENTRYPOINT ["/usr/bin/qbittorrent-nox"]
CMD ["--webui-port=8080"]
Build timed out after 600s
No results found.
# Auto-generated Dockerfile for building qBittorrent from source using libtorrent from source
# Stage 1: build from source
FROM debian:bookworm-slim AS builder
ENV DEBIAN_FRONTEND=noninteractive
# Install build tools and dependencies
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
curl \
git \
build-essential \
cmake \
ninja-build \
pkg-config \
zlib1g-dev \
libssl-dev \
libboost-all-dev \
qt6-base-dev \
qt6-tools-dev \
&& rm -rf /var/lib/apt/lists/*
# Build libtorrent-rasterbar from source (v2.0.11) to satisfy >=2.0.10 requirement
RUN mkdir -p /tmp/libtorrent && \
curl -L -o /tmp/libtorrent-2.0.11.tar.gz \
https://github.com/arvidn/libtorrent/releases/download/v2.0.11/libtorrent-rasterbar-2.0.11.tar.gz && \
tar -xzf /tmp/libtorrent-2.0.11.tar.gz -C /tmp && \
cd /tmp/libtorrent-rasterbar-2.0.11 && \
mkdir build && cd build && \
cmake -G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=/usr \
-DBOOST_ROOT=/usr \
-DOPENSSL_ROOT_DIR=/usr \
-Ddeprecated-functions=OFF \
.. && \
ninja && ninja install && \
rm -rf /tmp/libtorrent* /tmp/libtorrent-rasterbar-2.0.11
# Copy the source code into the image
COPY . /qbittorrent
WORKDIR /qbittorrent
# Configure the project (GUI + WebUI, testing enabled as per blueprint)
RUN cmake -B build \
-G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
-DGUI=ON \
-DWEBUI=ON \
-DSTACKTRACE=ON \
-DTESTING=ON \
-DVERBOSE_CONFIGURE=ON \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_PREFIX_PATH=/usr
# Build and install qBittorrent
RUN cmake --build build \
&& cmake --install build
# Stage 2: runtime image
FROM debian:bookworm-slim
ENV DEBIAN_FRONTEND=noninteractive
# Create a non-root user for running the app
RUN useradd -m -u 1000 qbuser
# Copy the built artifacts from the builder stage
COPY --from=builder /usr /usr
# Install minimal runtime dependencies
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
libssl3 \
zlib1g \
libqt6core6 \
libqt6network6 \
libqt6gui6 \
libqt6widgets6 \
libqt6svg6 \
libtorrent-rasterbar2 \
&& rm -rf /var/lib/apt/lists/*
ENV QT_QPA_PLATFORM=offscreen
EXPOSE 8080
USER qbuser
# Entry point: run the headless qBittorrent with WebUI enabled
ENTRYPOINT ["/usr/bin/qbittorrent-nox"]
CMD ["--webui-port=8080"]
Build timed out after 600s
# Auto-generated Dockerfile for building qBittorrent from source (apt-based libtorrent in builder)
# Stage 1: build from source
FROM debian:bookworm-slim AS builder
ENV DEBIAN_FRONTEND=noninteractive
# Install build tools and dependencies (Qt6, libtorrent dev, etc.)
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
curl \
git \
build-essential \
cmake \
ninja-build \
pkg-config \
zlib1g-dev \
libssl-dev \
qt6-base-dev \
qt6-tools-dev \
libtorrent-rasterbar-dev \
&& rm -rf /var/lib/apt/lists/*
# Copy the source code into the image
COPY . /qbittorrent
WORKDIR /qbittorrent
# Configure the project
RUN cmake -B build \
-G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
-DGUI=ON \
-DWEBUI=ON \
-DSTACKTRACE=ON \
-DTESTING=ON \
-DVERBOSE_CONFIGURE=ON \
-DCMAKE_INSTALL_PREFIX=/usr/local
# Build and install
RUN cmake --build build \
&& cmake --install build
# Stage 2: runtime image
FROM debian:bookworm-slim
ENV DEBIAN_FRONTEND=noninteractive
# Create a non-root user for running the app
RUN useradd -m -u 1000 qbuser
# Copy the built artifacts from the builder stage
COPY --from=builder /usr/local /usr/local
# Install minimal runtime dependencies
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
libssl3 \
zlib1g \
libqt6core6 \
libqt6network6 \
libqt6gui6 \
libqt6widgets6 \
libqt6svg6 \
libtorrent-rasterbar2 \
&& rm -rf /var/lib/apt/lists/*
ENV QT_QPA_PLATFORM=offscreen
EXPOSE 8080
USER qbuser
# Entry point: run the headless qBittorrent with WebUI enabled
ENTRYPOINT ["/usr/local/bin/qbittorrent-nox"]
CMD ["--webui-port=8080"]
- VerifyBuild status: build_failed
- Failing step:
- [builder 5/6] RUN cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DGUI=ON -DWEBUI=ON -DSTACKTRACE=ON -DTESTING=ON -DVERBOSE_CONFIGURE=ON -DCMAKE_INSTALL_PREFIX=/usr/local
- Exact error:
- The command failed with exit code 1.
- CMake error block:
- Package dependency requirement 'libtorrent-rasterbar' has version '2.0.8', required version is '>= 2.0.10'
- CMake Error at cmake/Modules/CheckPackages.cmake:11 (message):
- Package LibtorrentRasterbar >= 2.0.10 not found with CMake or pkg-config.
- See also "/qbittorrent/build/CMakeFiles/CMakeOutput.log".
- Summary line: Configuring incomplete, errors occurred!
- Missing packages/files mentioned:
- libtorrent-rasterbar >= 2.0.10 not found (installed version is 2.0.8)
- Related artifacts missing or not found:
- LibtorrentRasterbarConfig.cmake not found
- libtorrent-rasterbar.pc not found
- PKG_CONFIG_PATH or LibtorrentRasterbar_DIR adjustments recommended
- Version mismatch details:
- Installed: libtorrent-rasterbar2.0: amd64 2.0.8-1+b1; libtorrent-rasterbar-dev:amd64 2.0.8-1+b1
- Required: >= 2.0.10
- This caused the failure: "Package dependency requirement 'libtorrent-rasterbar' has version '2.0.8', required version is '>= 2.0.10'" and "Package LibtorrentRasterbar >= 2.0.10 not found with CMake or pkg-config."
- Reference:
- See "/qbittorrent/build/CMakeFiles/CMakeOutput.log" for details.# Auto-generated Dockerfile for building qBittorrent from source using libtorrent from source
# Stage 1: build from source
FROM debian:oldstable-slim AS builder
ENV DEBIAN_FRONTEND=noninteractive
# Install build tools and dependencies
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
curl \
git \
build-essential \
cmake \
ninja-build \
pkg-config \
zlib1g-dev \
libssl-dev \
qt6-base-dev \
qt6-tools-dev \
libboost-all-dev \
&& rm -rf /var/lib/apt/lists/*
# Build libtorrent-rasterbar from source (v2.0.11) to satisfy >=2.0.10 requirement
RUN mkdir -p /tmp/libtorrent && \
git clone --depth 1 --branch v2.0.11 --recurse-submodules https://github.com/arvidn/libtorrent.git /tmp/libtorrent && \
cd /tmp/libtorrent && \
git submodule update --init --recursive && \
mkdir build && cd build && \
cmake -G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=/usr \
-DBOOST_ROOT=/usr \
-DOPENSSL_ROOT_DIR=/usr \
-Ddeprecated-functions=OFF \
.. && \
ninja && ninja install && \
rm -rf /tmp/libtorrent
# Copy the source code into the image
COPY . /qbittorrent
WORKDIR /qbittorrent
# Configure the project
RUN cmake -B build \
-G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
-DGUI=ON \
-DWEBUI=ON \
-DSTACKTRACE=ON \
-DTESTING=ON \
-DVERBOSE_CONFIGURE=ON \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_PREFIX_PATH=/usr
# Build and install qBittorrent
RUN cmake --build build \
&& cmake --install build
# Stage 2: runtime image
FROM debian:oldstable-slim
ENV DEBIAN_FRONTEND=noninteractive
# Create a non-root user for running the app
RUN useradd -m -u 1000 qbuser
# Copy the built artifacts from the builder stage
COPY --from=builder /usr /usr
# Install minimal runtime dependencies
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
libssl3 \
zlib1g \
libqt6core6 \
libqt6network6 \
libqt6gui6 \
libqt6widgets6 \
libqt6svg6 \
libtorrent-rasterbar2 \
curl \
&& rm -rf /var/lib/apt/lists/*
ENV QT_QPA_PLATFORM=offscreen
EXPOSE 8080
USER qbuser
# Entry point: run the headless qBittorrent with WebUI enabled
ENTRYPOINT ["/usr/bin/qbittorrent-nox"]
CMD ["--webui-port=8080"]
Build timed out after 600s
Image ubuntu:22.04 exists on Docker Hub.
# Auto-generated Dockerfile for building qBittorrent from source using libtorrent from source
# Stage 1: build from source
FROM ubuntu:22.04 AS builder
ENV DEBIAN_FRONTEND=noninteractive
# Install build tools and dependencies
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
curl \
git \
build-essential \
cmake \
ninja-build \
pkg-config \
zlib1g-dev \
libssl-dev \
qt6-base-dev \
qt6-tools-dev \
libboost-all-dev \
&& rm -rf /var/lib/apt/lists/*
# Copy the source code into the image
COPY . /qbittorrent
WORKDIR /qbittorrent
# Configure the project
RUN cmake -B build \
-G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
-DGUI=ON \
-DWEBUI=ON \
-DSTACKTRACE=ON \
-DTESTING=ON \
-DVERBOSE_CONFIGURE=ON \
-DCMAKE_INSTALL_PREFIX=/usr
# Build and install
RUN cmake --build build \
&& cmake --install build
# Stage 2: runtime image
FROM ubuntu:22.04
ENV DEBIAN_FRONTEND=noninteractive
# Create a non-root user for running the app
RUN useradd -m -u 1000 qbuser
# Copy the built artifacts from the builder stage
COPY --from=builder /usr /usr
# Install minimal runtime dependencies
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
libssl3 \
zlib1g \
libqt6core6 \
libqt6network6 \
libqt6gui6 \
libqt6widgets6 \
libqt6svg6 \
libtorrent-rasterbar2 \
curl \
&& rm -rf /var/lib/apt/lists/*
ENV QT_QPA_PLATFORM=offscreen
EXPOSE 8080
USER qbuser
# Entry point: run the headless qBittorrent with WebUI enabled
ENTRYPOINT ["/usr/bin/qbittorrent-nox"]
CMD ["--webui-port=8080"]
- Failing step/command
- Builder step: [builder 5/6]
- Command:
RUN cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DGUI=ON -DWEBUI=ON -DSTACKTRACE=ON -DTESTING=ON -DVERBOSE_CONFIGURE=ON -DCMAKE_INSTALL_PREFIX=/usr
- Exit code: 1
- Exact error message
- Package LibtorrentRasterbar >= 1.2.19 not found with CMake or pkg-config.
- The CMake error output includes:
- Call Stack (most recent call first):
cmake/Modules/CheckPackages.cmake:39 (find_libtorrent)
CMakeLists.txt:55 (include)
- -- Configuring incomplete, errors occurred!
- Additional guidance shown in output:
- - Set LibtorrentRasterbar_DIR to a directory containing a
LibtorrentRasterbarConfig.cmake file or add the installation prefix of
LibtorrentRasterbar to CMAKE_PREFIX_PATH.
- - Alternatively, make sure there is a valid libtorrent-rasterbar.pc file in
your system's pkg-config search paths (use PKG_CONFIG_PATH to specify additional search paths if needed).
- Missing packages/files mentioned
- libtorrent-rasterbar (LibtorrentRasterbar) >= 1.2.19
- The log states: No package 'libtorrent-rasterbar' found
- Suggestions reference: LibtorrentRasterbar_DIR and PKG_CONFIG_PATH
- Version mismatch info
- Required version constraint: LibtorrentRasterbar >= 1.2.19
- System/libpkg-config could not satisfy this requirement (no matching libtorrent-rasterbar found), causing the CMake configuration to fail with exit code 1.No results found.