Все проверки выполнены успешно
CI / test (push) Successful in 2m24s
Docker / Build and publish worker image (push) Successful in 13m24s
38 строки
1.1 KiB
Docker
38 строки
1.1 KiB
Docker
FROM golang:1-trixie AS builder
|
|
|
|
WORKDIR /src
|
|
|
|
COPY go.mod go.sum ./
|
|
RUN go mod download && go mod verify
|
|
|
|
COPY . .
|
|
|
|
ARG VERSION=dev
|
|
ARG COMMIT=unknown
|
|
ARG BUILD_DATE=unknown
|
|
RUN CGO_ENABLED=0 go build -trimpath \
|
|
-ldflags="-s -w -X main.version=${VERSION} -X main.commit=${COMMIT} -X main.buildDate=${BUILD_DATE}" \
|
|
-o /out/rsmon-worker ./cmd/rsmon-worker
|
|
|
|
FROM debian:13-slim
|
|
|
|
RUN DEBIAN_FRONTEND=noninteractive apt-get update \
|
|
&& apt-get install -y --no-install-recommends ca-certificates chromium tzdata \
|
|
&& rm -rf /var/lib/apt/lists/* \
|
|
&& groupadd --gid 10001 rsmon-worker \
|
|
&& useradd --uid 10001 --gid rsmon-worker --home-dir /var/lib/rsmon-worker --create-home --shell /usr/sbin/nologin rsmon-worker
|
|
|
|
COPY --from=builder /out/rsmon-worker /usr/local/bin/rsmon-worker
|
|
|
|
ENV HOME=/var/lib/rsmon-worker \
|
|
RSMON_WEBAPP_DATA_DIR=/var/lib/rsmon-worker/webapp
|
|
|
|
VOLUME ["/var/lib/rsmon-worker"]
|
|
EXPOSE 27401 37401
|
|
USER rsmon-worker
|
|
|
|
HEALTHCHECK --interval=30s --timeout=10s --start-period=10s --retries=3 \
|
|
CMD ["/usr/local/bin/rsmon-worker", "liveness"]
|
|
|
|
ENTRYPOINT ["/usr/local/bin/rsmon-worker"]
|