An independent rebuild of the 1971 starship patrol game. Eight by eight quadrants of eight by eight sectors, three digits a quadrant on the chart, courses round a nine-point compass, and a stardate clock that is the real opponent. The name and the nouns are ours and NOTICE.md says why: the mechanics are free to rebuild, the trademarks are not. Raiders rather than the enemy from the television programme, beams rather than the energy weapon, and every sentence the machine prints written for this project rather than borrowed from a listing. This is the 1971 skin only -- paper, ink and a print head. The remaster and the synth come next, and the tokens and the structured transcript are already shaped for them.
21 lines
721 B
Docker
21 lines
721 B
Docker
# The game is a static bundle. It is built here and served by nginx, in its own
|
|
# container - it shares nothing with the scores service but the domain.
|
|
FROM node:26-alpine AS build
|
|
WORKDIR /app
|
|
COPY package.json package-lock.json ./
|
|
RUN npm ci
|
|
COPY tsconfig*.json vite.config.ts index.html ./
|
|
COPY public ./public
|
|
COPY src ./src
|
|
# Must match where the host proxies it, or the asset URLs will be wrong.
|
|
ARG BASE_PATH=/scan/
|
|
ENV BASE_PATH=${BASE_PATH}
|
|
RUN npm run build
|
|
|
|
FROM nginx:alpine
|
|
COPY web/nginx.conf /etc/nginx/conf.d/default.conf
|
|
COPY --from=build /app/dist /usr/share/nginx/html
|
|
EXPOSE 8080
|
|
HEALTHCHECK --interval=30s --timeout=3s --retries=3 \
|
|
CMD wget -qO- http://127.0.0.1:8080/healthz >/dev/null || exit 1
|