Something went wrong. Try again.
slides from July atproto.la meetup talk on an atmospheric cms
Something went wrong. Try again.
yes-another-cms Dockerfile
787 B · 22 lines
Dockerfile
at main
1234567891011121314151617181920212223# Build every talk and serve the result with nginx — the whole site is `dist/`# (an index page plus one Slidev SPA per talk), so nothing runs server-side# once the image is up. Coolify builds this on push and only swaps the# container if the build succeeds, same pattern as tyler.fun/chalky.town.
FROM node:24-alpine AS buildWORKDIR /app
# Pinned rather than left to corepack's default, matching the version the# lockfile was written with.RUN npm install --global pnpm@10.18.3
# Manifests first, so the install layer survives slide edits.COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./RUN pnpm install --frozen-lockfile
COPY . .RUN pnpm build
FROM nginx:1.27-alpineCOPY nginx.conf /etc/nginx/conf.d/default.confCOPY --from=build /app/dist /usr/share/nginx/html