FROM node:20-bullseye-slim # Cài đặt đầy đủ dependency cho Electron RUN apt-get update && apt-get install -y \ xvfb libnss3 libatk1.0-0 libatk-bridge2.0-0 libcups2 libdrm2 \ libgtk-3-0 libgbm1 libasound2 libxshmfence1 libx11-xcb1 dbus-x11 \ && rm -rf /var/lib/apt/lists/* WORKDIR /app COPY . . RUN npm install --unsafe-perm # Thiết lập màn hình ảo ENV DISPLAY=:99 ENV XDG_RUNTIME_DIR=/tmp/runtime-root RUN mkdir -p /tmp/runtime-root && chmod 0700 /tmp/runtime-root # Chạy với dbus-run-session để ổn định tiến trình CMD Xvfb :99 -screen 0 1280x1024x24 & \ dbus-run-session -- npm start -- \ --no-sandbox \ --disable-gpu \ --disable-software-rasterizer \ --disable-dev-shm-usage \ --disable-features=Vulkan,VulkanFromANGLE