rssnext-folo
SUCCESS
10m 02s
History Source
SummaryIterations1Transcript6Dockerfile
Dockerfile62 lines · 1349 chars
FROM node:20-bullseye-slim AS builder

WORKDIR /workspace

# Install build dependencies required by Electron apps
RUN apt-get update && apt-get install -y --no-install-recommends \
  ca-certificates \
  curl \
  python3 \
  git \
  build-essential \
  pkg-config \
  libx11-xcb1 \
  libnss3 \
  libxss1 \
  libasound2 \
  libatk-bridge2.0-0 \
  libgtk-3-0 \
  libsecret-1-0 \
  libgbm1 \
  libxkbcommon0 \
  libxcb-dri3-0 \
  libx11-6 \
  --no-install-recommends && rm -rf /var/lib/apt/lists/*

# Install pnpm for workspace management
RUN npm i -g pnpm

# Copy repository into the image
COPY . .

# Install dependencies for the workspace
RUN pnpm i

# Build the desktop app from source
WORKDIR /workspace/apps/desktop
RUN pnpm update:main-hash
RUN pnpm build:electron-vite
RUN pnpm build:electron-forge

FROM debian:bookworm-slim AS runtime

# Minimal runtime dependencies for AppImage or Electron-based artifacts
RUN apt-get update && apt-get install -y --no-install-recommends \
  ca-certificates \
  libnss3 \
  libasound2 \
  libx11-xcb1 \
  libxcb-dri3-0 \
  libxss1 \
  libatk-bridge2.0-0 \
  libgtk-3-0 \
  libsecret-1-0 \
  --no-install-recommends && rm -rf /var/lib/apt/lists/*

# Copy built artifacts from the builder stage
COPY --from=builder /workspace/apps/desktop/out /workspace/apps/desktop/out

WORKDIR /workspace

CMD ["/bin/bash"]