From f9aaccdfe2dc7e5b11aea9def7f59d3b50a7bdb9 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Mon, 13 Apr 2026 01:06:34 +0300 Subject: [PATCH] chore(docker): set up tooling for building better-sqlite3 from scratch --- apps/server/Dockerfile | 8 ++++++++ apps/server/Dockerfile.alpine | 3 +++ apps/server/Dockerfile.alpine.rootless | 3 +++ apps/server/Dockerfile.legacy | 8 ++++++++ apps/server/Dockerfile.rootless | 8 ++++++++ 5 files changed, 30 insertions(+) diff --git a/apps/server/Dockerfile b/apps/server/Dockerfile index 1db1be8182..f61f4971cc 100644 --- a/apps/server/Dockerfile +++ b/apps/server/Dockerfile @@ -1,6 +1,14 @@ FROM node:24.14.1-bullseye-slim AS builder RUN corepack enable +# Install build tools required to compile native addons (e.g. better-sqlite3) on ARM +RUN apt-get update && \ + apt-get install -y --no-install-recommends \ + python3 \ + make \ + g++ && \ + rm -rf /var/lib/apt/lists/* + # Install native dependencies since we might be building cross-platform. WORKDIR /usr/src/app/build COPY ./docker/package.json ./docker/pnpm-workspace.yaml /usr/src/app/ diff --git a/apps/server/Dockerfile.alpine b/apps/server/Dockerfile.alpine index bf8039e224..67e2bafe5f 100644 --- a/apps/server/Dockerfile.alpine +++ b/apps/server/Dockerfile.alpine @@ -1,6 +1,9 @@ FROM node:24.14.1-alpine AS builder RUN corepack enable +# Install build tools required to compile native addons (e.g. better-sqlite3) on ARM +RUN apk add --no-cache python3 make g++ + # Install native dependencies since we might be building cross-platform. WORKDIR /usr/src/app COPY ./docker/package.json ./docker/pnpm-workspace.yaml /usr/src/app/ diff --git a/apps/server/Dockerfile.alpine.rootless b/apps/server/Dockerfile.alpine.rootless index 21c0cb664c..3e4d33c555 100644 --- a/apps/server/Dockerfile.alpine.rootless +++ b/apps/server/Dockerfile.alpine.rootless @@ -1,6 +1,9 @@ FROM node:24.14.1-alpine AS builder RUN corepack enable +# Install build tools required to compile native addons (e.g. better-sqlite3) on ARM +RUN apk add --no-cache python3 make g++ + # Install native dependencies since we might be building cross-platform. WORKDIR /usr/src/app COPY ./docker/package.json ./docker/pnpm-workspace.yaml /usr/src/app/ diff --git a/apps/server/Dockerfile.legacy b/apps/server/Dockerfile.legacy index ef6ddfcb06..8f514c81cd 100644 --- a/apps/server/Dockerfile.legacy +++ b/apps/server/Dockerfile.legacy @@ -1,6 +1,14 @@ FROM node:22.21.0-bullseye-slim AS builder RUN corepack enable +# Install build tools required to compile native addons (e.g. better-sqlite3) on ARM +RUN apt-get update && \ + apt-get install -y --no-install-recommends \ + python3 \ + make \ + g++ && \ + rm -rf /var/lib/apt/lists/* + # Install native dependencies since we might be building cross-platform. WORKDIR /usr/src/app/build COPY ./docker/package.json ./docker/pnpm-workspace.yaml /usr/src/app/ diff --git a/apps/server/Dockerfile.rootless b/apps/server/Dockerfile.rootless index 5b82d2ab1d..ea4b6085ec 100644 --- a/apps/server/Dockerfile.rootless +++ b/apps/server/Dockerfile.rootless @@ -1,6 +1,14 @@ FROM node:24.14.1-bullseye-slim AS builder RUN corepack enable +# Install build tools required to compile native addons (e.g. better-sqlite3) on ARM +RUN apt-get update && \ + apt-get install -y --no-install-recommends \ + python3 \ + make \ + g++ && \ + rm -rf /var/lib/apt/lists/* + # Install native dependencies since we might be building cross-platform. WORKDIR /usr/src/app/build COPY ./docker/package.json ./docker/pnpm-workspace.yaml /usr/src/app/