35 lines
951 B
Docker
35 lines
951 B
Docker
FROM golang:1.20 AS BUILD
|
|
|
|
RUN apt-get update \
|
|
&& apt-get install -y make
|
|
|
|
COPY . /src
|
|
|
|
WORKDIR /src
|
|
|
|
RUN make GORELEASER_ARGS='build --rm-dist --single-target --snapshot' goreleaser
|
|
|
|
FROM busybox:latest AS RUNTIME
|
|
|
|
ARG DUMB_INIT_VERSION=1.2.5
|
|
|
|
RUN mkdir -p /usr/local/bin \
|
|
&& wget -O /usr/local/bin/dumb-init https://github.com/Yelp/dumb-init/releases/download/v${DUMB_INIT_VERSION}/dumb-init_${DUMB_INIT_VERSION}_x86_64 \
|
|
&& chmod +x /usr/local/bin/dumb-init
|
|
|
|
ENTRYPOINT ["/usr/local/bin/dumb-init", "--"]
|
|
|
|
RUN mkdir -p /usr/local/bin /usr/share/bouncer/bin /etc/bouncer
|
|
|
|
COPY --from=BUILD /src/dist/bouncer_linux_amd64_v1/bouncer /usr/share/bouncer/bin/bouncer
|
|
|
|
RUN ln -s /usr/share/bouncer/bin/bouncer /usr/local/bin/bouncer \
|
|
&& /usr/share/bouncer/bin/bouncer -c '' config dump > /etc/bouncer/config.yml
|
|
|
|
EXPOSE 8080
|
|
EXPOSE 8081
|
|
|
|
ENV BOUNCER_WORKDIR=/usr/share/bouncer
|
|
ENV BOUNCER_CONFIG=/etc/bouncer/config.yml
|
|
|
|
CMD ["bouncer"] |