Files
homelab/apps/platform-dash/Dockerfile
Julia McGhee 970154769c
Some checks failed
CI / lint-and-test (push) Failing after 30s
CI / build (push) Has been skipped
Deploy Production / deploy (push) Failing after 1m31s
Add platform-dash: S3 artifact browser for Garage object store
Lightweight Next.js app for browsing, uploading, and downloading
artifacts from the cluster-local Garage S3 bucket. Uses the harness
design system. Features:
- File/folder browser with breadcrumb navigation
- Drag-and-drop upload
- Download and delete
- Ingress at platform.coreworlds.io (internal-only)

Also adds platform-dash to CI/deploy workflows.
2026-03-22 10:34:14 +00:00

31 lines
973 B
Docker

FROM node:20-alpine AS base
RUN corepack enable && corepack prepare pnpm@latest --activate
FROM base AS deps
WORKDIR /app
COPY pnpm-workspace.yaml pnpm-lock.yaml package.json ./
COPY apps/platform-dash/package.json ./apps/platform-dash/package.json
RUN pnpm install --frozen-lockfile --filter @homelab/platform-dash...
FROM base AS builder
WORKDIR /app
COPY --from=deps /app ./
COPY apps/platform-dash ./apps/platform-dash
RUN pnpm --filter @homelab/platform-dash build
FROM base AS runner
WORKDIR /app
ENV NODE_ENV=production
RUN addgroup --system --gid 1001 nodejs
RUN adduser --system --uid 1001 nextjs
COPY --from=builder /app/apps/platform-dash/public ./apps/platform-dash/public
COPY --from=builder --chown=nextjs:nodejs /app/apps/platform-dash/.next/standalone ./
COPY --from=builder --chown=nextjs:nodejs /app/apps/platform-dash/.next/static ./apps/platform-dash/.next/static
USER nextjs
EXPOSE 3200
ENV PORT=3200
CMD ["node", "apps/platform-dash/server.js"]