Files
moeka-project/apps/stage-web/Dockerfile
T
nanakura dc26878386
CI / Lint (push) Canceled after 0s
CI / Build Test (stage-web) (push) Canceled after 0s
CI / Build Test (ui-loading-screens) (push) Canceled after 0s
CI / Build Test (ui-transitions) (push) Canceled after 0s
CI / Unit Test (push) Canceled after 0s
CI / Type Check (push) Canceled after 0s
CI / Check Provenance (push) Canceled after 0s
Sync Labels / sync-labels (push) Successful in 1m43s
chore: prune unused apps and services for the moeka fork
- Remove stage-tamagotchi, stage-pocket, server, and engine workspaces with their workflows, addons, and docs
- Switch the toolchain from pnpm to bun, replace lockfiles with bun.lock
- Rewrite remaining product references to Moeka
2026-09-14 16:40:49 +07:00

34 lines
1.2 KiB
Docker

FROM node:24-trixie AS build-stage
WORKDIR /app
ARG VITE_ENABLE_ANALYTICS=false
ENV VITE_ENABLE_ANALYTICS=${VITE_ENABLE_ANALYTICS}
RUN apt update && apt install -y ca-certificates curl
RUN update-ca-certificates
RUN apt update && apt install -y build-essential python3 python3-setuptools curl
# NOTICE:
# The Bun binary must match the base image libc. node:24-trixie is glibc, so the
# binary is copied from the default (Debian) Bun image instead of installing Bun
# with npm. Keep this tag in step with `packageManager` in the root manifest.
COPY --from=oven/bun:1.4.2 /usr/local/bin/bun /usr/local/bin/bun
COPY . .
RUN --mount=type=cache,id=bun-cache,target=/root/.bun/install/cache \
bun install --frozen-lockfile
RUN bun run --filter @proj-airi/stage-web build && \
bun run --filter @proj-airi/docs build:base && \
mv ./docs/.vitepress/dist ./apps/stage-web/dist/docs && \
bun run --filter @proj-airi/stage-ui story:build && \
mv ./packages/stage-ui/.histoire/dist ./apps/stage-web/dist/ui
FROM nginx:stable-alpine AS production-stage
COPY --from=build-stage /app/apps/stage-web/dist /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]