Explore the margin.at codebase, lexicons, and more! margin.at
at main 679 B view raw
1FROM node:20-alpine AS frontend-builder 2 3WORKDIR /app/web 4COPY web/package*.json ./ 5RUN npm ci 6COPY web/ ./ 7RUN npm run build 8 9FROM golang:1.24-alpine AS backend-builder 10 11RUN apk add --no-cache gcc musl-dev 12 13WORKDIR /app 14COPY backend/go.mod backend/go.sum ./ 15RUN go mod download 16 17COPY backend/ ./ 18RUN CGO_ENABLED=1 GOOS=linux go build -a -ldflags '-linkmode external -extldflags "-static"' -o margin-server ./cmd/server 19 20FROM alpine:3.19 21 22RUN apk add --no-cache ca-certificates tzdata 23 24WORKDIR /app 25 26COPY --from=backend-builder /app/margin-server . 27COPY --from=frontend-builder /app/web/dist ./dist 28 29ENV PORT=8080 30ENV DATABASE_URL=margin.db 31 32EXPOSE 8080 33 34CMD ["./margin-server"]