diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..1b6d919 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,5 @@ +smcli +tails +.git +.github + diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..3fef465 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,19 @@ +FROM debian:bullseye as build-stage +ARG GOLANG_INSTALL=https://go.dev/dl/go1.20.6.linux-amd64.tar.gz + +RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y build-essential libudev-dev ca-certificates curl + +RUN update-ca-certificates + +RUN curl -L ${GOLANG_INSTALL} | tar -C /usr/local -xzf - +ENV PATH="${PATH}:/usr/local/go/bin" + +RUN adduser --disabled-password --gecos '' spacemesh +COPY --chown=spacemesh . /home/spacemesh +USER spacemesh +WORKDIR /home/spacemesh + +RUN make build + +FROM scratch as export-stage +COPY --from=build-stage /home/spacemesh/smcli / diff --git a/Makefile b/Makefile index f2d4308..531faee 100644 --- a/Makefile +++ b/Makefile @@ -164,5 +164,9 @@ staticcheck: $(UNZIP_DEST) LD_LIBRARY_PATH=$(REAL_DEST) \ staticcheck ./... +.PHONY: tails +tails: + docker build -o tails . + clean: rm -rf $(UNZIP_DEST)