···11+FROM node:22-alpine AS build
22+WORKDIR /app
33+COPY package.json package-lock.json ./
44+RUN npm ci
55+COPY . .
66+RUN npm run build
77+88+FROM nginx:alpine
99+COPY --from=build /app/dist /usr/share/nginx/html
1010+EXPOSE 80
+27
website/README.md
···11+# Switchyard Website
22+33+Landing page for [Switchyard](https://github.com/alyraffauf/switchyard), a rules-based URL router for Linux.
44+55+Built with React + Vite. Published as a container image to `ghcr.io/alyraffauf/switchyard-website`.
66+77+## Development
88+99+```bash
1010+npm install
1111+npm run dev
1212+```
1313+1414+## Build
1515+1616+```bash
1717+npm run build
1818+```
1919+2020+Outputs to `dist/`.
2121+2222+## Container
2323+2424+```bash
2525+docker build -t switchyard-website .
2626+docker run --rm -p 8080:80 switchyard-website
2727+```