FROM golang:1.18.3-alpine3.16 AS base ENV APP_ROOT /opt/sfu ARG gid=1000 ARG uid=1000 RUN mkdir -p "$APP_ROOT" \ && addgroup --system sfu -g $gid \ && adduser -h "$APP_ROOT" --disabled-password --system -u $uid --ingroup sfu sfu \ && apk add curl~=7 WORKDIR "$APP_ROOT" USER sfu:sfu FROM base AS build COPY go.mod . COPY *.go ./ RUN go build \ && rm -r go.mod *.go FROM build AS run_prod ENTRYPOINT [ "/bin/sh", "-c", "$APP_ROOT/main"] FROM base AS run_dev ENTRYPOINT [ "/usr/local/go/bin/go", "run", "." ]