all repos — go-lift @ main

Lightweight workout tracker prototype..

Dockerfile (view raw)

 1# syntax=docker/dockerfile:1
 2
 3FROM golang:1.24-alpine AS builder
 4
 5WORKDIR /build
 6
 7# Download Go modules
 8COPY go.mod go.sum ./
 9RUN go mod download
10
11# Transfer source code
12COPY *.go ./
13COPY templates ./templates
14COPY src ./src
15
16# Build
17RUN CGO_ENABLED=0 go build -trimpath -o /dist/go-lift
18
19# Test
20FROM build-stage AS run-test-stage
21RUN go test -v ./...
22
23FROM scratch AS build-release-stage
24
25WORKDIR /app
26
27COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
28COPY templates ./templates
29COPY static ./static
30COPY --from=builder /dist .
31
32ENTRYPOINT ["./go-lift"]