diff --git a/.gitignore b/.gitignore index 63ea916..8b13789 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -/*/ + diff --git a/go/Dockerfile b/go/Dockerfile new file mode 100644 index 0000000..ae82556 --- /dev/null +++ b/go/Dockerfile @@ -0,0 +1,72 @@ +#Build stage +FROM golang:1.19-alpine3.16 AS build-env + +ARG GOPROXY +ENV GOPROXY ${GOPROXY:-https://goproxy.cn,direct} + +ARG GITEA_VERSION +ARG TAGS="sqlite sqlite_unlock_notify" +ENV TAGS "bindata timetzdata $TAGS" +ARG CGO_EXTRA_CFLAGS + +#Build deps +RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories \ + && apk --no-cache add build-base git nodejs npm + +#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 \ + && go env \ + && make clean-all build + +# Begin env-to-ini build +RUN go build contrib/environment-to-ini/environment-to-ini.go + +FROM alpine:3.16 +LABEL maintainer="maintainers@gitea.io" + +EXPOSE 22 3000 + +RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories \ + && apk --no-cache add \ + bash \ + ca-certificates \ + curl \ + gettext \ + git \ + linux-pam \ + openssh \ + s6 \ + sqlite \ + su-exec \ + gnupg + +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 + +ENV USER git +ENV GITEA_CUSTOM /data/gitea + +VOLUME ["/data"] + +ENTRYPOINT ["/usr/bin/entrypoint"] +CMD ["/bin/s6-svscan", "/etc/s6"] + +COPY docker/root / +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 +RUN chmod 755 /usr/bin/entrypoint /app/gitea/gitea /usr/local/bin/gitea /usr/local/bin/environment-to-ini +RUN chmod 755 /etc/s6/gitea/* /etc/s6/openssh/* /etc/s6/.s6-svscan/* +Powered by Gitea 当前版本: 1.19.0+dev-129-g5f38acd9a 页面: 65ms 模板: 3ms 许可证 API \ No newline at end of file