mirror of
				https://github.com/juanfont/headscale.git
				synced 2025-10-28 10:51:44 +01:00 
			
		
		
		
	Revert "Topic/speedup build"
This commit is contained in:
		
							parent
							
								
									f9c4d577e2
								
							
						
					
					
						commit
						54e381cecb
					
				| @ -1,5 +1,5 @@ | |||||||
| # Builder image | # Builder image | ||||||
| FROM --platform=$BUILDPLATFORM docker.io/golang:1.18.0-bullseye AS build | FROM docker.io/golang:1.18.0-bullseye AS build | ||||||
| ARG VERSION=dev | ARG VERSION=dev | ||||||
| ENV GOPATH /go | ENV GOPATH /go | ||||||
| WORKDIR /go/src/headscale | WORKDIR /go/src/headscale | ||||||
| @ -8,8 +8,9 @@ COPY go.mod go.sum /go/src/headscale/ | |||||||
| RUN go mod download | RUN go mod download | ||||||
| 
 | 
 | ||||||
| COPY . . | COPY . . | ||||||
| ARG TARGETOS TARGETARCH | 
 | ||||||
| RUN CGO_ENABLED=0 GOOS=$TARGETOS GOARCH=$TARGETARCH go build -o /go/bin/headscale -ldflags="-s -w -X github.com/juanfont/headscale/cmd/headscale/cli.Version=$VERSION" -a ./cmd/headscale  | RUN CGO_ENABLED=0 GOOS=linux go install -ldflags="-s -w -X github.com/juanfont/headscale/cmd/headscale/cli.Version=$VERSION" -a ./cmd/headscale | ||||||
|  | RUN strip /go/bin/headscale | ||||||
| RUN test -e /go/bin/headscale | RUN test -e /go/bin/headscale | ||||||
| 
 | 
 | ||||||
| # Production image | # Production image | ||||||
|  | |||||||
| @ -1,5 +1,5 @@ | |||||||
| # Builder image | # Builder image | ||||||
| FROM --platform=$BUILDPLATFORM docker.io/golang:1.18.0-alpine AS build | FROM docker.io/golang:1.18.0-alpine AS build | ||||||
| ARG VERSION=dev | ARG VERSION=dev | ||||||
| ENV GOPATH /go | ENV GOPATH /go | ||||||
| WORKDIR /go/src/headscale | WORKDIR /go/src/headscale | ||||||
| @ -10,8 +10,8 @@ RUN go mod download | |||||||
| 
 | 
 | ||||||
| COPY . . | COPY . . | ||||||
| 
 | 
 | ||||||
| ARG TARGETOS TARGETARCH | RUN CGO_ENABLED=0 GOOS=linux go install -ldflags="-s -w -X github.com/juanfont/headscale/cmd/headscale/cli.Version=$VERSION" -a ./cmd/headscale | ||||||
| RUN CGO_ENABLED=0 GOOS=$TARGETOS GOARCH=$TARGETARCH go build -o /go/bin/headscale -ldflags="-s -w -X github.com/juanfont/headscale/cmd/headscale/cli.Version=$VERSION" -a ./cmd/headscale  | RUN strip /go/bin/headscale | ||||||
| RUN test -e /go/bin/headscale | RUN test -e /go/bin/headscale | ||||||
| 
 | 
 | ||||||
| # Production image | # Production image | ||||||
|  | |||||||
| @ -1,5 +1,5 @@ | |||||||
| # Builder image | # Builder image | ||||||
| FROM --platform=$BUILDPLATFORM docker.io/golang:1.18.0-bullseye AS build | FROM docker.io/golang:1.18.0-bullseye AS build | ||||||
| ARG VERSION=dev | ARG VERSION=dev | ||||||
| ENV GOPATH /go | ENV GOPATH /go | ||||||
| WORKDIR /go/src/headscale | WORKDIR /go/src/headscale | ||||||
| @ -9,7 +9,6 @@ RUN go mod download | |||||||
| 
 | 
 | ||||||
| COPY . . | COPY . . | ||||||
| 
 | 
 | ||||||
| ARG TARGETOS TARGETARCH |  | ||||||
| RUN CGO_ENABLED=0 GOOS=linux go install -ldflags="-s -w -X github.com/juanfont/headscale/cmd/headscale/cli.Version=$VERSION" -a ./cmd/headscale | RUN CGO_ENABLED=0 GOOS=linux go install -ldflags="-s -w -X github.com/juanfont/headscale/cmd/headscale/cli.Version=$VERSION" -a ./cmd/headscale | ||||||
| RUN test -e /go/bin/headscale | RUN test -e /go/bin/headscale | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -1,32 +0,0 @@ | |||||||
| # Build docker from scratch |  | ||||||
| 
 |  | ||||||
| The Dockerfiles included in the repository are using the [buildx plugin](https://docs.docker.com/buildx/working-with-buildx/). This plugin is includes in docker newer than Docker-ce CLI 19.03.2. The plugin is used to be able to build different container arches. Building the Dockerfiles without buildx is not possible. |  | ||||||
| 
 |  | ||||||
| # Build native |  | ||||||
| 
 |  | ||||||
| To build the container on the native arch you can just use: |  | ||||||
| ``` |  | ||||||
| $ sudo docker buildx build -t headscale:custom-arch . |  | ||||||
| ``` |  | ||||||
| 
 |  | ||||||
| For example: This will build a amd64(x86_64) container if your hostsystem is amd64(x86_64). Or a arm64 container on a arm64 hostsystem (raspberry pi4). |  | ||||||
| 
 |  | ||||||
| # Build cross platform |  | ||||||
| 
 |  | ||||||
| To build a arm64 container on a amd64 hostsystem you could use: |  | ||||||
| ``` |  | ||||||
| $ sudo docker buildx build --platform linux/arm64 -t headscale:custom-arm64 . |  | ||||||
| 
 |  | ||||||
| ``` |  | ||||||
| 
 |  | ||||||
| **Import: Currently arm32 build are not supported as there is a problem with a library used by headscale. Hopefully this will be fixed soon.** |  | ||||||
| 
 |  | ||||||
| # Build multiple arches |  | ||||||
| 
 |  | ||||||
| To build multiple archres you could use: |  | ||||||
| 
 |  | ||||||
| ``` |  | ||||||
| $ sudo docker buildx create --use |  | ||||||
| $ sudo docker buildx build --platform linux/amd64,linux/arm64 . |  | ||||||
| 
 |  | ||||||
| ``` |  | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user