Files
id/Dockerfile
zooqueen 5e8d56290f fix(docker): static needs -root/-spa flags, not ROOT/PORT env
hanzoai/static:0.4.1 reads the serve root from the -root flag (default
/public) and port from -port (default 3000) — the ENV ROOT=/spa PORT=8080
were no-ops, so the built image served /public (crash) on :8080 while the
deploy probes :3000. Set ENTRYPOINT [/static -root /spa -spa] (default
port 3000). Matches the hand-built id:0.1.5 now live.
2026-06-18 15:33:31 -07:00

26 lines
893 B
Docker

# syntax=docker/dockerfile:1.7
# Hanzo ID — Vite SPA built once, served by hanzoai/static.
FROM node:24-alpine AS build
WORKDIR /build
ENV PNPM_HOME=/pnpm PATH=$PNPM_HOME:$PATH
RUN corepack enable && corepack prepare [email protected] --activate
COPY pnpm-workspace.yaml package.json tsconfig.base.json ./
COPY apps/web/package.json apps/web/
COPY pkgs/shared/package.json pkgs/shared/
COPY pkgs/auth/package.json pkgs/auth/
COPY pkgs/idv/package.json pkgs/idv/
RUN pnpm install --frozen-lockfile=false
COPY apps apps
COPY pkgs pkgs
RUN pnpm --filter @hanzo/id-web build
# Static server stage — hanzoai/static reads /spa for assets
FROM ghcr.io/hanzoai/static:0.4.1
COPY --from=build /build/apps/web/dist /spa
EXPOSE 3000
# hanzoai/static reads -root/-spa as FLAGS (ROOT/PORT env are ignored);
# default port 3000 matches the id deploy probe.
ENTRYPOINT ["/static", "-root", "/spa", "-spa"]