#1521 reduce Docker image size
	
		
	
				
					
				
			
							parent
							
								
									c256fc4438
								
							
						
					
					
						commit
						be90ea583a
					
				| @ -0,0 +1,12 @@ | ||||
| .git/* | ||||
| conf/* | ||||
| packager/* | ||||
| scripts/* | ||||
| *.yml | ||||
| *.md | ||||
| .bra.toml | ||||
| .editorconfig | ||||
| .gitignore | ||||
| .gopmfile | ||||
| config.codekit | ||||
| LICENSE | ||||
| @ -1,39 +1,54 @@ | ||||
| FROM google/golang:latest | ||||
| MAINTAINER codeskyblue@gmail.com | ||||
| 
 | ||||
| RUN echo "deb http://ftp.debian.org/debian/ wheezy-backports main" >> /etc/apt/sources.list | ||||
| RUN apt-get update | ||||
| RUN apt-get install -y openssh-server rsync libpam-dev | ||||
| 
 | ||||
| # set the working directory and add current stuff | ||||
| COPY  . /gopath/src/github.com/gogits/gogs/ | ||||
| FROM google/debian:wheezy | ||||
| MAINTAINER u@gogs.io | ||||
| 
 | ||||
| RUN echo "deb http://ftp.debian.org/debian/ wheezy-backports main" >> /etc/apt/sources.list && \ | ||||
| 	apt-get update -qqy && \ | ||||
| 	apt-get install --no-install-recommends -qqy \ | ||||
| 	curl build-essential ca-certificates git \  | ||||
| 	openssh-server rsync libpam-dev && \ | ||||
| 	apt-get autoclean && \ | ||||
|     apt-get autoremove && \ | ||||
|     rm -rf /var/lib/apt/lists/* | ||||
| 
 | ||||
| ENV GOROOT /goroot | ||||
| ENV GOPATH /gopath | ||||
| ENV PATH $PATH:$GOROOT/bin:$GOPATH/bin | ||||
| 
 | ||||
| COPY . /gopath/src/github.com/gogits/gogs/ | ||||
| WORKDIR /gopath/src/github.com/gogits/gogs/ | ||||
| 
 | ||||
| RUN go get -v -tags "sqlite redis memcache cert pam" | ||||
| RUN go build -tags "sqlite redis memcache cert pam" | ||||
| # Build binary and clean up useless files | ||||
| RUN mkdir /goroot && \ | ||||
| 	curl https://storage.googleapis.com/golang/go1.5.linux-amd64.tar.gz | tar xzf - -C /goroot --strip-components=1 && \ | ||||
| 	go get -v -tags "sqlite redis memcache cert pam" && \ | ||||
| 	go build -tags "sqlite redis memcache cert pam" && \ | ||||
| 	mkdir /app/ && \ | ||||
| 	mv /gopath/src/github.com/gogits/gogs/ /app/gogs/ && \ | ||||
| 	rm -r $GOROOT $GOPATH | ||||
| 
 | ||||
| WORKDIR /app/gogs/ | ||||
| 
 | ||||
| RUN useradd --shell /bin/bash --system --comment gogits git | ||||
| 
 | ||||
| RUN mkdir /var/run/sshd | ||||
| # SSH login fix. Otherwise user is kicked off after login | ||||
| RUN sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd | ||||
| RUN sed 's@UsePrivilegeSeparation yes@UsePrivilegeSeparation no@' -i /etc/ssh/sshd_config | ||||
| RUN echo "export VISIBLE=now" >> /etc/profile | ||||
| RUN echo "PermitUserEnvironment yes" >> /etc/ssh/sshd_config | ||||
| 
 | ||||
| # setup server keys on startup | ||||
| RUN sed 's@^HostKey@\#HostKey@' -i /etc/ssh/sshd_config | ||||
| RUN echo "HostKey /data/ssh/ssh_host_key" >> /etc/ssh/sshd_config | ||||
| RUN echo "HostKey /data/ssh/ssh_host_rsa_key" >> /etc/ssh/sshd_config | ||||
| RUN echo "HostKey /data/ssh/ssh_host_dsa_key" >> /etc/ssh/sshd_config | ||||
| RUN echo "HostKey /data/ssh/ssh_host_ecdsa_key" >> /etc/ssh/sshd_config | ||||
| RUN echo "HostKey /data/ssh/ssh_host_ed25519_key" >> /etc/ssh/sshd_config | ||||
| 
 | ||||
| # prepare data | ||||
| #ENV USER="git" HOME="/home/git" | ||||
| # SSH login fix, otherwise user is kicked off after login | ||||
| RUN mkdir /var/run/sshd && \ | ||||
| 	sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd && \ | ||||
| 	sed 's@UsePrivilegeSeparation yes@UsePrivilegeSeparation no@' -i /etc/ssh/sshd_config && \ | ||||
| 	echo "export VISIBLE=now" >> /etc/profile && \ | ||||
| 	echo "PermitUserEnvironment yes" >> /etc/ssh/sshd_config | ||||
| 
 | ||||
| # Setup server keys on startup | ||||
| RUN sed 's@^HostKey@\#HostKey@' -i /etc/ssh/sshd_config && \ | ||||
| 	echo "HostKey /data/ssh/ssh_host_key" >> /etc/ssh/sshd_config && \ | ||||
| 	echo "HostKey /data/ssh/ssh_host_rsa_key" >> /etc/ssh/sshd_config && \ | ||||
| 	echo "HostKey /data/ssh/ssh_host_dsa_key" >> /etc/ssh/sshd_config && \ | ||||
| 	echo "HostKey /data/ssh/ssh_host_ecdsa_key" >> /etc/ssh/sshd_config && \ | ||||
| 	echo "HostKey /data/ssh/ssh_host_ed25519_key" >> /etc/ssh/sshd_config | ||||
| 
 | ||||
| # Prepare data | ||||
| ENV GOGS_CUSTOM /data/gogs | ||||
| RUN echo "export GOGS_CUSTOM=/data/gogs" >> /etc/profile | ||||
| 
 | ||||
| EXPOSE 22 3000 | ||||
| ENTRYPOINT [] | ||||
| CMD ["./docker/start.sh"] | ||||
| CMD ["./docker/start.sh"] | ||||
					Loading…
					
					
				
		Reference in new issue