webview-webview
SUCCESS
14m 18s
History Source
SummaryIterations1Transcript13Dockerfile
Dockerfile44 lines · 1263 chars
# Stage 1: Build webview from source (Ubuntu 22.04)
FROM ubuntu:22.04 AS builder
ENV DEBIAN_FRONTEND=noninteractive

RUN apt-get update && apt-get install -y --no-install-recommends \
  build-essential cmake ninja-build pkg-config \
  libgtk-4-dev libwebkit2gtk-4.1-dev libglib2.0-dev \
  ca-certificates curl python3

# Copy source
WORKDIR /src
COPY . .

# Build
RUN mkdir -p build && cd build && \
    cmake -G Ninja \
          -DWEBVIEW_BUILD=ON \
          -DCMAKE_BUILD_TYPE=Release \
          -DWEBVIEW_BUILD_DOCS=OFF \
          -DWEBVIEW_BUILD_EXAMPLES=OFF \
          -DWEBVIEW_INSTALL_TARGETS=OFF \
          -S .. -B .
RUN cmake --build build --config Release

# Stage 2: Runtime image
FROM ubuntu:22.04
ENV DEBIAN_FRONTEND=noninteractive

RUN apt-get update && apt-get install -y --no-install-recommends \
  libgtk-4-1 libwebkit2gtk-4.1-0 libglib2.0-0 ca-certificates && \
  rm -rf /var/lib/apt/lists/*

# Copy built artifacts and headers
COPY --from=builder /src/build /opt/webview/build
COPY --from=builder /src/core/include /usr/local/include

WORKDIR /opt/webview

# Ensure runtime can find libraries in the bundled build
ENV LD_LIBRARY_PATH=/opt/webview/build:/opt/webview/build/lib

# Provide an interactive shell by default
CMD ["/bin/bash"]