FROM oven/bun:latest
WORKDIR /app

# Note: oven/bun:1-alpine ships a pre-existing `bun` user/group at UID/GID
# 1000. We use the non-alpine image (`oven/bun:latest`, root-owned) here to
# avoid the collision documented in m/mExDraw fc62b9c. If you ever swap to
# the -alpine variant, run as the bundled `bun` user — do NOT addgroup -u 1000.

COPY package.json bun.lock* ./
RUN bun install --frozen-lockfile || bun install

COPY . .
RUN bun run build

ENV HOST=0.0.0.0 PORT=3000
EXPOSE 3000
CMD ["bun", "./build/index.js"]
