Initial commit: Dostalgia — DOS game hub

- Go backend (single binary) with embedded Svelte frontend
- JSON-per-game storage (no database)
- .jsdos bundle creation on upload
- Dark phosphor-green theme (#33FF33)
- js-dos v8 emulator integration
- Sockdrive support for games >80MB
- IGDB placeholder for future artwork scraping
- Docker deployment ready
This commit is contained in:
David Alvarez
2026-05-23 11:18:41 +02:00
parent c3c154ec65
commit 1efd10f81f
24 changed files with 3314 additions and 2 deletions
+28
View File
@@ -0,0 +1,28 @@
# 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 ci 2>/dev/null || npm install
COPY frontend/ ./
RUN npm run build
# ─── Build Go binary ─────────────────────────────
FROM golang:1.23-alpine AS go-builder
WORKDIR /src
COPY go.mod go.sum ./
RUN go mod download 2>/dev/null || true
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"]