You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							54 lines
						
					
					
						
							2.0 KiB
						
					
					
				
			
		
		
	
	
							54 lines
						
					
					
						
							2.0 KiB
						
					
					
				| 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/
 | |
| 
 | |
| # 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
 | |
| 
 | |
| # 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"] |