FROM oven/bun:1 AS base
WORKDIR /app

FROM base AS install
COPY package.json bun.lock ./
RUN bun install --frozen-lockfile --production

FROM base AS final
COPY --from=install /app/node_modules ./node_modules
COPY src/       ./src/
COPY config/    ./config/
COPY templates/ ./templates/
# uBlock0_*.xpi must be placed in addons/ before building.
# Copy it from the C# project: QuickAccess/QuickAccess/uBlock0_1.67.0.firefox.signed.xpi
COPY addons/    ./addons/
EXPOSE 8080
CMD ["bun", "run", "src/index.ts"]
