Add platform-dash: S3 artifact browser for Garage object store
Some checks failed
CI / lint-and-test (push) Failing after 30s
CI / build (push) Has been skipped
Deploy Production / deploy (push) Failing after 1m31s

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.
This commit is contained in:
Julia McGhee
2026-03-22 10:34:13 +00:00
parent a37a1a6e65
commit 970154769c
23 changed files with 2536 additions and 4 deletions

View File

@@ -0,0 +1,30 @@
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"]