mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 16:40:24 +08:00 
			
		
		
		
	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:
		
				
					committed by
					
						
						Lauris BH
					
				
			
			
				
	
			
			
			
						parent
						
							7c3e605698
						
					
				
				
					commit
					dac0f14f34
				
			@@ -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) .
 | 
				
			||||||
		Reference in New Issue
	
	Block a user