Fitnes-tracker/Dockerfile

34 lines
561 B
Docker
Raw Normal View History

2025-12-04 18:15:52 +00:00
# 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
2025-12-04 17:49:19 +00:00
FROM debian:bookworm-slim
2025-12-04 18:15:52 +00:00
RUN useradd -m appuser
2025-12-04 17:49:19 +00:00
WORKDIR /app
COPY --from=builder /app/fitness-app /app/fitness-app
# External data dir for sqlite db
2025-12-04 18:15:52 +00:00
RUN mkdir -p /data && chown -R appuser:appuser /data
2025-12-04 17:49:19 +00:00
ENV DATABASE_URL=/data/fitness.db
2025-12-04 18:15:52 +00:00
USER appuser
2025-12-04 17:49:19 +00:00
EXPOSE 8080
VOLUME ["/data"]
CMD ["/app/fitness-app"]