23 lines
527 B
Docker
23 lines
527 B
Docker
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", "." ]
|