mirror of
https://github.com/pommee/goaway.git
synced 2026-05-20 00:09:11 -05:00
37 lines
663 B
Docker
37 lines
663 B
Docker
FROM golang:1.23-alpine AS builder
|
|
|
|
ARG DNS_PORT
|
|
ARG WEBSITE_PORT
|
|
|
|
WORKDIR /app
|
|
|
|
COPY go.mod go.sum ./
|
|
RUN go mod download
|
|
|
|
RUN apk add --no-cache gcc musl-dev
|
|
|
|
COPY . .
|
|
RUN CGO_ENABLED=1 go build -trimpath -ldflags="-w -s" -o /goaway
|
|
|
|
FROM alpine:3.18
|
|
|
|
ARG DNS_PORT
|
|
ARG WEBSITE_PORT
|
|
|
|
RUN adduser -D appuser && \
|
|
apk add --no-cache libcap
|
|
|
|
WORKDIR /app
|
|
|
|
COPY --from=builder /goaway .
|
|
COPY settings.json /app
|
|
|
|
RUN chown -R appuser:appuser /app && \
|
|
setcap 'cap_net_bind_service=+ep' /app/goaway
|
|
|
|
EXPOSE ${DNS_PORT}/tcp ${DNS_PORT}/udp ${WEBSITE_PORT}/tcp
|
|
|
|
USER appuser
|
|
|
|
CMD ["sh", "-c", "/app/goaway --dnsport=${DNS_PORT} --webserverport=${WEBSITE_PORT}"]
|