SPB Git

spb/earth-now Public License

earth-now.co — real-time planetary dashboard: live world metrics modeled, not streamed.

TypeScript 93% Shell 2.3% SQL 1.4% JavaScript 1.3% Dockerfile 1.2% CSS 0.8%
1.1 KB · 31 lines docker
Raw Blame History
1# syntax=docker/dockerfile:12# Build from the repo root: docker build -f infra/docker/api.Dockerfile .34FROM node:20-alpine AS base5RUN corepack enable6WORKDIR /app78# ---- Install workspace dependencies (cached until a package.json changes) ----9FROM base AS deps10COPY pnpm-workspace.yaml pnpm-lock.yaml package.json turbo.json tsconfig.base.json ./11COPY apps/api/package.json apps/api/12COPY apps/web/package.json apps/web/13COPY apps/ingest/package.json apps/ingest/14COPY packages/counter/package.json packages/counter/15COPY packages/models/package.json packages/models/16COPY packages/registry/package.json packages/registry/17COPY packages/widget/package.json packages/widget/18RUN pnpm install --frozen-lockfile1920# ---- Build the api and its workspace dependencies ----------------------------21FROM deps AS build22COPY . .23RUN pnpm turbo build --filter=@earth-now/api...2425# ---- Runtime ------------------------------------------------------------------26FROM base AS runtime27ENV NODE_ENV=production28COPY --from=build /app /app29EXPOSE 400030CMD ["node", "apps/api/dist/index.js"]31