# Dostalgia — Dockerized DOS game hub # ─── Build frontend ─────────────────────────────── FROM node:20-alpine AS frontend-builder WORKDIR /src COPY frontend/package.json frontend/package-lock.json ./ RUN npm install --legacy-peer-deps COPY frontend/ ./ RUN npm run build # ─── Build Go binary ───────────────────────────── FROM golang:1.23-alpine AS go-builder WORKDIR /src COPY go.mod ./ COPY *.go ./ COPY --from=frontend-builder /src/dist ./frontend/dist/ RUN CGO_ENABLED=0 go build -o /dostalgia . # ─── Runtime ───────────────────────────────────── FROM alpine:3.20 RUN apk add --no-cache ca-certificates tzdata COPY --from=go-builder /dostalgia /dostalgia VOLUME /data EXPOSE 8765 ENV DOSTALGIA_DATA=/data ENV PORT=8765 ENTRYPOINT ["/dostalgia"]