f33a563003
- Add ToolManifest Pydantic models with validators for ports, mounts, health checks, and traefik config - Implement in-memory ToolRegistry with YAML loading and built-in manifest scanning - Add FastAPI CRUD routes for listing, retrieving, and creating tool manifests - Include built-in manifests for runfusion and code-server - Harden web Dockerfile with unprivileged nginx and port 8080 - Add tool manifest specification documentation and architecture updates Fusion-Task-Id: FN-003
18 lines
345 B
Docker
18 lines
345 B
Docker
FROM node:22-alpine AS builder
|
|
|
|
WORKDIR /app
|
|
COPY package.json ./
|
|
RUN npm install -g pnpm@11.1.1 \
|
|
&& pnpm install --ignore-scripts \
|
|
&& pnpm rebuild esbuild
|
|
|
|
COPY . .
|
|
RUN pnpm build
|
|
|
|
FROM nginxinc/nginx-unprivileged:alpine
|
|
|
|
COPY --from=builder /app/dist /usr/share/nginx/html
|
|
COPY nginx.conf /etc/nginx/conf.d/default.conf
|
|
|
|
EXPOSE 8080
|