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# syntax=docker/dockerfile:12# Build from the repo root: docker build -f infra/docker/ingest.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 ingest workers and their workspace dependencies ---------------21FROM deps AS build22COPY . .23RUN pnpm turbo build --filter=@earth-now/ingest...2425# ---- Runtime ------------------------------------------------------------------26FROM base AS runtime27ENV NODE_ENV=production28# Raw archive mount point (compose maps the raw_archive volume here).29RUN mkdir -p /data/raw30COPY --from=build /app /app31CMD ["node", "apps/ingest/dist/index.js"]32