2021-10-26 17:35:18 -04:00
|
|
|
FROM bufbuild/buf:1.0.0-rc6 as buf
|
|
|
|
|
2021-09-13 14:03:03 -04:00
|
|
|
FROM golang:1.17.1-bullseye AS build
|
2021-06-17 00:27:40 -04:00
|
|
|
ENV GOPATH /go
|
2021-08-08 12:39:39 -04:00
|
|
|
|
2021-10-26 17:35:18 -04:00
|
|
|
COPY --from=buf /usr/local/bin/buf /usr/local/bin/buf
|
|
|
|
|
2021-08-08 12:39:39 -04:00
|
|
|
COPY go.mod go.sum /go/src/headscale/
|
2021-06-17 00:27:40 -04:00
|
|
|
WORKDIR /go/src/headscale
|
2021-08-08 12:39:39 -04:00
|
|
|
RUN go mod download
|
|
|
|
|
2021-10-26 17:35:18 -04:00
|
|
|
COPY . .
|
|
|
|
|
|
|
|
RUN go install \
|
|
|
|
github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-grpc-gateway \
|
|
|
|
github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2 \
|
|
|
|
google.golang.org/protobuf/cmd/protoc-gen-go \
|
|
|
|
google.golang.org/grpc/cmd/protoc-gen-go-grpc
|
|
|
|
|
|
|
|
RUN buf generate proto
|
2021-08-08 12:39:39 -04:00
|
|
|
|
2021-06-17 00:27:40 -04:00
|
|
|
RUN go install -a -ldflags="-extldflags=-static" -tags netgo,sqlite_omit_load_extension ./cmd/headscale
|
|
|
|
RUN test -e /go/bin/headscale
|
|
|
|
|
2021-08-26 04:23:45 -04:00
|
|
|
FROM ubuntu:20.04
|
2021-08-08 12:39:39 -04:00
|
|
|
|
2021-10-22 12:56:23 -04:00
|
|
|
RUN apt-get update \
|
|
|
|
&& apt-get install -y ca-certificates \
|
|
|
|
&& update-ca-certificates \
|
|
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
|
2021-08-08 12:39:39 -04:00
|
|
|
COPY --from=build /go/bin/headscale /usr/local/bin/headscale
|
2021-06-17 00:27:40 -04:00
|
|
|
ENV TZ UTC
|
2021-08-08 12:39:39 -04:00
|
|
|
|
2021-06-17 00:27:40 -04:00
|
|
|
EXPOSE 8080/tcp
|
2021-08-08 12:39:39 -04:00
|
|
|
CMD ["headscale"]
|