sfu/Dockerfile

23 lines
521 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
WORKDIR "$APP_ROOT"
USER sfu:sfu
FROM base AS build
COPY go.mod .
COPY main.go .
COPY logger.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", "." ]