mirror of
				https://codeberg.org/forgejo/forgejo.git
				synced 2025-10-30 22:11:07 +00:00 
			
		
		
		
	(cherry picked from commitdd1971d4e6) (cherry picked from commit3981dbaf8c) (cherry picked from commitb6ae4ba255) (cherry picked from commite91c7e1fb6) (cherry picked from commit7639646fb5) (cherry picked from commit737c6afa4a)
		
			
				
	
	
		
			70 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			70 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
| #Build stage
 | |
| FROM golang:1.20-alpine3.17 AS build-env
 | |
| 
 | |
| ARG GOPROXY
 | |
| ENV GOPROXY ${GOPROXY:-direct}
 | |
| 
 | |
| 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
 | |
| 
 | |
| #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
 | |
| 
 | |
| FROM alpine:3.17
 | |
| LABEL maintainer="contact@forgejo.org"
 | |
| 
 | |
| EXPOSE 22 3000
 | |
| 
 | |
| RUN 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
 | |
| COPY --from=build-env /go/src/code.gitea.io/gitea/contrib/autocompletion/bash_autocomplete /etc/profile.d/gitea_bash_autocomplete.sh
 | |
| 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/*
 | |
| RUN chmod 644 /etc/profile.d/gitea_bash_autocomplete.sh
 |