mirror of
https://github.com/Quad4-Software/Reticulum-Go
synced 2026-08-29 23:48:44 -04:00
52 lines
1.2 KiB
Text
52 lines
1.2 KiB
Text
ARG GO_VERSION=1.26.6
|
|
FROM golang:${GO_VERSION}-alpine AS builder
|
|
|
|
ENV CGO_ENABLED=0
|
|
ENV GOOS=linux
|
|
ENV GOARCH=amd64
|
|
ENV GOFLAGS=-mod=vendor
|
|
ENV GOPROXY=off
|
|
|
|
WORKDIR /build
|
|
|
|
COPY go.mod go.sum ./
|
|
COPY vendor/ vendor/
|
|
|
|
COPY cmd/ cmd/
|
|
COPY internal/ internal/
|
|
COPY pkg/ pkg/
|
|
|
|
RUN go build \
|
|
-ldflags='-w -s -extldflags "-static"' \
|
|
-a -installsuffix cgo \
|
|
-o reticulum-go \
|
|
./cmd/reticulum-go
|
|
|
|
FROM busybox:1.37.0@sha256:870e815c3a50dd0f6b40efddb319c72c32c3ee340b5a3e8945904232ccd12f44
|
|
|
|
RUN adduser -D -s /bin/sh app
|
|
|
|
COPY --from=builder /build/reticulum-go /usr/local/bin/reticulum-go
|
|
COPY docker/speedtest/entrypoint.sh /usr/local/bin/speedtest-entrypoint.sh
|
|
COPY docker/speedtest/config /etc/reticulum-go/config.default
|
|
|
|
RUN chmod +x /usr/local/bin/reticulum-go /usr/local/bin/speedtest-entrypoint.sh \
|
|
&& mkdir -p /data/storage/identities \
|
|
&& chown -R app:app /data
|
|
|
|
USER app
|
|
WORKDIR /data
|
|
|
|
# TCPServerInterface default listen port
|
|
EXPOSE 4242/tcp
|
|
|
|
ENV RNS_CONFIG=/data \
|
|
SPEEDTEST_IFACE=all \
|
|
SPEEDTEST_BYTES=2097152 \
|
|
SPEEDTEST_ANNOUNCE=120 \
|
|
SPEEDTEST_JSON=1 \
|
|
SPEEDTEST_PORT=4242
|
|
|
|
VOLUME ["/data"]
|
|
|
|
ENTRYPOINT ["/usr/local/bin/speedtest-entrypoint.sh"]
|