Fix dockerfile

This commit is contained in:
Dejan R. 2025-12-04 19:15:52 +01:00
parent 796660c3cb
commit 7b82d9d71b

View file

@ -1,18 +1,32 @@
# 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 FROM debian:bookworm-slim
# (optional) install ca-certificates if needed RUN useradd -m appuser
RUN apt-get update && apt-get install -y ca-certificates && rm -rf /var/lib/apt/lists/*
WORKDIR /app WORKDIR /app
COPY --from=builder /app/fitness-app /app/fitness-app COPY --from=builder /app/fitness-app /app/fitness-app
# External data dir for sqlite db # External data dir for sqlite db
RUN mkdir -p /data RUN mkdir -p /data && chown -R appuser:appuser /data
ENV DATABASE_URL=/data/fitness.db ENV DATABASE_URL=/data/fitness.db
# DO NOT switch user -> run as root USER appuser
EXPOSE 8080 EXPOSE 8080
VOLUME ["/data"] VOLUME ["/data"]