73 lines
2.2 KiB
Docker
73 lines
2.2 KiB
Docker
FROM alpine as certs
|
|
RUN apk update && apk add ca-certificates curl openssl bash
|
|
RUN curl -k https://forge.cadoles.com/Cadoles/Jenkins/raw/branch/master/resources/com/cadoles/common/add-letsencrypt-ca.sh | bash
|
|
|
|
#####################################
|
|
# Emissary Server #
|
|
#####################################
|
|
|
|
FROM golang:1.21 AS build-emissary-server
|
|
|
|
RUN apt-get update \
|
|
&& apt-get install -y make
|
|
|
|
COPY . /src
|
|
|
|
WORKDIR /src
|
|
|
|
RUN make mktools && make GORELEASER_ARGS="build --snapshot --clean --single-target --id emissary-server" goreleaser
|
|
|
|
FROM busybox:latest AS emissary-server
|
|
|
|
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", "--"]
|
|
|
|
COPY --from=build-emissary-server /src/dist/emissary-server_linux_amd64_v1 /app
|
|
COPY misc/docker/server.yml /etc/emissary/server.yml
|
|
COPY --from=certs /etc/ssl/certs /etc/ssl/certs
|
|
|
|
EXPOSE 3000
|
|
|
|
RUN mkdir -p /data
|
|
|
|
CMD [ "/app/emissary", "-c", "/etc/emissary/config.yml", "server", "run"]
|
|
|
|
#####################################
|
|
# Emissary Agent #
|
|
#####################################
|
|
|
|
FROM golang:1.21 AS build-emissary-agent
|
|
|
|
RUN apt-get update \
|
|
&& apt-get install -y make
|
|
|
|
COPY . /src
|
|
|
|
WORKDIR /src
|
|
|
|
RUN make mktools && make GORELEASER_ARGS="build --snapshot --clean --single-target --id emissary-agent" goreleaser
|
|
|
|
FROM busybox:latest AS emissary-agent
|
|
|
|
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", "--"]
|
|
|
|
COPY --from=build-emissary-agent /src/dist/emissary-agent_linux_amd64_v1 /app
|
|
|
|
COPY --chmod=777 misc/docker/docker-agent-wrapper.sh /usr/local/bin/docker-agent-wrapper
|
|
COPY misc/docker/agent.yml /etc/emissary/agent.yml
|
|
COPY --from=certs /etc/ssl/certs /etc/ssl/certs
|
|
|
|
RUN mkdir -p /data
|
|
|
|
CMD [ "/usr/local/bin/docker-agent-wrapper", "/app/emissary", "-c", "/etc/emissary/agent.yml", "agent", "run" ] |