FROM golang:1.26.1-alpine3.23

RUN apk update && apk upgrade && apk add --no-cache curl libwebp-dev alpine-sdk vips-dev git

ARG UID=1000
ARG GID=1000
ARG HOME=/home/app
ARG WORKDIR=/app

ENV USR=app
ENV GRP=app
ENV GOPATH=${HOME}/bin
ENV PATH=$PATH:$GOPATH:$GOPATH/bin

RUN addgroup --gid "${GID}" "${GRP}"
RUN adduser \
    -S \
    -u "${UID}" \
    -g "${GID}" \
    -D "${GRP}" \
   -h /home/app \
    "${USR}" 
RUN mkdir ${WORKDIR}
RUN chown -R ${USR}:${GRP} ${WORKDIR}

USER ${USR}

WORKDIR ${WORKDIR}

RUN go install github.com/air-verse/air@v1.64.5

RUN go install github.com/swaggo/swag/cmd/swag@v1.16.6

RUN go install github.com/pressly/goose/v3/cmd/goose@v3.26.0

RUN export CGO_ENABLED=1

# RUN go install github.com/stripe/stripe-cli@latest
ENTRYPOINT air
