* 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-archtags/v1.21.12.1
| @@ -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 | |||||
| @@ -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 | ||||
| @@ -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) . | |||||