FROM node:24-alpine AS build WORKDIR /app RUN corepack enable COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./ RUN pnpm install --frozen-lockfile COPY . . RUN pnpm build FROM caddy:2.10.2-alpine RUN apk add --no-cache jq nodejs COPY Caddyfile /etc/caddy/Caddyfile COPY docker-entrypoint.sh /usr/local/bin/tjwater-frontend-entrypoint COPY --from=build /app/dist /srv COPY --from=build /app/dist-server/edge-tts-server.cjs /usr/local/lib/tjwater-frontend/edge-tts-server.cjs RUN chmod 755 /usr/local/bin/tjwater-frontend-entrypoint EXPOSE 80 ENTRYPOINT ["/usr/local/bin/tjwater-frontend-entrypoint"] CMD ["caddy", "run", "--config", "/etc/caddy/Caddyfile", "--adapter", "caddyfile"]