# TEMPLATE — image de production du site Astro d'une coquille.
#
# Build Bun (registre npm public de Forgejo) -> Caddy statique.
# CMS_BASE_URL en ARG de build : la valeur prod est passée par le job CI
# publish (variable repo). Copier dans <coquille>/web/Dockerfile.

FROM oven/bun:1 AS build

WORKDIR /web

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

COPY . .

# Repli : sans ARG, le site se construit en mode fixtures (jamais cassé).
ARG CMS_BASE_URL=""
ENV CMS_BASE_URL=${CMS_BASE_URL}
RUN bun run build

# Caddy (cohérence avec l'edge du VPS) : cache immutable sur les assets,
# fallback index.html pour les routes client.
FROM caddy:2-alpine

COPY Caddyfile /etc/caddy/Caddyfile
COPY --from=build /web/dist /srv

EXPOSE 80
