FROM golang:1.26-alpine AS builder WORKDIR /src COPY go.mod go.sum ./ RUN go mod download COPY cmd ./cmd COPY internal ./internal RUN CGO_ENABLED=0 GOOS=linux go build -trimpath -ldflags="-s -w" -o /out/notion-manager ./cmd/notion-manager FROM alpine:3.22 COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt RUN addgroup -g 1000 app \ && adduser -D -u 1000 -G app app WORKDIR /app COPY --from=builder --chown=app:app /out/notion-manager /app/notion-manager RUN mkdir -p /app/accounts && chown -R app:app /app ENV PORT=7860 \ TZ=UTC \ REQUIRE_SECRETS=true \ DEBUG_LOGGING=false \ API_LOG_INPUT=false \ API_LOG_OUTPUT=false \ NOTION_LOG_REQUEST=false \ NOTION_LOG_RESPONSE=false \ DUMP_API_INPUT=false EXPOSE 7860 USER app ENTRYPOINT ["/app/notion-manager"]