Docker multi-arch base (#1985)
* Create docker/manifest/base.yml serve as base for build docker image for most platform (386,amd64,arm,arm64) * Add make task docker-multi-arch-push-manifest To update references of a multi-arch image on docker registry. * Use SED_INPLACE generic sed command * Delete Dockerfile.aarch64 Delete Dockerfile.rpi * Use gitea/gitea-base as base and replace deprecated MAINTAINER by LABEL (https://docs.docker.com/engine/reference/builder/#maintainer-deprecated) * Fix rebase * Use sapk/gitea-base as base * Split makefile for docker * Fix version to v3.6 Could use in later version edge of alpine official library that support multi-arch for armhf. * Remove sapk/gitea-base and use directly new official alpine multi-arch
This commit is contained in:
		
							parent
							
								
									7c3e605698
								
							
						
					
					
						commit
						dac0f14f34
					
				
					 5 changed files with 13 additions and 91 deletions
				
			
		|  | @ -1,5 +1,4 @@ | ||||||
| FROM alpine:3.6 | FROM alpine:3.6 | ||||||
| 
 |  | ||||||
| LABEL maintainer="The Gitea Authors" | LABEL maintainer="The Gitea Authors" | ||||||
| 
 | 
 | ||||||
| EXPOSE 22 3000 | EXPOSE 22 3000 | ||||||
|  |  | ||||||
|  | @ -1,43 +0,0 @@ | ||||||
| FROM multiarch/alpine:aarch64-v3.6 |  | ||||||
| 
 |  | ||||||
| LABEL maintainer="The Gitea Authors" |  | ||||||
| 
 |  | ||||||
| EXPOSE 22 3000 |  | ||||||
| 
 |  | ||||||
| RUN apk --no-cache add \ |  | ||||||
|     su-exec \ |  | ||||||
|     ca-certificates \ |  | ||||||
|     sqlite \ |  | ||||||
|     bash \ |  | ||||||
|     git \ |  | ||||||
|     linux-pam \ |  | ||||||
|     s6 \ |  | ||||||
|     curl \ |  | ||||||
|     openssh \ |  | ||||||
|     gettext \ |  | ||||||
|     tzdata |  | ||||||
| RUN addgroup \ |  | ||||||
|     -S -g 1000 \ |  | ||||||
|     git && \ |  | ||||||
|   adduser \ |  | ||||||
|     -S -H -D \ |  | ||||||
|     -h /data/git \ |  | ||||||
|     -s /bin/bash \ |  | ||||||
|     -u 1000 \ |  | ||||||
|     -G git \ |  | ||||||
|     git && \ |  | ||||||
|   echo "git:$(dd if=/dev/urandom bs=24 count=1 status=none | base64)" | chpasswd |  | ||||||
| 
 |  | ||||||
| ENV USER git |  | ||||||
| ENV GITEA_CUSTOM /data/gitea |  | ||||||
| 
 |  | ||||||
| COPY docker / |  | ||||||
| COPY gitea /app/gitea/gitea |  | ||||||
| 
 |  | ||||||
| ENV GODEBUG=netdns=go |  | ||||||
| 
 |  | ||||||
| VOLUME ["/data"] |  | ||||||
| 
 |  | ||||||
| ENTRYPOINT ["/usr/bin/entrypoint"] |  | ||||||
| CMD ["/bin/s6-svscan", "/etc/s6"] |  | ||||||
| 
 |  | ||||||
|  | @ -1,41 +0,0 @@ | ||||||
| FROM multiarch/alpine:armhf-v3.6 |  | ||||||
| 
 |  | ||||||
| LABEL maintainer="The Gitea Authors" |  | ||||||
| 
 |  | ||||||
| EXPOSE 22 3000 |  | ||||||
| 
 |  | ||||||
| RUN apk --no-cache add \ |  | ||||||
|     su-exec \ |  | ||||||
|     ca-certificates \ |  | ||||||
|     sqlite \ |  | ||||||
|     bash \ |  | ||||||
|     git \ |  | ||||||
|     linux-pam \ |  | ||||||
|     s6 \ |  | ||||||
|     curl \ |  | ||||||
|     openssh \ |  | ||||||
|     gettext \ |  | ||||||
|     tzdata |  | ||||||
| RUN addgroup \ |  | ||||||
|     -S -g 1000 \ |  | ||||||
|     git && \ |  | ||||||
|   adduser \ |  | ||||||
|     -S -H -D \ |  | ||||||
|     -h /data/git \ |  | ||||||
|     -s /bin/bash \ |  | ||||||
|     -u 1000 \ |  | ||||||
|     -G git \ |  | ||||||
|     git && \ |  | ||||||
|   echo "git:$(dd if=/dev/urandom bs=24 count=1 status=none | base64)" | chpasswd |  | ||||||
| 
 |  | ||||||
| ENV USER git |  | ||||||
| ENV GITEA_CUSTOM /data/gitea |  | ||||||
| ENV GODEBUG=netdns=go |  | ||||||
| 
 |  | ||||||
| VOLUME ["/data"] |  | ||||||
| 
 |  | ||||||
| ENTRYPOINT ["/usr/bin/entrypoint"] |  | ||||||
| CMD ["/bin/s6-svscan", "/etc/s6"] |  | ||||||
| 
 |  | ||||||
| COPY docker / |  | ||||||
| COPY gitea /app/gitea/gitea |  | ||||||
							
								
								
									
										8
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								Makefile
									
									
									
									
									
								
							|  | @ -15,7 +15,6 @@ else | ||||||
| endif | endif | ||||||
| 
 | 
 | ||||||
| BINDATA := modules/{options,public,templates}/bindata.go | BINDATA := modules/{options,public,templates}/bindata.go | ||||||
| DOCKER_TAG := gitea/gitea:latest |  | ||||||
| GOFILES := $(shell find . -name "*.go" -type f ! -path "./vendor/*" ! -path "*/bindata.go") | GOFILES := $(shell find . -name "*.go" -type f ! -path "./vendor/*" ! -path "*/bindata.go") | ||||||
| GOFMT ?= gofmt -s | GOFMT ?= gofmt -s | ||||||
| 
 | 
 | ||||||
|  | @ -56,6 +55,8 @@ else | ||||||
| 	endif | 	endif | ||||||
| endif | endif | ||||||
| 
 | 
 | ||||||
|  | include docker/Makefile | ||||||
|  | 
 | ||||||
| .PHONY: all | .PHONY: all | ||||||
| all: build | all: build | ||||||
| 
 | 
 | ||||||
|  | @ -229,11 +230,6 @@ build: $(EXECUTABLE) | ||||||
| $(EXECUTABLE): $(SOURCES) | $(EXECUTABLE): $(SOURCES) | ||||||
| 	$(GO) build $(GOFLAGS) $(EXTRA_GOFLAGS) -tags '$(TAGS)' -ldflags '-s -w $(LDFLAGS)' -o $@ | 	$(GO) build $(GOFLAGS) $(EXTRA_GOFLAGS) -tags '$(TAGS)' -ldflags '-s -w $(LDFLAGS)' -o $@ | ||||||
| 
 | 
 | ||||||
| .PHONY: docker |  | ||||||
| docker: |  | ||||||
| 	docker run -ti --rm -v $(CURDIR):/srv/app/src/code.gitea.io/gitea -w /srv/app/src/code.gitea.io/gitea -e TAGS="bindata $(TAGS)" webhippie/golang:edge make clean generate build |  | ||||||
| 	docker build -t $(DOCKER_TAG) . |  | ||||||
| 
 |  | ||||||
| .PHONY: release | .PHONY: release | ||||||
| release: release-dirs release-windows release-linux release-darwin release-copy release-check | release: release-dirs release-windows release-linux release-darwin release-copy release-check | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
							
								
								
									
										11
									
								
								docker/Makefile
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								docker/Makefile
									
									
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,11 @@ | ||||||
|  | #Makefile related to docker
 | ||||||
|  | 
 | ||||||
|  | DOCKER_IMAGE ?= gitea/gitea | ||||||
|  | DOCKER_TAG ?= latest | ||||||
|  | DOCKER_REF := $(DOCKER_IMAGE):$(DOCKER_TAG) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | .PHONY: docker | ||||||
|  | docker: | ||||||
|  | 	docker run -ti --rm -v $(CURDIR):/srv/app/src/code.gitea.io/gitea -w /srv/app/src/code.gitea.io/gitea -e TAGS="bindata $(TAGS)" webhippie/golang:edge make clean generate build | ||||||
|  | 	docker build -t $(DOCKER_REF) . | ||||||
		Loading…
	
		Reference in a new issue