mirror of
https://github.com/eliasstepanik/strudel.git
synced 2026-01-11 13:48:40 +00:00
Update Dockerfile
This commit is contained in:
parent
f3f81172ee
commit
f94770a2f3
34
Dockerfile
34
Dockerfile
@ -1,26 +1,22 @@
|
|||||||
# ---------- build stage ----------
|
# Base image with Corepack → pnpm already included
|
||||||
FROM node:20-alpine AS builder
|
FROM node:20-alpine
|
||||||
|
|
||||||
# pnpm is the package manager used by Strudel
|
# Build-time tools needed by some native deps
|
||||||
RUN corepack enable && npm install -g pnpm # corepack ships with Node 20 :contentReference[oaicite:0]{index=0}
|
RUN apk add --no-cache git python3 make g++ \
|
||||||
|
&& corepack enable \
|
||||||
|
&& corepack prepare pnpm@latest --activate # pin if you prefer
|
||||||
|
|
||||||
# native deps needed for sharp and other Astro plugins to compile on Alpine Linux :contentReference[oaicite:1]{index=1}
|
WORKDIR /usr/src/app
|
||||||
RUN apk add --no-cache git python3 make g++
|
|
||||||
|
|
||||||
WORKDIR /app
|
|
||||||
COPY . .
|
COPY . .
|
||||||
|
|
||||||
# deterministic install & build
|
# 1. install monorepo deps
|
||||||
RUN pnpm install --frozen-lockfile # workspace root uses pnpm :contentReference[oaicite:2]{index=2}
|
RUN pnpm install --frozen-lockfile
|
||||||
RUN pnpm build # produces website/dist (Astro default) :contentReference[oaicite:3]{index=3}
|
|
||||||
|
|
||||||
# ---------- runtime stage ----------
|
# 2. generate docs once – JsDoc.jsx expects this file
|
||||||
FROM nginx:alpine
|
RUN pnpm run jsdoc-json # produces ./doc.json :contentReference[oaicite:0]{index=0}
|
||||||
LABEL org.opencontainers.image.source="https://github.com/tidalcycles/strudel"
|
|
||||||
|
|
||||||
# copy the static site produced above
|
# Expose Astro’s default dev port
|
||||||
COPY --from=builder /app/website/dist /usr/share/nginx/html
|
EXPOSE 4321 # default per Astro docs :contentReference[oaicite:1]{index=1}
|
||||||
|
|
||||||
EXPOSE 80
|
# 3. launch the dev server, listen on all interfaces
|
||||||
HEALTHCHECK CMD wget -qO- http://localhost/ || exit 1
|
CMD ["pnpm", "dev", "--", "--host", "0.0.0.0", "--port", "4321"]
|
||||||
CMD ["nginx","-g","daemon off;"]
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user