freedomofpress-dangerzone
RUNNING
History Source
SummaryIterations3Transcript62Dockerfile
01Iteration 1
WRITEWriteFile· step #1
0s
Dockerfile1401 bytes written
text47 lines · 1401 chars
# Built for Dangerzone: GUI desktop app with Poetry
# Multi-stage build to compile from source and package a wheel for runtime

FROM python:3.14-alpine3.23 AS builder

ENV PYTHONUNBUFFERED=1
WORKDIR /build

# Install build dependencies and a Poetry installer
RUN apk add --no-cache --virtual .build-deps \
        build-base libffi-dev openssl-dev curl

# Install Poetry (no user interaction)
RUN curl -sSL https://install.python-poetry.org | python3 -

# Ensure poetry is on PATH
ENV PATH="/root/.local/bin:${PATH}"

# Copy only dependency metadata first to leverage Docker cache
COPY pyproject.toml poetry.lock* ./

# Install dependencies (without creating a virtualenv, so we can reuse system site-packages in the build stage)
RUN poetry config virtualenvs.create false && \
    poetry install --no-interaction --no-ansi

# Copy the rest of the source and build the project
COPY . .
RUN poetry build

# Runtime stage
FROM python:3.14-alpine3.23

ENV PYTHONUNBUFFERED=1
WORKDIR /app

# Install runtime dependencies (Qt and crypto libraries may be required for PySide and PyMuPDF)
RUN apk add --no-cache libffi-dev openssl-dev

# Copy the built distribution from the builder stage
COPY --from=builder /build/dist /app/dist

