aboutsummaryrefslogtreecommitdiff
path: root/Dockerfile
diff options
context:
space:
mode:
authorAntoine GIRARD2018-03-12 10:59:13 +0100
committerLauris BH2018-03-12 11:59:13 +0200
commit0e26db8bcd57a2b206894ccad7d2f5737a843eda (patch)
treec703f69be93155bd615865b3537a101286c72e03 /Dockerfile
parentb333e7129d26abb64cdd34e67e39cfe34fdf5bb1 (diff)
Docker multi-stage (#2927)
* Setup docker multi-stage and little sugar at it * Make codacy happy ? * Revert back to what the official docker documentation suggest Codacy don't seems to follow https://docs.docker.com/engine/reference/builder/#maintainer-deprecated * Update golang version
Diffstat (limited to 'Dockerfile')
-rw-r--r--Dockerfile38
1 files changed, 29 insertions, 9 deletions
diff --git a/Dockerfile b/Dockerfile
index a99f76bc3..8e3516418 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,20 +1,41 @@
+
+###################################
+#Build stage
+FROM golang:1.10-alpine3.7 AS build-env
+
+ARG GITEA_VERSION
+ARG TAGS="sqlite"
+ENV TAGS "bindata $TAGS"
+
+#Build deps
+RUN apk --no-cache add build-base git
+
+#Setup repo
+COPY . ${GOPATH}/src/code.gitea.io/gitea
+WORKDIR ${GOPATH}/src/code.gitea.io/gitea
+
+#Checkout version if set
+RUN if [ -n "${GITEA_VERSION}" ]; then git checkout "${GITEA_VERSION}"; fi \
+ && make clean generate build
+
FROM alpine:3.7
-LABEL maintainer="The Gitea Authors"
+LABEL maintainer="maintainers@gitea.io"
EXPOSE 22 3000
RUN apk --no-cache add \
- su-exec \
- ca-certificates \
- sqlite \
bash \
+ ca-certificates \
+ curl \
+ gettext \
git \
linux-pam \
- s6 \
- curl \
openssh \
- gettext \
+ s6 \
+ sqlite \
+ su-exec \
tzdata
+
RUN addgroup \
-S -g 1000 \
git && \
@@ -29,7 +50,6 @@ RUN addgroup \
ENV USER git
ENV GITEA_CUSTOM /data/gitea
-ENV GODEBUG=netdns=go
VOLUME ["/data"]
@@ -37,4 +57,4 @@ ENTRYPOINT ["/usr/bin/entrypoint"]
CMD ["/bin/s6-svscan", "/etc/s6"]
COPY docker /
-COPY gitea /app/gitea/gitea
+COPY --from=build-env /go/src/code.gitea.io/gitea/gitea /app/gitea/gitea