# syntax=docker/dockerfile:1
# Generated by Coolpack
# Provider: node, Framework: sveltekit, Output: static

FROM node:24-slim AS builder
WORKDIR /app

ARG PUBLIC_TEST_ENV_VAR
ENV PUBLIC_TEST_ENV_VAR=$PUBLIC_TEST_ENV_VAR

RUN npm install -g bun

COPY package.json bun.lockb* bun.lock* ./

RUN --mount=type=cache,target=/root/.bun/install/cache bun install --frozen-lockfile

COPY . .

RUN bun run build

FROM nginx:alpine AS runner

RUN addgroup --system --gid 1001 coolgroup && \
    adduser --system --uid 1001 -G coolgroup cooluser && \
    apk add --no-cache libcap && \
    setcap 'cap_net_bind_service=+ep' /usr/sbin/nginx && \
    sed -i '/user  nginx;/d' /etc/nginx/nginx.conf && \
    chown -R cooluser:coolgroup /usr/share/nginx/html && \
    chown -R cooluser:coolgroup /var/cache/nginx && \
    chown -R cooluser:coolgroup /var/log/nginx && \
    touch /var/run/nginx.pid && \
    chown cooluser:coolgroup /var/run/nginx.pid

COPY --from=builder /app/build /usr/share/nginx/html

USER cooluser

EXPOSE 80

CMD ["nginx", "-g", "daemon off;"]