# Install the built wheel into the runtime image
RUN pip install --no-cache-dir /app/dist/*

# Default to launching the GUI Dangerzone when container starts
CMD ["dangerzone"]
WRITEWriteFile· step #2
0s
.dockerignore193 bytes written
dockerignore24 lines · 193 chars
# Ignore VCS and build outputs
.git
__pycache__/
*.pyc
*.pyo
*.pyd
build/
dist/
.venv/
venv/
*.egg-info/
~*
*.swp
.DS_Store
.lock
.env
.env.*
.cache/
.coverage
.coverage.*
*.log
*.tmp
*.bak
"""
VERIFYVerifyBuild· step #3
11m 11s
VerifyBuildbuild_failed
Build error
Build timed out after 600s
WRITEWriteFile· step #4
0s
Dockerfile1655 bytes written
text59 lines · 1655 chars
# Built for Dangerzone: GUI desktop app with Poetry
# Multi-stage build to compile from source and package a wheel for runtime

FROM python:3.11-slim-bullseye AS builder

ENV DEBIAN_FRONTEND=noninteractive
ENV PYTHONUNBUFFERED=1
WORKDIR /build

# Install build dependencies and a Poetry installer
RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        build-essential \
        curl \
        ca-certificates \
        libffi-dev \
        libssl-dev \
    && rm -rf /var/lib/apt/lists/*

# Install Poetry (no user interaction)
RUN curl -sSL https://install.python-poetry.org | python3 -

# Ensure poetry is on PATH
ENV PATH="/root/.local/bin:${PATH}"

# Copy only dependency metadata first to leverage Docker cache
COPY pyproject.toml poetry.lock* ./

# Install dependencies (without creating a virtualenv, so we can reuse system site-packages in the build stage)
RUN poetry config virtualenvs.create false && \
    poetry install --no-interaction --no-ansi

# Copy the rest of the source and build the project
COPY . .
RUN poetry build

# Runtime stage
FROM python:3.11-slim-bullseye

ENV PYTHONUNBUFFERED=1
WORKDIR /app

# Install runtime dependencies (Qt and other libraries)
RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        libffi-dev \
        libssl-dev \
        ca-certificates \
    && rm -rf /var/lib/apt/lists/*

# Copy the built distribution from the builder stage
COPY --from=builder /build/dist /app/dist

# Install the built wheel into the runtime image
RUN pip install --no-cache-dir /app/dist/*

# Default to launching the GUI Dangerzone when container starts
CMD ["dangerzone"]
VERIFYVerifyBuild· step #5
9m 19s
VerifyBuildbuild_failed
Build error
- Exact error message and exit code
  - ERROR: process "/bin/sh -c poetry config virtualenvs.create false &&     poetry install --no-interaction --no-ansi" did not complete successfully: exit code: 1
- Failing command/step
  - Builder step: builder 6/8
  - Command: RUN poetry config virtualenvs.create false &&     poetry install --no-interaction --no-ansi
- Missing packages or files mentioned
  - Unable to find installation candidates for pyside6 (6.10.1)
  - Unable to find installation candidates for pyside6-addons (6.10.1)
- Version mismatch / environment details
  - The installer reports: “5 candidate(s) were identified for the package” and that the wheels were skipped because the environment does not support the identified abi tags
  - This indicates an ABI/environment mismatch (Wheel availability for PySide6 on this Python/OS combo)
  - Environment: Python 3.11 in a Debian bullseye-based image
- Additional context from the log
  - Poetry installed: Poetry (2.4.1)
  - Suggested remediation in log: regenerate the lockfile or update the specific package (poetry lock --no-cache --regenerate or poetry update --no-cache pyside6, pyside6-addons) and possibly clear Poetry caches
  - Related note: a Python/Numpy wheel warning appears later, but the primary failure is the PySide6 packages not having compatible wheels for this setup
DOCKERDockerImageSearch· step #6
0s
search docker hubpython:3.141 results
show lines1
Image python:3.14 exists on Docker Hub.
WRITEWriteFile· step #7
0s
Dockerfile1601 bytes written
text58 lines · 1601 chars
# Built for Dangerzone: GUI desktop app with Poetry
# Multi-stage build to compile from source and package a wheel for runtime

FROM python:3.11-slim-bullseye AS builder

ENV PYTHONUNBUFFERED=1
WORKDIR /build

# Install build dependencies and a Poetry installer
RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        build-essential \
        curl \
        ca-certificates \
        libffi-dev \
        libssl-dev \
    && rm -rf /var/lib/apt/lists/*

# Install Poetry (non-interactive)
RUN curl -sSL https://install.python-poetry.org | python3 -

# Ensure poetry is on PATH
ENV PATH="/root/.local/bin:${PATH}"

# Copy only dependency metadata first to leverage Docker cache
COPY pyproject.toml poetry.lock /build/

# Install dependencies (without creating a virtualenv, so we can reuse system site-packages in the build stage)
RUN poetry config virtualenvs.create false && \
    poetry install --no-interaction --no-ansi

# Copy the rest of the source and build the project
COPY . /build/
RUN poetry build

# Runtime stage
FROM python:3.11-slim-bullseye

ENV PYTHONUNBUFFERED=1
WORKDIR /app

# Install runtime dependencies
RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        libffi-dev \
        libssl-dev \
        ca-certificates \
    && rm -rf /var/lib/apt/lists/*

# Copy the built distribution from the builder stage
COPY --from=builder /build/dist /app/dist

# Install the built wheel into the runtime image
RUN pip install --no-cache-dir /app/dist/*

# Default to launching the GUI Dangerzone when container starts
CMD ["dangerzone"]
VERIFYVerifyBuild· step #8
6m 45s
VerifyBuildbuild_failed
- VerifyBuild status: build_failed
- Failing step: [builder 6/8] RUN poetry config virtualenvs.create false &&     poetry install --no-interaction --no-ansi
- Exact error: ERROR: failed to build: failed to solve: process "/bin/sh -c poetry config virtualenvs.create false &&     poetry install --no-interaction --no-ansi" did not complete successfully: exit code: 1
- Missing installation candidates (6.10.1):
  - pyside6 (6.10.1)
  - pyside6-essentials (6.10.1)
  - pyside6-addons (6.10.1)
  - Log notes: "Unable to find installation candidates for pyside6 (6.10.1)" and similar for essentials/addons; "5 candidate(s) were identified for the package" and "5 wheel(s) were skipped as your project's environment does not support the identified abi tags"
- Environment details:
  - Base image: python:3.11-slim-bullseye
  - Poetry: 2.4.1
  - Root cause: wheels for pyside6 6.10.1 not compatible with the current environment (ABI tags); not a Poetry bug
  - Log guidance: check for compatible wheels in your configured source (OS, architecture, Python)
- Poetry guidance in log (quick reference):
  - "This is likely not a Poetry issue."
  - Solutions:
    1) poetry lock --no-cache --regenerate
    2) poetry update --no-cache pyside6
    - Repeat for pyside6-essentials and pyside6-addons
    - Clear caches: poetry cache clear --all
- Suggested next steps (from log):
  - Regenerate lockfile: poetry lock --no-cache --regenerate
  - Or update packages: poetry update --no-cache pyside6 (and pyside6-essentials/pyside6-addons)
  - Clear Poetry cache: poetry cache clear --all
- Context note: failure occurs after Poetry installs many deps and prints a numpy __pycache__ warning in a wheel, but stems from pyside6 wheel availability issues.
WRITEWriteFile· step #9
0s
Dockerfile1601 bytes written
text58 lines · 1601 chars
# Built for Dangerzone: GUI desktop app with Poetry
# Multi-stage build to compile from source and package a wheel for runtime

FROM python:3.10-slim-bullseye AS builder

ENV PYTHONUNBUFFERED=1
WORKDIR /build

# Install build dependencies and a Poetry installer
RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        build-essential \
        curl \
        ca-certificates \
        libffi-dev \
        libssl-dev \
    && rm -rf /var/lib/apt/lists/*

# Install Poetry (non-interactive)
RUN curl -sSL https://install.python-poetry.org | python3 -

# Ensure poetry is on PATH
ENV PATH="/root/.local/bin:${PATH}"

# Copy only dependency metadata first to leverage Docker cache
COPY pyproject.toml poetry.lock /build/

# Install dependencies (without creating a virtualenv, so we can reuse system site-packages in the build stage)
RUN poetry config virtualenvs.create false && \
    poetry install --no-interaction --no-ansi

# Copy the rest of the source and build the project
COPY . /build/
RUN poetry build

# Runtime stage
FROM python:3.10-slim-bullseye

ENV PYTHONUNBUFFERED=1
WORKDIR /app

# Install runtime dependencies
RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        libffi-dev \
        libssl-dev \
        ca-certificates \
    && rm -rf /var/lib/apt/lists/*

# Copy the built distribution from the builder stage
COPY --from=builder /build/dist /app/dist

# Install the built wheel into the runtime image
RUN pip install --no-cache-dir /app/dist/*

# Default to launching the GUI Dangerzone when container starts
CMD ["dangerzone"]
VERIFYVerifyBuild· step #10
8m 45s
VerifyBuildbuild_failed
- Build status: VerifyBuild status: build_failed

- Concerns
  - The container runs a GUI desktop app; smoke tests may not exercise UI in headless environments.
  - Test relies on a 'dangerzone' distribution; if packaging uses a different project name or top-level module, the tests may fail even though the build is valid.
  - No explicit health-check script or README example guaranteed to exist in the runtime image; the smoke tests depend on the packaging layout.

- Build error
  - Exact message: ERROR: failed to build: failed to solve: process "/bin/sh -c poetry config virtualenvs.create false &&     poetry install --no-interaction --no-ansi" did not complete successfully: exit code: 1

- Failing command/step
  - [builder 6/8] RUN poetry config virtualenvs.create false &&     poetry install --no-interaction --no-ansi

- Missing packages or files mentioned
  - PySide6 packages requested by the lockfile are missing installation candidates:
    - pyside6 (6.10.1)
    - pyside6-essentials (6.10.1)
    - pyside6-addons (6.10.1)

- Version mismatch / environment compatibility info
  - The error shows no compatible installation candidates for PySide6 wheels:
    - "Unable to find installation candidates for pyside6 (6.10.1)"
    - "5 candidate(s) were identified for the package"
    - "5 wheel(s) were skipped as your project's environment does not support the identified abi tags"
  - Indicates an ABI/environment mismatch (e.g., Python version or platform not supported by the available wheels). Log notes this is likely a lockfile issue and suggests regenerating the lockfile or updating the package:
    - Regenerate lockfile: poetry lock --no-cache --regenerate
    - Update package: poetry update --no-cache pyside6
    - Similar guidance for pyside6-essentials and pyside6-addons

- Additional context (remediation)
  - Poetry warnings indicate environment ABI mismatch for PySide6 wheels and advise updating/regen of the lockfile or wheels compatible with the environment.
WRITEWriteFile· step #11
0s
Dockerfile1667 bytes written
text59 lines · 1667 chars
# Built for Dangerzone: GUI desktop app with Poetry
# Multi-stage build to compile from source and package a wheel for runtime

FROM python:3.9-slim-bullseye AS builder

ENV PYTHONUNBUFFERED=1
WORKDIR /build

# Install build dependencies and a Poetry installer
RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        build-essential \
        curl \
        ca-certificates \
        libffi-dev \
        libssl-dev \
    && rm -rf /var/lib/apt/lists/*

# Install Poetry (non-interactive)
RUN curl -sSL https://install.python-poetry.org | python3 -

# Ensure poetry is on PATH
ENV PATH="/root/.local/bin:${PATH}"

# Copy only dependency metadata first to leverage Docker cache
COPY pyproject.toml poetry.lock /build/

# Install dependencies (without creating a virtualenv, so we can reuse system site-packages in the build stage)
RUN poetry config virtualenvs.create false && \
    Poetry=$(python3 -c 'import sys, textwrap; print("true")') && \
    poetry install --no-interaction --no-ansi

# Copy the rest of the source and build the project
COPY . /build/
RUN poetry build

# Runtime stage
FROM python:3.9-slim-bullseye

ENV PYTHONUNBUFFERED=1
WORKDIR /app

# Install runtime dependencies
RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        libffi-dev \
        libssl-dev \
        ca-certificates \
    && rm -rf /var/lib/apt/lists/*

# Copy the built distribution from the builder stage
COPY --from=builder /build/dist /app/dist

# Install the built wheel into the runtime image
RUN pip install --no-cache-dir /app/dist/*

# Default to launching the GUI Dangerzone when container starts
CMD ["dangerzone"]
VERIFYVerifyBuild· step #12
6m 23s
VerifyBuildbuild_failed
Build error
- Exact error message and exit code
  - Exit code: 1
  - Error: Poetry installation failed.
  - Also shown in the log sequence: “An error occurred. Removing partial environment.” and “Installing Poetry (2.4.1)”
  - See: See /build/poetry-installer-error-17fb3077.log for error logs.

- Failing command/step
  - Failing step: [builder 4/8] RUN curl -sSL https://install.python-poetry.org | python3 -

- Missing packages or files mentioned
  - No missing-packages/files explicitly reported. The log directs to a local error log: /build/poetry-installer-error-17fb3077.log for details.

- Version mismatch info
  - The installer attempted to install Poetry version 2.4.1 (Installing Poetry (2.4.1)) and failed during that process.
WRITEWriteFile· step #13
0s
Dockerfile1637 bytes written
text61 lines · 1637 chars
# Dangerzone: build from source using Poetry (Debian-based, non-Alpine for better wheels compatibility)

FROM python:3.9-slim-bullseye AS builder

ENV PYTHONUNBUFFERED=1
WORKDIR /build

# Install build tools and dependencies
RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        build-essential \
        curl \
        ca-certificates \
        libffi-dev \
        libssl-dev \
    && rm -rf /var/lib/apt/lists/*

# Install Poetry via pip (more stable in some environments)
RUN pip install --no-cache-dir poetry

# Ensure Poetry is on PATH
ENV PATH="/usr/local/bin:${PATH}"

# Copy dependency metadata first to leverage Docker cache
COPY pyproject.toml poetry.lock ./

# Regenerate lockfile to resolve platform wheels more reliably
RUN poetry config virtualenvs.create false \
    && poetry lock --no-cache --regenerate

# Install dependencies (without creating a venv)
RUN poetry config virtualenvs.create false && \
    poetry install --no-interaction --no-ansi

# Copy the rest of the source and build the project
COPY . .
RUN poetry build

# Runtime stage
FROM python:3.9-slim-bullseye

ENV PYTHONUNBUFFERED=1
WORKDIR /app

# Install runtime dependencies
RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        libffi-dev \
        libssl-dev \
        ca-certificates \
    && rm -rf /var/lib/apt/lists/*

# Copy built distribution from builder
COPY --from=builder /build/dist /app/dist

# Install the built wheel into the runtime image
RUN pip install --no-cache-dir /app/dist/*

# Default to CLI entrypoint to avoid requiring GUI in headless containers
CMD ["dangerzone-cli"]
VERIFYVerifyBuild· step #14
7m 42s
VerifyBuildbuild_failed
Build error
Summary (under 1500 chars)

- Exit code: 1
- Failing command/step: [builder 7/9] RUN poetry config virtualenvs.create false &&     poetry install --no-interaction --no-ansi (Dockerfile:32)
- Exact error message and context:
  - Installing the current project: dangerzone (0.10.0)
  - Error: The current project could not be installed: No file/folder found for package dangerzone
  - If you do not want to install the current project use --no-root.
  - If you want to use Poetry only for dependency management but not for packaging, you can disable package mode by setting package-mode = false in your pyproject.toml file.
  - If you did intend to install the current project, you may need to set `packages` in your pyproject.toml file.
- Missing packages or files mentioned:
  - No file/folder found for package dangerzone (i.e., the current project cannot be installed by Poetry); likely packaging configuration missing in pyproject.toml (e.g., packages not defined).
- Version mismatch information:
  - Downgrading httpx (0.28.1 -> 0.27.2) during dependency installation.
WRITEWriteFile· step #15
0s
Dockerfile1506 bytes written
text57 lines · 1506 chars
# Dangerzone: build from source using Poetry (Debian-based for better wheels compatibility)

FROM python:3.9-slim-bullseye AS builder

ENV PYTHONUNBUFFERED=1
WORKDIR /build

# Install build tools and dependencies
RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        build-essential \
        curl \
        ca-certificates \
        libffi-dev \
        libssl-dev \
    && rm -rf /var/lib/apt/lists/*

# Install Poetry (via pip to avoid installer issues)
RUN pip install --no-cache-dir poetry

# Ensure Poetry is on PATH
ENV PATH="/root/.local/bin:${PATH}"

# Copy dependency metadata first to leverage Docker cache
COPY pyproject.toml poetry.lock ./

# Install dependencies (without creating a virtualenv and without the current project)
RUN poetry config virtualenvs.create false \
    && poetry install --no-root --no-interaction

# Copy the rest of the source and build the project
COPY . .
RUN poetry build

# Runtime stage
FROM python:3.9-slim-bullseye

ENV PYTHONUNBUFFERED=1
WORKDIR /app

# Install runtime dependencies
RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        libffi-dev \
        libssl-dev \
        ca-certificates \
    && rm -rf /var/lib/apt/lists/*

# Copy built distribution from builder
COPY --from=builder /build/dist /app/dist

# Install the built wheel into the runtime image
RUN pip install --no-cache-dir /app/dist/*

# Default to CLI entrypoint to avoid requiring GUI in headless containers
CMD ["dangerzone-cli"]
VERIFYVerifyBuild· step #16
5m 22s
VerifyBuildbuild_failed
Build error
- Failing step: [stage-1 5/5] RUN pip install --no-cache-dir /app/dist/*

- Exact error messages and exit code (as in log):
  - ERROR: Cannot install dangerzone 0.10.0 (from /app/dist/dangerzone-0.10.0-py3-none-any.whl) and dangerzone 0.10.0 (from /app/dist/dangerzone-0.10.0.tar.gz) because these package versions have conflicting dependencies.
  - The conflict is caused by:
      The user requested dangerzone 0.10.0 (from /app/dist/dangerzone-0.10.0-py3-none-any.whl)
      The user requested dangerzone 0.10.0 (from /app/dist/dangerzone-0.10.0.tar.gz)
    To fix this you could try to:
      1. loosen the range of package versions you've specified
      2. remove package versions to allow pip attempt to solve the dependency conflict
  - ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts
  - [notice] A new release of pip is available: 23.0.1 -> 26.0.1
  - [notice] To update, run: pip install --upgrade pip
  - Dockerfile:53
    --------------------
     51 |     
     52 |     # Install the built wheel into the runtime image
     53 | >>> RUN pip install --no-cache-dir /app/dist/*
     54 |     
     55 |     # Default to CLI entrypoint to avoid requiring GUI in headless containers
    --------------------
  - ERROR: failed to build: failed to solve: process "/bin/sh -c pip install --no-cache-dir /app/dist/*" did not complete successfully: exit code: 1

- Missing packages/files referenced:
  - The conflicting sources are both dangerzone 0.10.0, coming from:
    - /app/dist/dangerzone-0.10.0-py3-none-any.whl
    - /app/dist/dangerzone-0.10.0.tar.gz

- Version mismatch / dependency context:
  - The failure stems from a conflict between two installations of the same version (dangerzone 0.10.0) sourced from wheel and tar.gz in /app/dist, causing a dependency-resolution failure.
VERIFYVerifyBuild· step #17
1m 49s
VerifyBuildunknown
- Build status: build_failed

- Concerns: dangerzone-cli assumed installed and wired via Poetry; no explicit healthcheck or GUI confirmed in Dockerfile. Smoke tests rely on CLI output file; if CLI behavior changes (no --output, different format), tests may need adjustment.

- Build error location: Failing step [stage-1 5/5] RUN pip install --no-cache-dir /app/dist/*

- Exact error and exit: 
  ERROR: Cannot install dangerzone 0.10.0 (from /app/dist/dangerzone-0.10.0-py3-none-any.whl) and dangerzone 0.10.0 (from /app/dist/dangerzone-0.10.0.tar.gz) because these package versions have conflicting dependencies.
  
  The conflict is caused by:
  The user requested dangerzone 0.10.0 (from /app/dist/dangerzone-0.10.0-py3-none-any.whl)
  The user requested dangerzone 0.10.0 (from /app/dist/dangerzone-0.10.0.tar.gz)
  
  To fix this you could try to:
  1. loosen the range of package versions you've specified
  2. remove package versions to allow pip attempt to solve the dependency conflict
  
  ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts

- Pip notices:
  [notice] A new release of pip is available: 23.0.1 -> 26.0.1
  [notice] To update, run: pip install --upgrade pip

- Build failure summary:
  ERROR: failed to build: failed to solve: process "/bin/sh -c pip install --no-cache-dir /app/dist/*" did not complete successfully: exit code: 1

- Failing/impacting files or packages:
  - /app/dist/dangerzone-0.10.0-py3-none-any.whl
  - /app/dist/dangerzone-0.10.0.tar.gz
  - Both specify dangerzone 0.10.0, causing a dependency conflict (ResolutionImpossible)

- Version/dependency notes:
  - Conflict arises because both wheel and tar.gz of dangerzone 0.10.0 are being installed simultaneously.
  - Pip attempted resolution and reported ResolutionImpossible.
  - Pip upgrade notice: 23.0.1 -> 26.0.1 (unrelated to root cause but shown)
02Iteration 2
WRITEWriteFile· step #1
0s
Dockerfile1147 bytes written
text45 lines · 1147 chars
# Dockerfile to build Dangerzone from source using Poetry (multi-stage)

FROM python:3.14-alpine3.23 AS builder

WORKDIR /app

# Install build dependencies and Poetry
RUN apk add --no-cache --virtual .build-deps \
        build-base \
        libffi-dev \
        openssl-dev \
        git \
        curl \
        unzip \
    && python -m ensurepip \
    && pip install --no-cache-dir --upgrade pip \
    && pip install --no-cache-dir poetry \
    && apk del .build-deps

# Copy dependency files first to leverage cache
COPY pyproject.toml poetry.lock /app/
RUN poetry config virtualenvs.create false
RUN poetry install --no-dev --no-interaction --no-ansi

# Copy the rest of the application code
COPY . /app

# Build wheel distribution
RUN poetry build -f wheel

FROM python:3.14-alpine3.23

WORKDIR /app

# Runtime libraries (keep minimal in Alpine)
RUN apk add --no-cache libffi-dev openssl-dev

# Copy wheel from builder and install
COPY --from=builder /app/dist/*.whl /dist/
RUN pip install --no-cache-dir /dist/*.whl \
    && rm -rf /dist

# Default command: run the Dangerzone CLI help to verify the build
CMD ["dangerzone-cli", "--help"]
VERIFYVerifyBuild· step #2
1m 19s
VerifyBuildrejected
Concerns: The final runtime image installs libffi-dev and openssl-dev, which are -dev packages. This may not provide the necessary runtime libraries (e.g., libffi, libssl) for compiled Python extensions in the wheel, causing import/runtime failures at container run time., The CMD uses dangerzone-cli --help as the default, but it's not guaranteed that the wheel's console script is named exactly dangerzone-cli or is on PATH in the final image. This could cause the container to exit with a command not found error when started., The base image tag from the FROM line (python:3.14-alpine3.23) may not exist or be supported in real environments, risking a build failure due to an unavailable tag or incompatibilities between Python and Alpine versions.
DOCKERDockerImageSearch· step #3
0s
search docker hubpython:3.14-alpine3.231 results
show lines1
Image python:3.14-alpine3.23 exists on Docker Hub.
WRITEWriteFile· step #4
0s
Dockerfile1147 bytes written
text45 lines · 1147 chars
# Dockerfile to build Dangerzone from source using Poetry (multi-stage)

FROM python:3.14-alpine3.23 AS builder

WORKDIR /app

# Install build dependencies and Poetry
RUN apk add --no-cache --virtual .build-deps \
        build-base \
        libffi-dev \
        openssl-dev \
        git \
        curl \
        unzip \
    && python -m ensurepip \
    && pip install --no-cache-dir --upgrade pip \
    && pip install --no-cache-dir poetry \
    && apk del .build-deps

# Copy dependency files first to leverage cache
COPY pyproject.toml poetry.lock /app/
RUN poetry config virtualenvs.create false
RUN poetry install --no-dev --no-interaction --no-ansi

# Copy the rest of the application code
COPY . /app

# Build wheel distribution
RUN poetry build -f wheel

FROM python:3.14-alpine3.23

WORKDIR /app

# Runtime libraries (keep minimal in Alpine)
RUN apk add --no-cache libffi-dev openssl-dev

# Copy wheel from builder and install
COPY --from=builder /app/dist/*.whl /dist/
RUN pip install --no-cache-dir /dist/*.whl \
    && rm -rf /dist

# Default command: run the Dangerzone CLI help to verify the build
CMD ["dangerzone-cli", "--help"]
WRITEWriteFile· step #5
0s
Dockerfile1175 bytes written
text45 lines · 1175 chars
# Dockerfile to build Dangerzone from source using Poetry (multi-stage)

FROM python:3.14-alpine3.23 AS builder

WORKDIR /app

# Install build dependencies and Poetry
RUN apk add --no-cache --virtual .build-deps \
        build-base \
        libffi-dev \
        openssl-dev \
        git \
        curl \
        unzip \
    && python -m ensurepip \
    && python -m pip install --no-cache-dir --upgrade pip \
    && python -m pip install --no-cache-dir poetry \
    && apk del .build-deps

# Copy dependency files first to leverage cache
COPY pyproject.toml poetry.lock /app/
RUN poetry config virtualenvs.create false
RUN poetry install --no-dev --no-interaction --no-ansi

# Copy the rest of the application code
COPY . /app

# Build wheel distribution
RUN poetry build -f wheel

FROM python:3.14-alpine3.23

WORKDIR /app

# Runtime libraries (keep minimal in Alpine)
RUN apk add --no-cache libffi openssl ca-certificates

# Copy wheel from builder and install
COPY --from=builder /app/dist/*.whl /dist/
RUN pip install --no-cache-dir /dist/*.whl \
    && rm -rf /dist

# Default command: run the Dangerzone CLI help to verify the build
CMD ["dangerzone-cli", "--help"]
WRITEWriteFile· step #6
0s
Dockerfile.env33 bytes written
env1 lines · 33 chars
# placeholder (generated by tool)
WRITEWriteFile· step #7
0s
Dockerfile.in21 bytes written
in1 lines · 21 chars
# Dockerfile template
WRITEWriteFile· step #8
0s
.dockerignore201 bytes written
dockerignore22 lines · 201 chars
# Ignore Python cache and test artifacts
__pycache__/
*.pyc
*.pyo
*.pyd
build/
dist/
*.egg-info/
.env
.env.*
/.tox
/.pytest_cache
tests/
.DS_Store
.idea/
.vscode/
venv/
.env/
.envs/
*.egg-info
.ignore
VERIFYVerifyBuild· step #9
1m 53s
VerifyBuildbuild_failed
Build error
Summary (under 1500 chars):

- Failing step:
  - [builder 6/8] RUN poetry install --no-dev --no-interaction --no-ansi

- Exact error message and exit code:
  - The option "--no-dev" does not exist
  - Exit code: 1

- Missing packages or files mentioned:
  - No missing files/packages are explicitly referenced in the error output. The build later copies pyproject.toml and poetry.lock (step 9) and runs poetry config (step 10), but the error itself does not indicate a missing file.

- Version mismatch info:
  - Poetry version installed: 2.4.1 (poetry-2.4.1-py3-none-any.whl)
  - Cause: The flag --no-dev is not supported in this Poetry version, causing the failure when running poetry install --no-dev --no-interaction --no-ansi.
WRITEWriteFile· step #10
0s
Dockerfile1166 bytes written
text45 lines · 1166 chars
# Dockerfile to build Dangerzone from source using Poetry (mult istage)

FROM python:3.14-alpine3.23 AS builder

WORKDIR /app

# Install build dependencies and Poetry
RUN apk add --no-cache --virtual .build-deps \
        build-base \
        libffi-dev \
        openssl-dev \
        git \
        curl \
        unzip \
    && python -m ensurepip \
    && python -m pip install --no-cache-dir --upgrade pip \
    && python -m pip install --no-cache-dir poetry \
    && apk del .build-deps

# Copy dependency files first to leverage cache
COPY pyproject.toml poetry.lock /app/
RUN poetry config virtualenvs.create false
RUN poetry install --no-interaction --no-ansi

# Copy the rest of the application code
COPY . /app

# Build wheel distribution
RUN poetry build -f wheel

FROM python:3.14-alpine3.23

WORKDIR /app

# Runtime libraries (keep minimal in Alpine)
RUN apk add --no-cache libffi openssl ca-certificates

# Copy wheel from builder and install
COPY --from=builder /app/dist/*.whl /dist/
RUN pip install --no-cache-dir /dist/*.whl \
    && rm -rf /dist

# Default command: run the Dangerzone CLI help to verify the build
CMD ["dangerzone-cli", "--help"]
VERIFYVerifyBuild· step #11
2m 29s
VerifyBuildbuild_failed
Build error
- Failing step (failing command):
  - [builder 6/8] RUN poetry install --no-interaction --no-ansi (Dockerfile line 23)

- Exact error message and exit code:
  - Subprocess error: subprocess.CalledProcessError: Command 'cc --version' returned non-zero exit status 127.
  - Shell note: /bin/sh: cc: not found
  - Outer step exit code: 1

- Context and what failed:
  - The failure occurs while building pymupdf (dependency of the project) during a PEP 517 build invoked by Poetry.
  - The build backend failed while trying to run the C compiler to build mupdf (cc not found).

- Missing packages or files mentioned:
  - Missing C compiler: cc (no compiler installed in the environment at build time).

- Version mismatch / environment details:
  - Python version shown: 3.14.5 (platform.python_version()='3.14.5')
  - PyMuPDF dependency: pymupdf 1.26.6 (attempting to build 1.26.6 with mupdf 1.26.11-source)
  - Base image: python:3.14-alpine3.23
  - The error notes potential causes related to PEP 517 builds, missing system dependencies (compilers, libraries, headers).
WRITEWriteFile· step #12
0s
Dockerfile1505 chars
text61 lines · 1505 chars
# Dockerfile to build Dangerzone from source using Poetry (multi-stage)

FROM python:3.14-slim-bullseye AS builder

WORKDIR /app

# Install build dependencies and Poetry
RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        build-essential \
        gcc \
        g++ \
        libffi-dev \
        libssl-dev \
        pkg-config \
        zlib1g-dev \
        libjpeg-dev \
        libpng-dev \
        libtiff5-dev \
        libfreetype6-dev \
        git \
        curl \
        unzip \
        ca-certificates \
    && rm -rf /var/lib/apt/lists/*

# Install Poetry
RUN python -m pip install --no-cache-dir --upgrade pip \
    && python -m pip install --no-cache-dir poetry

# Copy dependency files first to leverage cache
COPY pyproject.toml poetry.lock /app/
RUN poetry config virtualenvs.create false
RUN poetry install --no-interaction --no-ansi

# Copy the rest of the application code
COPY . /app

# Build wheel distribution
RUN poetry build -f wheel

FROM python:3.14-slim-bullseye

WORKDIR /app

# Runtime dependencies for a minimal Linux environment
RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        libffi-dev \
        openssl \
        ca-certificates \
    && rm -rf /var/lib/apt/lists/*

# Copy wheel from builder and install
COPY --from=builder /app/dist/*.whl /dist/
RUN pip install --no-cache-dir /dist/*.whl \
    && rm -rf /dist

# Default command: Show help to verify the build is working
CMD ["dangerzone-cli", "--help"]
WRITEWriteFile· step #13
0s
Dockerfile1635 bytes written
text61 lines · 1635 chars
# Multistage Dockerfile for building Dangerzone from source with Poetry (Debian-based)

# Builder stage: build dependencies and wheel using a Python base image with Debian (bullseye)
FROM python:3.11-slim-bullseye AS builder

WORKDIR /app

# Install build dependencies and LLVM/Qt-related tools needed for building PyMuPDF and PySide6
RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        build-essential \
        gcc \
        g++ \
        git \
        curl \
        ca-certificates \
        pkg-config \
        libffi-dev \
        libssl-dev \
        libjpeg-dev \
        libpng-dev \
        libtiff5-dev \
        libfreetype6-dev \
    && rm -rf /var/lib/apt/lists/*

# Install Poetry
RUN python -m pip install --no-cache-dir --upgrade pip \
    && python -m pip install --no-cache-dir poetry

# Copy dependency files first to leverage caching
COPY pyproject.toml poetry.lock /app/
RUN poetry config virtualenvs.create false
RUN poetry install --no-interaction --no-ansi

# Copy the rest of the application code
COPY . /app

# Build wheel distribution
RUN poetry build -f wheel

# Runtime stage
FROM python:3.11-slim-bullseye

WORKDIR /app

# Runtime dependencies (remove build-time dev headers)
RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        libffi-dev \
        openssl \
        ca-certificates \
    && rm -rf /var/lib/apt/lists/*

# Copy wheel from builder and install
COPY --from=builder /app/dist/*.whl /dist/
RUN pip install --no-cache-dir /dist/*.whl \
    && rm -rf /dist

# Default command to verify the build works
CMD ["dangerzone-cli", "--help"]
VERIFYVerifyBuild· step #14
8m 23s
VerifyBuildbuild_failed
Summary (concise, actionable):

- VerifyBuild status: build_failed

- Build concerns
  - Runtime dependencies for Qt/PySide6 may be required at runtime (Qt libs) and are not explicitly installed in the final image.
  - The runtime stage installs libffi-dev, openssl, ca-certificates; additional system libraries may be needed at runtime.
  - Smoke test assumes a dangerzone.main entry point; test could fail if project exposes entry differently.

- Build error
  - Exact error: ERROR: process "/bin/sh -c poetry install --no-interaction --no-ansi" did not complete successfully: exit code: 1
  - Failing command/step: Builder step: [builder 7/9] RUN poetry install --no-interaction --no-ansi

- Missing packages or files mentioned
  - Unable to find installation candidates for pyside6 (6.10.1)
  - This is likely not a Poetry issue.
  - 5 candidate(s) were identified for the package
  - 5 wheel(s) were skipped as your project's environment does not support the identified abi tags
  - Poetry suggested:
    - poetry lock --no-cache --regenerate
    - poetry update --no-cache pyside6
    - poetry cache clear --all

- Version mismatch / compatibility notes
  - pyside6 wheels for 6.10.1 are not compatible with the current environment (ABI tags not matching)
  - Some dependency downgrades during poetry install:
    - anyio 4.13.0 -> 4.11.0
    - certifi 2026.4.22 -> 2025.11.12
    - charset-normalizer 3.4.7 -> 3.4.4
    - httpx 0.28.1 -> 0.27.2
    - idna 3.15 -> 3.11
    - importlib-metadata 9.0.0 -> 8.7.0
    - packaging 26.2 -> 25.0
    - platformdirs 4.9.6 -> 4.5.0

- Context
  - Failure occurs during image build after Python 3.11 base setup and initial package installations
  - Root cause: unresolved PyPI wheels for pyside6 in this environment
WRITEWriteFile· step #15
0s
Dockerfile1557 bytes written
text62 lines · 1557 chars
# Multistage Dockerfile for Dangerzone (Debian-based) building from source with Poetry

# Builder stage: build dependencies and wheel using Python on Debian-based image
FROM python:3.11-slim-bullseye AS builder

WORKDIR /app

# Install build dependencies and tooling
RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        build-essential \
        pkg-config \
        git \
        curl \
        ca-certificates \
        libffi-dev \
        libssl-dev \
        libjpeg-dev \
        libpng-dev \
        libtiff5-dev \
        libx11-6 \
        libxext6 \
        libxrender1 \
        libfontconfig1 \
    && rm -rf /var/lib/apt/lists/*

# Install Poetry
RUN python -m pip install --no-cache-dir --upgrade pip \
    && python -m pip install --no-cache-dir poetry

# Copy dependency files first to leverage Docker cache
COPY pyproject.toml poetry.lock /app/
RUN poetry config virtualenvs.create false
RUN poetry install --no-interaction --no-ansi

# Copy the rest of the application code
COPY . /app

# Build wheel distribution
RUN poetry build -f wheel

# Runtime stage
FROM python:3.11-slim-bullseye

WORKDIR /app

# Runtime dependencies (minimal)
RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        libffi-dev \
        openssl \
        ca-certificates \
    && rm -rf /var/lib/apt/lists/*

# Copy wheel from builder and install
COPY --from=builder /app/dist/*.whl /dist/
RUN pip install --no-cache-dir /dist/*.whl \
    && rm -rf /dist

# Smoke test command
CMD ["dangerzone-cli", "--help"]
VERIFYVerifyBuild· step #16
7m 33s
VerifyBuildunknown
Build status: build_failed

Runtime concerns
- Runtime image may miss common image libraries (libjpeg, libpng, zlib, etc). Runtime stage currently installs only libffi-dev, openssl, ca-certificates. If the wheel requires Pillow or other imaging libs at runtime this could fail.
- CLI entry point risk: CMD targets dangerzone-cli; if packaging uses a different console script name, the CLI may not be installed as dangerzone-cli.
- Smoke tests risk: top-level module named 'dangerzone' may not exist depending on packaging; smoke test 1 could fail even if build is correct.

Build error
- Failing step: builder 7/9 RUN poetry install --no-interaction --no-ansi
- Exit code: 1

Exact error (preserved)
- 46.32     | Unable to find installation candidates for pyside6 (6.10.1)
- 46.32     | 
- 46.32     | This is likely not a Poetry issue.
- 46.32     | 
- 46.32     |   - 5 candidate(s) were identified for the package
- 46.32     |   - 5 wheel(s) were skipped as your project's environment does not support the identified abi tags
- 46.32     | 
- 46.32     | Solutions:
- 46.32     | Make sure the lockfile is up-to-date. You can try one of the following;
- 46.32     | 
- 46.32     |     1. Regenerate lockfile: poetry lock --no-cache --regenerate
- 46.32     |     2. Update package     : poetry update --no-cache pyside6
- 46.32     | 
- 46.32     | If any of those solutions worked, you will have to clear your caches using (poetry cache clear --all).
- 46.32     | 
- 46.32     | If neither works, please first check to verify that the pyside6 has published wheels available from your configured source that are compatible with your environment- ie. operating system, architecture (x86_64, arm64 etc.), python interpreter.
- 46.32     | You can also run your poetry command with -v to see more information.

Missing packages
- Package causing failure: pyside6 (version 6.10.1)
- Issue: Poetry cannot find installation candidates for pyside6; wheels exist but are not compatible with the environment (abi tag mismatch)

Version/environment details
- The error indicates ABI/tag compatibility issues: “5 wheel(s) were skipped as your project's environment does not support the identified abi tags.”
- Downgrade activity during poetry install (examples):
  - anyio: 4.13.0 -> 4.11.0
  - certifi: 2026.4.22 -> 2025.11.12
  - charset-normalizer: 3.4.7 -> 3.4.4
  - httpx: 0.28.1 -> 0.27.2
  - idna: 3.15 -> 3.11
  - importlib-metadata: 9.0.0 -> 8.7.0
- Root blocker: pyside6 wheels not matching Python/OS/ABI
WRITEWriteFile· step #17
0s
Dockerfile1610 bytes written
text64 lines · 1610 chars
# Multistage Dockerfile for Dangerzone (Debian-based, using Poetry)

# Builder stage: build dependencies and wheel using Python on Debian-based image
FROM python:3.11-slim-bullseye AS builder

WORKDIR /app

# Install build dependencies and tooling
RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        build-essential \
        pkg-config \
        git \
        curl \
        ca-certificates \
        libffi-dev \
        libssl-dev \
        libjpeg-dev \
        libpng-dev \
        libtiff5-dev \
        zlib1g-dev \
        libxml2-dev \
        libxslt1-dev \
    && rm -rf /var/lib/apt/lists/*

# Install Poetry
RUN python -m pip install --no-cache-dir --upgrade pip \
    && python -m pip install --no-cache-dir poetry

# Pre-install PySide6 to help Poetry resolve wheels
RUN python -m pip install --no-cache-dir PySide6==6.7.1

# Copy dependency files first to leverage caching
COPY pyproject.toml poetry.lock /app/
RUN poetry config virtualenvs.create false
RUN poetry install --no-interaction

# Copy the rest of the application code
COPY . /app

# Build wheel distribution
RUN poetry build -f wheel

# Runtime stage
FROM python:3.11-slim-bullseye

WORKDIR /app

# Runtime dependencies (minimal)
RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        libffi7 \
        libssl3 \
        ca-certificates \
    && rm -rf /var/lib/apt/lists/*

# Copy wheel from builder and install
COPY --from=builder /app/dist/*.whl /dist/
RUN pip install --no-cache-dir /dist/*.whl \
    && rm -rf /dist

# Smoke test command
CMD ["dangerzone-cli", "--help"]
VERIFYVerifyBuild· step #18
1m 21s
VerifyBuildbuild_failed
Build error
Summary (under 1500 chars):

- Exact error message and exit code
  - E: Unable to locate package libssl3
  - The failure result: exit code 100
  - Full failing command/execution: 
    ERROR: failed to build: failed to solve: process "/bin/sh -c apt-get update     && apt-get install -y --no-install-recommends         libffi7         libssl3         ca-certificates     && rm -rf /var/lib/apt/lists/*" did not complete successfully: exit code: 100

- Failing command/step
  - Dockerfile step: stage-1, step 3/5
  - Command:
    RUN apt-get update     && apt-get install -y --no-install-recommends         libffi7         libssl3         ca-certificates     && rm -rf /var/lib/apt/lists/*

- Missing packages or files mentioned
  - libssl3 is missing/unavailable in the current base image context.

- Version mismatch info
  - Base image: python:3.11-slim-bullseye (Debian Bullseye)
  - libssl3 is not available in Debian Bullseye; Bullseye ships libssl1.1. The attempt to install libssl3 indicates a mismatch between the requested OpenSSL package and the base image’s Debian version.
WRITEWriteFile· step #19
0s
Dockerfile1926 bytes written
text75 lines · 1926 chars
# Multistage Dockerfile for Dangerzone (Debian-based, using Poetry)

# Builder stage: build dependencies and wheel using Python on Debian-based image
FROM python:3.11-slim-bullseye AS builder

WORKDIR /app

# Install build dependencies and tooling
RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        build-essential \
        pkg-config \
        git \
        curl \
        ca-certificates \
        libffi-dev \
        libssl-dev \
        libjpeg-dev \
        libpng-dev \
        libtiff5-dev \
        zlib1g-dev \
        libxml2-dev \
        libxslt1-dev \
        libx11-6 \
        libxext6 \
        libxrender1 \
        libfontconfig1 \
    && rm -rf /var/lib/apt/lists/*

# Install Poetry
RUN python -m pip install --no-cache-dir --upgrade pip \
    && python -m pip install --no-cache-dir poetry

# Pre-install PySide6 to help Poetry resolve wheels (older stable version)
RUN python -m pip install --no-cache-dir PySide6==6.7.1

# Copy dependency files first to leverage caching
COPY pyproject.toml poetry.lock /app/
RUN poetry config virtualenvs.create false
RUN poetry install --no-interaction --no-ansi

# Copy the rest of the application code
COPY . /app

# Build wheel distribution
RUN poetry build -f wheel

# Runtime stage
FROM python:3.11-slim-bullseye

WORKDIR /app

# Runtime dependencies (minimal, but include common Qt / GUI related libs)
RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        libffi-dev \
        openssl \
        ca-certificates \
        libx11-6 \
        libxext6 \
        libxcb1 \
        libxcb-render0 \
        libxcb-shm0 \
        libfontconfig1 \
        libgtk-network \
    && rm -rf /var/lib/apt/lists/*

# Copy wheel from builder and install
COPY --from=builder /app/dist/*.whl /dist/
RUN pip install --no-cache-dir /dist/*.whl \
    && rm -rf /dist

# Smoke test command
CMD ["dangerzone-cli", "--help"]
VERIFYVerifyBuild· step #20
1m 02s
VerifyBuildrejected
Concerns: The runtime stage attempts to install a package named libgtk-network via apt-get, which is not a standard Debian/Debian-slim package name and is likely to fail during image build (invalid/unknown package)., The runtime stage relies on a wheel built in the builder stage by Poetry and copied from /app/dist/*.whl. If the build step fails or the wheel path changes (e.g., poetry build produces a different filename), the runtime install will fail, causing the image not to run., Using --help as the only CMD (dangerzone-cli --help) does not exercise real functionality and doesn’t validate a functional runtime; while not a syntax error, the Dockerfile’s smoke tests would benefit from a runtime check that processes input and produces output.
WRITEWriteFile· step #21
0s
Dockerfile1695 bytes written
text72 lines · 1695 chars
# Multistage Debian-based Dockerfile for Dangerzone (Poetry build)

# Builder stage: install dependencies and build wheel
FROM python:3.11-slim-bullseye AS builder

WORKDIR /app

# Install build dependencies
RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        build-essential \
        gcc \
        g++ \
        pkg-config \
        libffi-dev \
        libssl-dev \
        zlib1g-dev \
        libjpeg-dev \
        libpng-dev \
        libtiff5-dev \
        libxml2-dev \
        libxslt1-dev \
        git \
        curl \
        unzip \
        ca-certificates \
    && rm -rf /var/lib/apt/lists/*

# Install Poetry
RUN python -m pip install --no-cache-dir --upgrade pip \
    && python -m pip install --no-cache-dir poetry

# Copy dependency files first to leverage Docker cache
COPY pyproject.toml poetry.lock /app/
RUN poetry config virtualenvs.create false

# Install dependencies (no development deps)
RUN poetry install --no-interaction --no-ansi

# Copy the rest of the application code
COPY . /app

# Build wheel distribution
RUN poetry build -f wheel

# Runtime stage
FROM python:3.11-slim-bullseye

WORKDIR /app

# Runtime dependencies (minimal)
RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        libffi-dev \
        libjpeg62-turbo \
        libpng16-16 \
        libtiff5 \
        libx11-6 \
        libxext6 \
        libxcb1 \
        fontconfig \
        ca-certificates \
    && rm -rf /var/lib/apt/lists/*

# Copy wheel from builder and install
COPY --from=builder /app/dist/*.whl /dist/
RUN pip install --no-cache-dir /dist/*.whl \
    && rm -rf /dist

# Smoke test command
CMD ["dangerzone-cli", "--help"]
VERIFYVerifyBuild· step #22
7m 23s
VerifyBuildbuild_failed
Build error
Summary:

- Failing step: [builder 7/9] RUN poetry install --no-interaction --no-ansi
- Exact error message and exit code:
  - Exit code: 1
  - Error snippet:
    Unable to find installation candidates for pyside6 (6.10.1)

    This is likely not a Poetry issue.

      - 5 candidate(s) were identified for the package
      - 5 wheel(s) were skipped as your project's environment does not support the identified abi tags

    Solutions:
      1. Regenerate lockfile: poetry lock --no-cache --regenerate
      2. Update package     : poetry update --no-cache pyside6

    If any of those solutions worked, you will have to clear your caches using (poetry cache clear --all).

    If neither works, please first check to verify that the pyside6 has published wheels available from your configured source that are compatible with your environment- ie. operating system, architecture (x86_64, arm64 etc.), python interpreter.

    You can also run your poetry command with -v to see more information.
- Missing packages/files mentioned:
  - No compatible wheels found for pyside6 (6.10.1) for the current environment; the log notes wheels exist but are not compatible with the identified ABI tags. This implies missing/mismatched wheels for the Python 3.11 environment in this image.
- Version mismatch info:
  - Package: pyside6 (version 6.10.1)
  - Python runtime: Python 3.11 in the python:3.11-slim-bullseye base
  - Issue: ABI tag compatibility mismatch between available wheels and the environment, prompting Poetry to fail the install.
WRITEWriteFile· step #23
0s
Dockerfile1665 bytes written
text65 lines · 1665 chars
# Multistage Debian-based Dockerfile for Dangerzone built with Poetry

# Builder stage: install dependencies and build wheel using Python on Debian-based image
FROM python:3.9-slim-bullseye AS builder

WORKDIR /app

# Install build dependencies
RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        build-essential \
        gcc \
        g++ \
        pkg-config \
        libffi-dev \
        libssl-dev \
        libjpeg-dev \
        libpng-dev \
        libtiff5-dev \
        zlib1g-dev \
        libxml2-dev \
        libxslt1-dev \
        git \
        curl \
        unzip \
        ca-certificates \
    && rm -rf /var/lib/apt/lists/*

# Install Poetry
RUN python -m pip install --no-cache-dir --upgrade pip \
    && python -m pip install --no-cache-dir poetry

# Copy dependency files first to leverage caching
COPY pyproject.toml poetry.lock /app/
RUN poetry config virtualenvs.create false
# Install dependencies (excluding dev dependencies in a minimal runtime image)
RUN poetry install --no-interaction --no-ansi

# Copy the rest of the application code
COPY . /app

# Build wheel distribution
RUN poetry build -f wheel

# Runtime stage
FROM python:3.9-slim-bullseye

WORKDIR /app

# Runtime dependencies (minimal)
RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        libffi-dev \
        openssl \
        ca-certificates \
    && rm -rf /var/lib/apt/lists/*

# Copy wheel from builder and install
COPY --from=builder /app/dist/*.whl /dist/
RUN pip install --no-cache-dir /dist/*.whl \
    && rm -rf /dist

# Default command: show CLI help to verify the build
CMD ["dangerzone-cli", "--help"]
VERIFYVerifyBuild· step #24
10m 59s
VerifyBuildbuild_failed
Build error
Build timed out after 600s (retry)
WRITEWriteFile· step #25
1s
Dockerfile1465 bytes written
text60 lines · 1465 chars
# Multistage Debian-based Dockerfile for Dangerzone built with Poetry

# Builder stage: install dependencies and build wheel
FROM python:3.11-slim-bullseye AS builder

WORKDIR /app

# Install build dependencies
RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        build-essential \
        gcc \
        g++ \
        pkg-config \
        git \
        curl \
        unzip \
        ca-certificates \
        libffi-dev \
        libssl-dev \
    && rm -rf /var/lib/apt/lists/*

# Install Poetry
RUN python -m pip install --no-cache-dir --upgrade pip \
    && python -m pip install --no-cache-dir poetry

# Copy dependency files first to leverage caching
COPY pyproject.toml poetry.lock /app/
RUN poetry config virtualenvs.create false

# Install dependencies (including GUI-related deps if needed by wheels)
RUN poetry install --no-interaction --no-ansi

# Copy the rest of the application code
COPY . /app

# Build wheel distribution
RUN poetry build -f wheel

# Runtime stage
FROM python:3.11-slim-bullseye

WORKDIR /app

# Runtime dependencies (minimal)
RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        libffi-dev \
        libssl-dev \
        ca-certificates \
    && rm -rf /var/lib/apt/lists/*

# Copy wheel from builder and install
COPY --from=builder /app/dist/*.whl /dist/
RUN pip install --no-cache-dir /dist/*.whl \
    && rm -rf /dist

# Smoke test command
CMD ["dangerzone-cli", "--help"]
03Iteration 3
WRITEWriteFile· step #1
0s
Dockerfile1473 chars
text60 lines · 1473 chars
FROM --platform=linux/amd64 python:3.12-slim-bookworm AS builder

# Prevent Python from buffering stdout/stderr
ENV PYTHONUNBUFFERED=1
WORKDIR /app

# Install system dependencies required for building and PySide6
RUN apt-get update && apt-get install -y --no-install-recommends \
    build-essential \
    libffi-dev \
    libssl-dev \
    qt6-base-dev \
    qt6-svg-dev \
    libjpeg62-turbo-dev \
    libpng16-16 \
    zlib1g-dev \
    ca-certificates \
    curl \
    && rm -rf /var/lib/apt/lists/*

# Install Poetry
RUN python -m pip install --no-cache-dir poetry

# Pre-copy poetry files to leverage caching
COPY pyproject.toml poetry.lock ./

RUN poetry config virtualenvs.create false
RUN poetry install --no-interaction --no-ansi

# Copy the rest of the source code
COPY . .

# Build the distribution wheel
RUN poetry build


FROM --platform=linux/amd64 python:3.12-slim-bookworm AS runtime

ENV PYTHONUNBUFFERED=1
WORKDIR /app

# Runtime dependencies (Qt and image libraries)
RUN apt-get update && apt-get install -y --no-install-recommends \
    libffi7 \
    libssl3 \
    ca-certificates \
    libjpeg62-turbo \
    libpng16-16 \
    zlib1g \
    qt6-base \
    qt6-svg \
    && rm -rf /var/lib/apt/lists/*

# Copy the built wheel from the builder stage and install it
COPY --from=builder /app/dist /dist
RUN python -m pip install --no-cache-dir /dist/dangerzone-*.whl

# Default to the CLI entrypoint to keep container headless-friendly
CMD ["dangerzone-cli"]
WRITEWriteFile· step #2
0s
Dockerfile1428 bytes written
text60 lines · 1428 chars
FROM python:3.12-slim-bookworm AS builder

# Prevent Python from buffering stdout/stderr
ENV PYTHONUNBUFFERED=1
WORKDIR /app

# Install system dependencies required for building and PySide6
RUN apt-get update && apt-get install -y --no-install-recommends \
    build-essential \
    libffi-dev \
    libssl-dev \
    qt6-base-dev \
    qt6-svg-dev \
    libjpeg62-turbo-dev \
    libpng16-16 \
    zlib1g-dev \
    ca-certificates \
    curl \
    && rm -rf /var/lib/apt/lists/*

# Install Poetry
RUN python -m pip install --no-cache-dir poetry

# Pre-copy poetry files to leverage caching
COPY pyproject.toml poetry.lock ./

RUN poetry config virtualenvs.create false
RUN poetry install --no-interaction --no-ansi

# Copy the rest of the source code
COPY . .

# Build the distribution wheel
RUN poetry build


FROM python:3.12-slim-bookworm AS runtime

ENV PYTHONUNBUFFERED=1
WORKDIR /app

# Runtime dependencies (Qt and image libraries)
RUN apt-get update && apt-get install -y --no-install-recommends \
    libffi7 \
    libssl3 \
    ca-certificates \
    libjpeg62-turbo \
    libpng16-16 \
    zlib1g \
    qt6-base \
    qt6-svg6 \
    && rm -rf /var/lib/apt/lists/*

# Copy the built wheel from the builder stage and install it
COPY --from=builder /app/dist /dist
RUN python -m pip install --no-cache-dir /dist/dangerzone-*.whl

# Default to the CLI entrypoint to keep container headless-friendly
CMD ["dangerzone-cli"]
WRITEWriteFile· step #3
0s
.dockerignore251 bytes written
dockerignore28 lines · 251 chars
# Python cache
__pycache__/
*.pyc
*.pyo
*.pyd
*.cover
*.egg-info/
dist/
build/
dangerzone.egg-info/
.cache/
*.pytest_cache/
.vscode/
.env
venv/
.env/*
*.dll
*.so
*.dylib
# Git
.git/
.gitignore

# Docker related
Dockerfile
Dockerfile.env
Dockerfile.in
VERIFYVerifyBuild· step #4
1m 36s
VerifyBuildbuild_failed
Build error
- Exact error messages and exit code
  - E: Unable to locate package libffi7
  - E: Unable to locate package qt6-base
  - E: Unable to locate package qt6-svg6
  - Exit code: 100

- Failing command/step
  - [runtime 3/5] RUN apt-get update && apt-get install -y --no-install-recommends \
      libffi7 \
      libssl3 \
      ca-certificates \
      libjpeg62-turbo \
      libpng16-16 \
      zlib1g \
      qt6-base \
      qt6-svg6 \
      && rm -rf /var/lib/apt/lists/*
  - Dockerfile:43 (snippet shows the RUN command and packages)

- Missing packages or files mentioned
  - libffi7
  - qt6-base
  - qt6-svg6

- Version/mismatch information
  - Base image is python:3.12-slim-bookworm (Debian Bookworm). The apt repositories for this distro do not provide libffi7, qt6-base, or qt6-svg6 (hence “Unable to locate package” errors), indicating a package-version availability mismatch with this Debian release.
WRITEWriteFile· step #5
0s
Dockerfile1329 bytes written
text55 lines · 1329 chars
FROM python:3.12-slim-bookworm AS builder

# Prevent Python from buffering stdout/stderr
ENV PYTHONUNBUFFERED=1
WORKDIR /app

# Install system dependencies required for building
RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        build-essential \
        libffi-dev \
        libssl-dev \
        ca-certificates \
        curl \
    && rm -rf /var/lib/apt/lists/*

# Install Poetry
RUN python -m pip install --no-cache-dir poetry

# Pre-copy poetry files to leverage caching
COPY pyproject.toml poetry.lock ./

RUN poetry config virtualenvs.create false
RUN poetry install --no-interaction --no-ansi

# Copy the rest of the source code
COPY . .

# Build the distribution wheel
RUN poetry build


FROM python:3.12-slim-bookworm AS runtime

ENV PYTHONUNBUFFERED=1
WORKDIR /app

# Runtime dependencies (minimal)
RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        ca-certificates \
        libffi7 \
        libssl3 \
        libjpeg62-turbo \
        libpng16-16 \
        zlib1g \
    && rm -rf /var/lib/apt/lists/*

# Copy the built wheel from the builder stage and install it
COPY --from=builder /app/dist /dist
RUN python -m pip install --no-cache-dir /dist/dangerzone-*.whl

# Default to the CLI entrypoint to keep container headless-friendly
CMD ["dangerzone-cli"]
VERIFYVerifyBuild· step #6
1m 16s
VerifyBuildbuild_failed
Build error
Summary (Docker build error)

- Exact error message and exit code
  - E: Unable to locate package libffi7
  - The process did not complete successfully: exit code: 100
  - Full failing line: process "/bin/sh -c apt-get update     && apt-get install -y --no-install-recommends         ca-certificates         libffi7         libssl3         libjpeg62-turbo         libpng16-16         zlib1g     && rm -rf /var/lib/apt/lists/*" did not complete successfully: exit code: 100

- Failing command/step
  - Dockerfile step: [runtime 3/5] RUN apt-get update     && apt-get install -y --no-install-recommends         ca-certificates         libffi7         libssl3         libjpeg62-turbo         libpng16-16         zlib1g     && rm -rf /var/lib/apt/lists/*

- Missing packages or files mentioned
  - libffi7 (not found in the apt repositories for the base image)

- Version mismatch info
  - Base image: python:3.12-slim-bookworm (Debian bookworm)
  - The error indicates libffi7 is not available for this Debian release, suggesting a mismatch between the requested library version (libffi7) and the libraries provided in the bookworm repositories (potentially requiring a different libffi version, e.g., libffi8).
WRITEWriteFile· step #7
0s
Dockerfile1305 bytes written
text53 lines · 1305 chars
FROM python:3.11-slim-bullseye AS builder

# Prevent Python from buffering stdout/stderr
ENV PYTHONUNBUFFERED=1
WORKDIR /app

# Install system dependencies required for building
RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        build-essential \
        libffi-dev \
        curl \
        ca-certificates \
    && rm -rf /var/lib/apt/lists/*

# Install Poetry
RUN python -m pip install --no-cache-dir poetry

# Pre-copy poetry files to leverage caching
COPY pyproject.toml poetry.lock ./

RUN poetry config virtualenvs.create false
RUN poetry install --no-interaction --no-ansi

# Copy the rest of the source code
COPY . .

# Build the distribution wheel
RUN poetry build


FROM python:3.11-slim-bullseye AS runtime

ENV PYTHONUNBUFFERED=1
WORKDIR /app

# Runtime dependencies (Qt and image libraries)
RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        ca-certificates \
        libffi7 \
        libjpeg62-turbo \
        libpng16-16 \
        zlib1g \
    && rm -rf /var/lib/apt/lists/*

# Copy the built wheel from the builder stage and install it
COPY --from=builder /app/dist /dist
RUN python -m pip install --no-cache-dir /dist/dangerzone-*.whl

# Default to the CLI entrypoint to keep container headless-friendly
CMD ["dangerzone-cli"]
VERIFYVerifyBuild· step #8
7m 40s
VerifyBuildbuild_failed
Build error
- Failing step: [builder 7/9] RUN poetry install --no-interaction --no-ansi
  - Exact error: "ERROR: failed to build: failed to solve: process "/bin/sh -c poetry install --no-interaction --no-ansi" did not complete successfully: exit code: 1"
  - Exit code: 1
- What failed:
  - Poetry could not find installation candidates for pyside6 (6.10.1)
  - Details: Unable to find installation candidates for pyside6 (6.10.1); 5 candidate(s) identified; 5 wheel(s) skipped as your project's environment does not support the identified abi tags
  - Poetry guidance (root cause note): Solutions:
    - poetry lock --no-cache --regenerate
    - poetry update --no-cache pyside6
    - If neither works, ensure wheels for pyside6 are compatible with your OS/arch/python, or clear Poetry caches
- Version mismatch / environment info:
  - Base image: python:3.11-slim-bullseye
  - Package: pyside6 versions: 6.10.1
  - Error suggests wheels are unavailable or incompatible with this environment (OS/architecture/Python ABI); indicates a mismatch between the lockfile (pins 6.10.1) and available wheels for this Python/OS/arch
  - Poetry notes: this is likely not a Poetry issue; fix involves wheel compatibility or lockfile/regeneration
- Recommendation:
  - Regenerate lockfile or update pyside6, ensuring wheels are compatible with Python 3.11 on Debian Bullseye; consider adjusting OS/arch or using compatible wheel/source.
WRITEWriteFile· step #9
0s
Dockerfile1305 bytes written
text53 lines · 1305 chars
FROM python:3.11-slim-bullseye AS builder

# Prevent Python from buffering stdout/stderr
ENV PYTHONUNBUFFERED=1
WORKDIR /app

# Install system dependencies required for building
RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        build-essential \
        libffi-dev \
        curl \
        ca-certificates \
    && rm -rf /var/lib/apt/lists/*

# Install Poetry
RUN python -m pip install --no-cache-dir poetry

# Pre-copy poetry files to leverage caching
COPY pyproject.toml poetry.lock ./

RUN poetry config virtualenvs.create false
RUN poetry install --no-interaction --no-ansi

# Copy the rest of the source code
COPY . .

# Build the distribution wheel
RUN poetry build


FROM python:3.11-slim-bullseye AS runtime

ENV PYTHONUNBUFFERED=1
WORKDIR /app

# Runtime dependencies (Qt and image libraries)
RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        ca-certificates \
        libffi7 \
        libjpeg62-turbo \
        libpng16-16 \
        zlib1g \
    && rm -rf /var/lib/apt/lists/*

# Copy the built wheel from the builder stage and install it
COPY --from=builder /app/dist /dist
RUN python -m pip install --no-cache-dir /dist/dangerzone-*.whl

# Default to the CLI entrypoint to keep container headless-friendly
CMD ["dangerzone-cli"]
VERIFYVerifyBuild· step #10
1m 39s
VerifyBuildbuild_failed
Build error
- Exact error message and exit code:
  - ERROR: failed to build: failed to solve: process "/bin/sh -c poetry install --no-interaction --no-ansi" did not complete successfully: exit code: 1
  - Core failure detail from Poetry: Unable to find installation candidates for pyside6 (6.10.1)

- Failing command/step:
  - Dockerfile step: RUN poetry install --no-interaction --no-ansi (builder 7/9)
  - Location in log: Dockerfile:23

- Missing packages or files mentioned:
  - No installation candidates for pyside6 (6.10.1) available for the current environment (ABI mismatch). The log notes "5 wheel(s) were skipped as your project's environment does not support the identified abi tags."

- Version mismatch / environment details:
  - The package pyside6 (6.10.1) cannot be resolved due to ABI tag compatibility issues with the current Python/OS/architecture.
  - Poetry suggests the lockfile may be out-of-date and provides remediation:
    - Regenerate lockfile: poetry lock --no-cache --regenerate
    - Or update the package: poetry update --no-cache pyside6
  - If these don’t help, clear Poetry caches or verify that wheels for pyside6 are published for the environment (OS/arch/Python).

- Additional notes (from the same failure context):
  - The resolver attempted dependency changes (various downgrades noted for other packages) but could not resolve pyside6.
  - The failure occurs during the dependency installation phase, not due to a missing file in the Docker context.
WRITEWriteFile· step #11
0s
Dockerfile1363 bytes written
text56 lines · 1363 chars
FROM python:3.10-slim-bullseye AS builder

# Prevent Python from buffering stdout/stderr
ENV PYTHONUNBUFFERED=1
WORKDIR /app

# Install system dependencies required for building
RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        build-essential \
        libffi-dev \
        libssl-dev \
        ca-certificates \
        curl \
    && rm -rf /var/lib/apt/lists/*

# Install Poetry
RUN python -m pip install --no-cache-dir poetry

# Pre-copy poetry files to leverage caching
COPY pyproject.toml poetry.lock ./

RUN poetry config virtualenvs.create false
RUN poetry install --no-interaction --no-ansi

# Copy the rest of the source code
COPY . .

# Build the distribution wheel
RUN poetry build


FROM python:3.10-slim-bullseye AS runtime

ENV PYTHONUNBUFFERED=1
WORKDIR /app

# Runtime dependencies (Qt and image libraries)
RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        ca-certificates \
        libffi7 \
        libjpeg62-turbo \
        libpng16-16 \
        zlib1g \
        qt6-base \
        qt6-svg \
    && rm -rf /var/lib/apt/lists/*

# Copy the built wheel from the builder stage and install it
COPY --from=builder /app/dist /dist
RUN python -m pip install --no-cache-dir /dist/dangerzone-*.whl

# Default to the CLI entrypoint to keep container headless-friendly
CMD ["dangerzone-cli"]
VERIFYVerifyBuild· step #12
1m 03s
VerifyBuildbuild_failed
Build error
Summary:

- Exact error messages and exit code
  - E: Unable to locate package qt6-base
  - E: Unable to locate package qt6-svg
  - The build failed with exit code: 100

- Failing command/step
  - Dockerfile step: [runtime 3/5]
  - Command:
    RUN apt-get update \
        && apt-get install -y --no-install-recommends \
            ca-certificates \
            libffi7 \
            libjpeg62-turbo \
            libpng16-16 \
            zlib1g \
            qt6-base \
            qt6-svg \
        && rm -rf /var/lib/apt/lists/*

- Missing packages or files mentioned
  - qt6-base
  - qt6-svg
  - Both are reported as not locatable by apt in this base image

- Version mismatch / environment details
  - Base image: python:3.10-slim-bullseye (Debian bullseye)
  - Debian bullseye apt repositories do not provide qt6-base and qt6-svg in this context
  - This is a mismatch between the requested Qt6 packages and the available packages for Debian Bullseye; may require a different base image (e.g., Debian bookworm or a Qt6-enabled repo) or alternative Qt installation method.
WRITEWriteFile· step #13
0s
Dockerfile1326 bytes written
text54 lines · 1326 chars
FROM python:3.11-slim-bullseye AS builder

# Prevent Python from buffering stdout/stderr
ENV PYTHONUNBUFFERED=1
WORKDIR /app

# Install system dependencies required for building
RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        build-essential \
        libffi-dev \
        libssl-dev \
        ca-certificates \
        curl \
    && rm -rf /var/lib/apt/lists/*

# Install Poetry
RUN python -m pip install --no-cache-dir poetry

# Pre-copy poetry files to leverage caching
COPY pyproject.toml poetry.lock ./

RUN poetry config virtualenvs.create false
RUN poetry install --no-interaction --no-ansi

# Copy the rest of the source code
COPY . .

# Build the distribution wheel
RUN poetry build


FROM python:3.11-slim-bullseye AS runtime

ENV PYTHONUNBUFFERED=1
WORKDIR /app

# Runtime dependencies (Qt and image libraries)
RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        ca-certificates \
        libffi7 \
        libjpeg62-turbo \
        libpng16-16 \
        zlib1g \
    && rm -rf /var/lib/apt/lists/*

# Copy the built wheel from the builder stage and install it
COPY --from=builder /app/dist /dist
RUN python -m pip install --no-cache-dir /dist/dangerzone-*.whl

# Default to the CLI entrypoint to keep container headless-friendly
CMD ["dangerzone-cli"]
VERIFYVerifyBuild· step #14
7m 28s
VerifyBuildunknown
Output
Failing step - Builder step: [builder 7/9] RUN poetry install --no-interaction --no-ansi. Exit code: 1

- Exact error (key lines):
  - Unable to find installation candidates for pyside6 (6.10.1)
  - This is likely not a Poetry issue.
  - 5 candidate(s) were identified for the package
  - 5 wheel(s) were skipped as your project's environment does not support the identified abi tags
  - Solutions:
    - Regenerate lockfile: poetry lock --no-cache --regenerate
    - Update package: poetry update --no-cache pyside6
  - If those work, you will have to clear your caches using (poetry cache clear --all).
  - If neither works, verify that pyside6 wheels published for your configured source are compatible with your environment (OS/architecture/Python).
  - You can also run your poetry command with -v to see more information.

- Additional warning (from installer):
  - RuntimeWarning: Skip installing numpy/distutils/__pycache__/conv_template.cpython-311.pyc from numpy. Installing files in a __pycache__ directory poses a security risk. This is probably an issue in the build process of 'numpy'.

- Context / environment:
  - Failing package: pyside6 (6.10.1) during Poetry dependency install.
  - Environment: Python 3.11 in Debian bullseye-based image (python:3.11-slim-bullseye) used by the builder.
  - ABI issue: 5 wheels found but skipped due to incompatibility with current ABI (Python/OS/arch).

- Suggested actions:
  - Regenerate lockfile: poetry lock --no-cache --regenerate
  - Update package: poetry update --no-cache pyside6
  - Clear Poetry cache: poetry cache clear --all
  - Verify wheels for OS/arch/Python and source; re-run with -v for more info

- Missing/files: No explicit missing file path; issue is wheel availability/ABI compatibility for pyside6 in this environment.

- Log anchors:
  - Dockerfile:24 >>> RUN poetry install --no-interaction --no-ansi
  - ERROR: failed to build: failed to solve: process "/bin/sh -c poetry install --no-interaction --no-ansi" did not complete successfully: exit code: 1
WRITEWriteFile· step #15
0s
Dockerfile1228 bytes written
text50 lines · 1228 chars
FROM python:3.11-slim-bullseye AS builder

# Prevent Python from buffering stdout/stderr
ENV PYTHONUNBUFFERED=1
WORKDIR /app

# Install system dependencies required for building
RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        build-essential \
        libffi-dev \
        libssl-dev \
        ca-certificates \
        curl \
    && rm -rf /var/lib/apt/lists/*

# Install Poetry
RUN python -m pip install --no-cache-dir poetry

# Pre-copy poetry files to leverage caching
COPY pyproject.toml poetry.lock ./

RUN poetry config virtualenvs.create false
RUN poetry install --no-interaction --no-ansi

# Copy the rest of the source code
COPY . .

# Build the distribution wheel
RUN poetry build


FROM python:3.11-slim-bullseye AS runtime

ENV PYTHONUNBUFFERED=1
WORKDIR /app

# Runtime dependencies (minimal)
RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        ca-certificates \
    && rm -rf /var/lib/apt/lists/*

# Copy the built wheel from the builder stage and install it
COPY --from=builder /app/dist /dist
RUN python -m pip install --no-cache-dir /dist/dangerzone-*.whl

# Default to the CLI entrypoint to keep container headless-friendly
CMD ["dangerzone-cli"]
VERIFYVerifyBuild· step #16
1m 43s
VerifyBuildbuild_failed
Build error
Summary (under 1500 chars):

- Exact error message and exit code:
  ERROR: process "/bin/sh -c poetry install --no-interaction --no-ansi" did not complete successfully: exit code: 1

- Failing command/step:
  [builder 7/9] RUN poetry install --no-interaction --no-ansi

- Missing packages or files mentioned:
  - Unable to find installation candidates for pyside6 (6.10.1)
  - 5 candidate(s) identified; 5 wheel(s) skipped due to abi tag incompatibility with the environment
  - Suggested remedies reference regenerating/updating the lockfile and attempting poetry update for pyside6:
    - poetry lock --no-cache --regenerate
    - poetry update --no-cache pyside6

- Version mismatch / dependency resolution clues:
  - Multiple downgrades observed during lockfile resolution:
    - anyio (4.13.0 -> 4.11.0)
    - certifi (2026.4.22 -> 2025.11.12)
    - charset-normalizer (3.4.7 -> 3.4.4)
    - httpx (0.28.1 -> 0.27.2)
    - idna (3.15 -> 3.11)
    - importlib-metadata (9.0.0 -> 8.7.0)
    - packaging (26.2 -> 25.0)
    - platformdirs (4.9.6 -> 4.5.0)
  - The log indicates the environment (likely Python 3.11 in slim-bullseye) cannot find compatible wheels for pyside6 6.10.1, prompting a lockfile mismatch issue rather than a Poetry fault.
GREPGrepFiles· step #17
60s
/pyside6/in.46 matches
show matches46
Actionable data found in poetry.lock and Debian control:

Packages and versions
- pyside6
  - 6.9.3
    - pyside6-6.9.3-cp39-abi3-macosx_12_0_universal2.whl | sha256:6fd9fbbc14e2a5707df611bfacbf3f71283c637b8a29b28708801eeb28bfcb69
    - pyside6-6.9.3-cp39-abi3-manylinux_2_28_x86_64.whl | sha256:6485aebec8eba4e55d1ec1cebe68ca1413589880cc8ccd8a49acae852ec6cfb3
    - pyside6-6.9.3-cp39-abi3-manylinux_2_39_aarch64.whl | sha256:8f4ff61b24a64153373b68a96339bd765fc010d02c4d98d0f6dba2a6c9686e11
    - pyside6-6.9.3-cp39-abi3-win_amd64.whl | sha256:71b41b9ebd1c044c3777f2b32278d3919f07bda4f15c504bc165b643bc3cec01
    - pyside6-6.9.3-cp39-abi3-win_arm64.whl | sha256:33fb70addd02e1adaa45573485c431bca43cf12bb7b2596535b824ff169138ce
  - 6.10.1
    - pyside6-6.10.1-cp39-abi3-macosx_13_0_universal2.whl | sha256:d0e70dd0e126d01986f357c2a555722f9462cf8a942bf2ce180baf69f468e516
    - pyside6-6.10.1-cp39-abi3-manylinux_2_34_x86_64.whl | sha256:4053bf51ba2c2cb20e1005edd469997976a02cec009f7c46356a0b65c137f1fa
    - pyside6-6.10.1-cp39-abi3-manylinux_2_39_aarch64.whl | sha256:7d3ca20a40139ca5324a7864f1d91cdf2ff237e11bd16354a42670f2a4eeb13c
    - pyside6-6.10.1-cp39-abi3-win_amd64.whl | sha256:9f89ff994f774420eaa38cec6422fddd5356611d8481774820befd6f3bb84c9e
    - pyside6-6.10.1-cp39-abi3-win_arm64.whl | sha256:9c5c1d94387d1a32a6fae25348097918ef413b87dfa3767c46f737c6d48ae437
- pyside6-addons
  - 6.9.3
    - pyside6_addons-6.9.3-cp39-abi3-macosx_12_0_universal2.whl | sha256:189c9a9a2fdaffa95e91731f5c0afdc47ba231f5f683d3f8977b22c233749ba4
    - pyside6_addons-6.9.3-cp39-abi3-manylinux_2_28_x86_64.whl | sha256:68932327e1c33d729d79b2b94242f97b77601efe0427e757cd3fd588939ea479
    - pyside6_addons-6.9.3-cp39-abi3-manylinux_2_39_aarch64.whl | sha256:61f4f4859bd1711eea2202fe364a701597140ed4f3900ddf1f90d91ae631fdf9
    - pyside6_addons-6.9.3-cp39-abi3-win_amd64.whl | sha256:0aece2a81ccf16ef9b750b09601b6876aa116bbc700e848ce82df42906f04c5c
    - pyside6_addons-6.9.3-cp39-abi3-win_arm64.whl | sha256:3b8749c9c2b297f53c980192e89ce38ac59019f290a2669fe1abb3128f9a09d9
  - 6.10.1
    - pyside6_addons-6.10.1-cp39-abi3-macosx_13_0_universal2.whl | sha256:4d2b82bbf9b861134845803837011e5f9ac7d33661b216805273cf0c6d0f8e82
    - pyside6_addons-6.10.1-cp39-abi3-manylinux_2_34_x86_64.whl | sha256:330c229b58d30083a7b99ed22e118eb4f4126408429816a4044ccd0438ae81b4
    - pyside6_addons-6.10.1-cp39-abi3-manylinux_2_39_aarch64.whl | sha256:56864b5fecd6924187a2d0f7e98d968ed72b6cc267caa5b294cd7e88fff4e54c
    - pyside6_addons-6.10.1-cp39-abi3-win_amd64.whl | sha256:b6e249d15407dd33d6a2ffabd9dc6d7a8ab8c95d05f16a71dad4d07781c76341
    - pyside6_addons-6.10.1-cp39-abi3-win_arm64.whl | sha256:0de303c0447326cdc6c8be5ab066ef581e2d0baf22560c9362d41b8304fdf2db
- pyside6-essentials
  - 6.9.3
    - pyside6_essentials-6.9.3-cp39-abi3-macosx_12_0_universal2.whl | sha256:ad3664ff0ced9f92ed7872e512c86328894d29f262e6c3400400232a36dda357
    - pyside6_essentials-6.9.3-cp39-abi3-manylinux_2_28_x86_64.whl | sha256:c70d5544e892b201a677b615156fab6a0fef865e7fc287f55a0eae00a682e83f
    - pyside6_essentials-6.9.3-cp39-abi3-manylinux_2_39_aarch64.whl | sha256:e22e517c592657e291c0cbe7d04078ab415cb225188d7e895f8f7adcdba755d2
    - pyside6_essentials-6.9.3-cp39-abi3-win_amd64.whl | sha256:21f98077c135864473089e59a6a0bd828e64c6644b3dd7267b102da4a2ee8f21
    - pyside6_essentials-6.9.3-cp39-abi3-win_arm64.whl | sha256:2e34081933e005686d79265cc04370a28fea3844ab63d432e493adcd4465070c
  - 6.10.1
    - pyside6_essentials-6.10.1-cp39-abi3-macosx_13_0_universal2.whl | sha256:cd224aff3bb26ff1fca32c050e1c4d0bd9f951a96219d40d5f3d0128485b0bbe
    - pyside6_essentials-6.10.1-cp39-abi3-manylinux_2_34_x86_64.whl | sha256:e9ccbfb58c03911a0bce1f2198605b02d4b5ca6276bfc0cbcf7c6f6393ffb856
    - pyside6_essentials-6.10.1-cp39-abi3-manylinux_2_39_aarch64.whl | sha256:ec8617c9b143b0c19ba1cc5a7e98c538e4143795480cb152aee47802c18dc5d2
    - pyside6_essentials-6.10.1-cp39-abi3-win_amd64.whl | sha256:9555a48e8f0acf63fc6a23c250808db841b28a66ed6ad89ee0e4df7628752674
    - pyside6_essentials-6.10.1-cp39-abi3-win_arm64.whl | sha256:4d1d248644f1778f8ddae5da714ca0f5a150a5e6f602af2765a7d21b876da05c

Debian control dependencies
- Depends: ${misc:Depends}, podman, python3, python3-pyside6.qtcore | python3-pyside2.qtcore, python3-pyside6.qtgui | python3-pyside2.qtgui, python3-pyside6.qtwidgets | python3-pyside2.qtwidgets, python3-pyside6.qtsvgwidgets | python3-pyside2.qtsvg, python3-platformdirs | python3-appdirs, python3-click, python3-xdg, python3-colorama, python3-requests, python3-socks, python3-markdown, python3-packaging, tesseract-ocr-all

Notes
- Lockfile contains two primary pyside6 version streams (6.9.3 and 6.10.1) across core, addons, and essentials with platform-specific wheels and sha256 hashes.
- No errors shown; only package/version data and hashes.
WRITEWriteFile· step #18
0s
Dockerfile1329 bytes written
text55 lines · 1329 chars
FROM python:3.12-slim-bookworm AS builder

# Prevent Python from buffering stdout/stderr
ENV PYTHONUNBUFFERED=1
WORKDIR /app

# Install system dependencies required for building
RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        build-essential \
        libffi-dev \
        libssl-dev \
        ca-certificates \
        curl \
    && rm -rf /var/lib/apt/lists/*

# Install Poetry
RUN python -m pip install --no-cache-dir poetry

# Pre-copy poetry files to leverage caching
COPY pyproject.toml poetry.lock ./

RUN poetry config virtualenvs.create false
RUN poetry install --no-interaction --no-ansi

# Copy the rest of the source code
COPY . .

# Build the distribution wheel
RUN poetry build


FROM python:3.12-slim-bookworm AS runtime

ENV PYTHONUNBUFFERED=1
WORKDIR /app

# Runtime dependencies (minimal)
RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        ca-certificates \
        libffi8 \
        libssl3 \
        libjpeg62-turbo \
        libpng16-16 \
        zlib1g \
    && rm -rf /var/lib/apt/lists/*

# Copy the built wheel from the builder stage and install it
COPY --from=builder /app/dist /dist
RUN python -m pip install --no-cache-dir /dist/dangerzone-*.whl

# Default to the CLI entrypoint to keep container headless-friendly
CMD ["dangerzone-cli"]
VERIFYVerifyBuild· step #19
8m 42s
VerifyBuildbuild_failed
Build error
- Exact error message and exit code
  - Error: The current project could not be installed: No file/folder found for package dangerzone
  - Exit code: 1

- Failing command/step
  - [builder 7/9] RUN poetry install --no-interaction --no-ansi

- Missing packages or files mentioned
  - No file/folder found for package dangerzone
  - If you did intend to install the current project, you may need to set `packages` in your pyproject.toml file.

- Version mismatch info (downgrades observed during dependency install)
  - Downgrading anyio (4.13.0 -> 4.11.0)
  - Downgrading certifi (2026.4.22 -> 2025.11.12)
  - Downgrading charset-normalizer (3.4.7 -> 3.4.4)
  - Downgrading httpx (0.28.1 -> 0.27.2)
  - Downgrading idna (3.15 -> 3.11)
  - Downgrading urllib3 (2.7.0 -> 2.5.0)
  - Downgrading platformdirs (4.9.6 -> 4.5.0)
  - Downgrading packaging (26.2 -> 25.0)
WRITEWriteFile· step #20
0s
Dockerfile1226 bytes written
text50 lines · 1226 chars
FROM python:3.9-slim-bullseye AS builder

# Prevent Python from buffering stdout/stderr
ENV PYTHONUNBUFFERED=1
WORKDIR /app

# Install system dependencies required for building
RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        build-essential \
        libffi-dev \
        libssl-dev \
        ca-certificates \
        curl \
    && rm -rf /var/lib/apt/lists/*

# Install Poetry
RUN python -m pip install --no-cache-dir poetry

# Pre-copy poetry files to leverage caching
COPY pyproject.toml poetry.lock ./

RUN poetry config virtualenvs.create false
RUN poetry install --no-interaction --no-ansi

# Copy the rest of the source code
COPY . .

# Build the distribution wheel
RUN poetry build


FROM python:3.9-slim-bullseye AS runtime

ENV PYTHONUNBUFFERED=1
WORKDIR /app

# Runtime dependencies (minimal)
RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        ca-certificates \
    && rm -rf /var/lib/apt/lists/*

# Copy the built wheel from the builder stage and install it
COPY --from=builder /app/dist /dist
RUN python -m pip install --no-cache-dir /dist/dangerzone-*.whl

# Default to the CLI entrypoint to keep container headless-friendly
CMD ["dangerzone-cli"]