Fitnes-tracker/Dockerfile
2025-12-04 19:15:52 +01:00

34 lines
561 B
Docker

# Builder stage
FROM golang:1.2-bookworm AS builder
WORKDIR /app
COPY go.mod go.sum ./
RUN go mod download
COPY . .
# Build with CGO enabled for sqlite
RUN CGO_ENABLED=1 GOOS=linux GOARCH=amd64 go build -o fitness-app ./main.go
# Runtime stage
FROM debian:bookworm-slim
RUN useradd -m appuser
WORKDIR /app
COPY --from=builder /app/fitness-app /app/fitness-app
# External data dir for sqlite db
RUN mkdir -p /data && chown -R appuser:appuser /data
ENV DATABASE_URL=/data/fitness.db
USER appuser
EXPOSE 8080
VOLUME ["/data"]
CMD ["/app/fitness-app"]