Neale Pickett
·
2025-06-29
Dockerfile
1FROM alpine:latest AS docbuilder
2RUN apk --no-cache add groff ghostscript pandoc
3COPY docs/ docs/
4RUN pandoc --pdf-engine=pdfroff -o programming.pdf docs/programming.md
5RUN pandoc --pdf-engine=pdfroff -o assembly.pdf docs/assembly.md
6RUN pandoc --pdf-engine=pdfroff -o manual.pdf docs/manual.md
7RUN pandoc --pdf-engine=pdfroff -o buddy-guide.pdf docs/buddy-guide.md
8
9FROM golang:1.24 AS builder
10WORKDIR /build
11
12RUN mkdir state web
13RUN wget --directory-prefix web https://micropython.org/resources/firmware/ESP32_GENERIC_C3-20250415-v1.25.0.bin
14
15COPY betsyd.go .
16RUN CGO_ENABLED=0 GOOS=linux go build ./betsyd.go
17
18COPY web/* web/
19COPY --from=docbuilder *.pdf web/
20
21
22FROM scratch
23COPY --from=builder /build /
24ENTRYPOINT [ "./betsyd" ]