51 lines
1.1 KiB
Docker
51 lines
1.1 KiB
Docker
FROM golang:1.21-alpine3.19 AS build_deps
|
|
|
|
# Let scripts know we're running in Docker (useful for containerised development)
|
|
ENV RUNNING_IN_DOCKER true
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
ENV TZ="Africa/Johannesburg"
|
|
ENV WEBROOT=/webroot
|
|
|
|
RUN apk add --no-cache git
|
|
|
|
WORKDIR /workspace
|
|
|
|
COPY go.mod .
|
|
|
|
COPY go.sum .
|
|
|
|
RUN go mod download
|
|
|
|
FROM build_deps AS build
|
|
|
|
COPY . .
|
|
|
|
RUN CGO_ENABLED=0 go build -o webhook -ldflags '-w -extldflags "-static"' .
|
|
|
|
FROM alpine:3.19
|
|
|
|
RUN apk add --no-cache ca-certificates
|
|
|
|
RUN apk add --no-cache zsh bash bind-tools coreutils krb5 tcpdump
|
|
COPY ./config/zsh.sh /root/.zshrc
|
|
COPY ./config/bash.sh /root/.bashrc
|
|
|
|
RUN chown -R root:root /root/.zshrc && \
|
|
chown -R root:root /root/.bashrc && \
|
|
/bin/zsh /root/.zshrc
|
|
RUN apk add --no-cache alpine-conf && \
|
|
setup-timezone -z Africa/Johannesburg
|
|
|
|
ENV RUNNING_IN_DOCKER true
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
ENV TZ="Africa/Johannesburg"
|
|
ENV WEBROOT=/webroot
|
|
ENV ACMEDIR=/acme
|
|
ENV WORKDIR=/workdir
|
|
|
|
COPY --from=build /workspace/webhook /usr/local/bin/webhook
|
|
|
|
ENTRYPOINT ["webhook"]
|
|
|
|
|