Initial project skeleton
Haskell backend: Orb HTTP framework, JSON-only API Frontend: Mithril.js SPA with TypeScript, Neo Brutalism CSS Dockerized build via flipstone/haskell-tools image Routes: GET /api/health — health check Build: ./hs stack build Test: ./hs stack test Run: ./scripts/run
This commit is contained in:
+21
@@ -0,0 +1,21 @@
|
||||
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 static files are served separately (e.g. nginx, CDN, or
|
||||
# a simple static file server). In development, use `npx serve`.
|
||||
ADD frontend/dist /usr/local/share/sis/static
|
||||
|
||||
ENTRYPOINT ["/usr/bin/tini", "-s", "--"]
|
||||
|
||||
EXPOSE 8080
|
||||
|
||||
CMD ["/usr/local/bin/sis-server", "--port", "8080"]
|
||||
Reference in New Issue
Block a user