summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAntoine GIRARD <sapk@users.noreply.github.com>2017-11-16 14:16:40 +0100
committerLauris BH <lauris@nix.lv>2017-11-16 15:16:40 +0200
commitdac0f14f349fc1e8e66928cc670dbc25f0e1f5bb (patch)
tree46b9d69d61e939f81a8bebab8bd74d66892fa6be
parent7c3e605698aded0c1a877ad9e8e43bd6b70c6f18 (diff)
downloadgitea-dac0f14f349fc1e8e66928cc670dbc25f0e1f5bb.tar.gz
gitea-dac0f14f349fc1e8e66928cc670dbc25f0e1f5bb.zip
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
-rw-r--r--Dockerfile1
-rw-r--r--Dockerfile.aarch6443
-rw-r--r--Dockerfile.rpi41
-rw-r--r--Makefile8
-rw-r--r--docker/Makefile11
5 files changed, 13 insertions, 91 deletions
diff --git a/Dockerfile b/Dockerfile
index 3db023ca3b..dba14d5794 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,5 +1,4 @@
FROM alpine:3.6
-
LABEL maintainer="The Gitea Authors"
EXPOSE 22 3000
diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64
deleted file mode 100644
index 5c6746d584..0000000000
--- a/Dockerfile.aarch64
+++ /dev/null
@@ -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"]
-
diff --git a/Dockerfile.rpi b/Dockerfile.rpi
deleted file mode 100644
index 17ff4430e5..0000000000
--- a/Dockerfile.rpi
+++ /dev/null
@@ -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
diff --git a/Makefile b/Makefile
index 4485986ffd..878c5e9057 100644
--- a/Makefile
+++ b/Makefile
@@ -15,7 +15,6 @@ else
endif
BINDATA := modules/{options,public,templates}/bindata.go
-DOCKER_TAG := gitea/gitea:latest
GOFILES := $(shell find . -name "*.go" -type f ! -path "./vendor/*" ! -path "*/bindata.go")
GOFMT ?= gofmt -s
@@ -56,6 +55,8 @@ else
endif
endif
+include docker/Makefile
+
.PHONY: all
all: build
@@ -229,11 +230,6 @@ build: $(EXECUTABLE)
$(EXECUTABLE): $(SOURCES)
$(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
release: release-dirs release-windows release-linux release-darwin release-copy release-check
diff --git a/docker/Makefile b/docker/Makefile
new file mode 100644
index 0000000000..08e0b43849
--- /dev/null
+++ b/docker/Makefile
@@ -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) .