# Build stage
FROM golang:1.22-alpine AS builder

WORKDIR /build
COPY . .

RUN CGO_ENABLED=0 go build \
    -ldflags="-s -w" \
    -trimpath \
    -o nabarr \
    ./cmd/nabarr

# Runtime stage
FROM alpine:3.19

RUN apk add --no-cache ca-certificates tzdata su-exec

COPY --from=builder /build/nabarr /app/nabarr
COPY docker/entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh

ENV \
  APP_CONFIG="/config/config.yml" \
  APP_CACHE="/config/cache" \
  APP_LOG="/config/activity.log" \
  APP_VERBOSITY="0"

VOLUME ["/config"]

ENTRYPOINT ["/entrypoint.sh"]
CMD ["run"]
