diff --git a/Dockerfile b/Dockerfile index fa2ae9913c..1aa50e1337 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,86 +1,17 @@ -# Build stage -FROM docker.io/library/golang:1.24-alpine3.21 AS build-env +ADD alpine-minirootfs-3.21.3-x86_64.tar.gz / # buildkit +CMD ["/bin/sh"] -ARG GOPROXY -ENV GOPROXY=${GOPROXY:-direct} +EXPOSE map[22/tcp:{} 3000/tcp:{}] -ARG GITEA_VERSION -ARG TAGS="sqlite sqlite_unlock_notify" -ENV TAGS="bindata timetzdata $TAGS" -ARG CGO_EXTRA_CFLAGS - -# Build deps -RUN apk --no-cache add \ - build-base \ - git \ - nodejs \ - npm \ - && rm -rf /var/cache/apk/* - -# 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-all build - -# Begin env-to-ini build -RUN go build contrib/environment-to-ini/environment-to-ini.go - -# Copy local files -COPY docker/root /tmp/local - -# Set permissions -RUN chmod 755 /tmp/local/usr/bin/entrypoint \ - /tmp/local/usr/local/bin/gitea \ - /tmp/local/etc/s6/gitea/* \ - /tmp/local/etc/s6/openssh/* \ - /tmp/local/etc/s6/.s6-svscan/* \ - /go/src/code.gitea.io/gitea/gitea \ - /go/src/code.gitea.io/gitea/environment-to-ini -RUN chmod 644 /go/src/code.gitea.io/gitea/contrib/autocompletion/bash_autocomplete - -FROM docker.io/library/alpine:3.21 -LABEL maintainer="maintainers@gitea.io" - -EXPOSE 22 3000 - -RUN apk --no-cache add \ - bash \ - ca-certificates \ - curl \ - gettext \ - git \ - linux-pam \ - openssh \ - s6 \ - sqlite \ - su-exec \ - gnupg \ - && rm -rf /var/cache/apk/* - -RUN addgroup \ - -S -g 1000 \ - git && \ - adduser \ - -S -H -D \ - -h /data/git \ - -s /bin/bash \ - -u 1000 \ - -G git \ - git && \ - echo "git:*" | chpasswd -e +RUN /bin/sh -c apk --no-cache add bash ca-certificates curl gettext git linux-pam openssh s6 sqlite su-exec gnupg && rm -rf /var/cache/apk/* # buildkit +RUN /bin/sh -c addgroup -S -g 1000 git && adduser -S -H -D -h /data/git -s /bin/bash -u 1000 -G git git && echo "git:*" | chpasswd -e # buildkit ENV USER=git ENV GITEA_CUSTOM=/data/gitea - -VOLUME ["/data"] - +VOLUME [/data] ENTRYPOINT ["/usr/bin/entrypoint"] -CMD ["/usr/bin/s6-svscan", "/etc/s6"] - -COPY --from=build-env /tmp/local / -COPY --from=build-env /go/src/code.gitea.io/gitea/gitea /app/gitea/gitea -COPY --from=build-env /go/src/code.gitea.io/gitea/environment-to-ini /usr/local/bin/environment-to-ini -COPY --from=build-env /go/src/code.gitea.io/gitea/contrib/autocompletion/bash_autocomplete /etc/profile.d/gitea_bash_autocomplete.sh +CMD ["/usr/bin/s6-svscan" "/etc/s6"] +COPY /tmp/local / # buildkit +COPY /go/src/code.gitea.io/gitea/gitea /app/gitea/gitea # buildkit +COPY /go/src/code.gitea.io/gitea/environment-to-ini /usr/local/bin/environment-to-ini # buildkit +COPY /go/src/code.gitea.io/gitea/contrib/autocompletion/bash_autocomplete /etc/profile.d/gitea_bash_autocomplete.sh # buildkit \ No newline at end of file