72b1ee1d3d
Backend (Server.hs): - serveStaticOrSpa: serves static files from --static-dir - SPA fallback: extensionless paths serve index.html - MIME type mapping for html/css/js/png/svg/ico/woff2 Frontend: - ES module imports with import map for Mithril CDN - Build script: tsc + copy index.html + static assets CLI: - --static-dir flag (default: frontend/dist) - scripts/run passes through extra args - Dockerfile CMD points at /usr/local/share/sis/static
21 lines
647 B
Docker
21 lines
647 B
Docker
FROM debian:bookworm-slim
|
|
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
ca-certificates curl tini && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
# Build timestamp — read at runtime for diagnostics.
|
|
RUN mkdir -p /build && date -u '+%Y-%m-%d %H:%M UTC' > /build/build-time
|
|
|
|
ADD build/sis-server /usr/local/bin/sis-server
|
|
RUN chmod +x /usr/local/bin/sis-server
|
|
|
|
# Frontend SPA static files, served by sis-server via --static-dir.
|
|
ADD frontend/dist /usr/local/share/sis/static
|
|
|
|
ENTRYPOINT ["/usr/bin/tini", "-s", "--"]
|
|
|
|
EXPOSE 8080
|
|
|
|
CMD ["/usr/local/bin/sis-server", "--port", "8080", "--static-dir", "/usr/local/share/sis/static"]
|