mirror of
				https://github.com/juanfont/headscale.git
				synced 2025-10-28 10:51:44 +01:00 
			
		
		
		
	This commit makes several changes to the dockerfile: - Add go.mod and go.sum in a seperate stage, subsequently calling `go mod download` to make it cache dependencies and speed up builds - Use ubuntu:latest (28MB larger) instead of scratch, makes the image a lot easier to debug (e.g. it has a shell and a package manager) - Change ENTRYPOINT to CMD, this makes the behaviour of the image slightly different from a CLI perspective, but makes interacting with the image from code, docker-compose and kubernetes easier.
		
			
				
	
	
		
			20 lines
		
	
	
		
			417 B
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			20 lines
		
	
	
		
			417 B
		
	
	
	
		
			Docker
		
	
	
	
	
	
| FROM golang:latest AS build
 | |
| ENV GOPATH /go
 | |
| 
 | |
| COPY go.mod go.sum /go/src/headscale/
 | |
| WORKDIR /go/src/headscale
 | |
| RUN go mod download
 | |
| 
 | |
| COPY . /go/src/headscale
 | |
| 
 | |
| RUN go install -a -ldflags="-extldflags=-static" -tags netgo,sqlite_omit_load_extension ./cmd/headscale
 | |
| RUN test -e /go/bin/headscale
 | |
| 
 | |
| FROM ubuntu:latest
 | |
| 
 | |
| COPY --from=build /go/bin/headscale /usr/local/bin/headscale
 | |
| ENV TZ UTC
 | |
| 
 | |
| EXPOSE 8080/tcp
 | |
| CMD ["headscale"]
 |