# Build stage FROM node:20-alpine AS builder WORKDIR /app # Enable Corepack so we can use Yarn v4 RUN corepack enable && corepack prepare yarn@stable --activate # Force Yarn to use node_modules instead of PnP ENV YARN_NODE_LINKER=node-modules COPY package.json yarn.lock ./ RUN yarn install --immutable COPY . . RUN yarn build # Production stage - Caddy FROM caddy:2-alpine WORKDIR /usr/share/caddy # Copy built static files from the builder stage COPY --from=builder /app/dist . # Copy our local Caddyfile config COPY Caddyfile /etc/caddy/Caddyfile EXPOSE 3000 # Start caddy using the config file CMD ["caddy", "run", "--config", "/etc/caddy/Caddyfile", "--adapter", "caddyfile"]