Dockerfile45 lines · 949 chars FROM node:20-bullseye-slim
# Install dependencies required for building Electron apps
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
curl \
git \
build-essential \
libx11-dev \
libxkbfile-dev \
libsecret-1-0 \
libnss3 \
libxss1 \
libasound2 \
libatk-bridge2.0-0 \
libgtk-3-0 \
libxcb-dri3-0 \
fonts-noto-color-emoji \
sqlite3 \
python3 \
python3-pip \
unzip \
&& rm -rf /var/lib/apt/lists/*
# Install Bun
ENV BUN_INSTALL="/root/.bun"
RUN bash -lc "curl -fsSL https://bun.sh/install | bash"
ENV PATH="/root/.bun/bin:${PATH}"
WORKDIR /app
# Copy the entire repository first so all scripts exist for postinstall steps
COPY . .
# Install dependencies
RUN bun install
# Build project
RUN bun run build
# Default command prints versions to verify container can start
CMD ["bash","-lc","node -v && bun -v && echo 'Build complete'"]