mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-11-03 08:02:36 +09:00 
			
		
		
		
	Merge branch 'master' of github.com:gogits/gogs into dev
This commit is contained in:
		
							
								
								
									
										57
									
								
								dockerfiles/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								dockerfiles/README.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,57 @@
 | 
				
			|||||||
 | 
					### Gogs Install With Docker
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Deply gogs in [Docker](http://www.docker.io/) is just as easy as eating a pie, what you do is just open the `dockerfiles/build.sh` file, replace the confis:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					MYSQL_PASSWORD="YOUR_MYSQL_PASSWORD"
 | 
				
			||||||
 | 
					MYSQL_RUN_NAME="YOUR_MYSQL_RUN_NAME"
 | 
				
			||||||
 | 
					HOST_PORT="YOUR_HOST_PORT"
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					And run:
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					cd dockerfiles
 | 
				
			||||||
 | 
					./build.sh
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The build might take some time, just be paient. After it finishes, you will receive the message:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					Now we have the MySQL image(running) and gogs image, use the follow command to start gogs service( the content might be different, according to your own configs):
 | 
				
			||||||
 | 
					 docker run -i -t --link gogs_mysql:db -p 3333:3000 gogs/gogits
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Just follow the message, run:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					 docker run -i -t --link gogs_mysql:db -p 3333:3000 gogs/gogits
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Now we have gogs running! Open the browser and navigate to:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					http://YOUR_HOST_IP:YOUR_HOST_PORT
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Let's 'gogs'!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### Gogs With MySQL
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### Gogs With PostgreSQL
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### Gogs, MySQL With Redis
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### Gogs, MySQL With Memcached
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### Gogs, PostgreSQL With Redis
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### Gogs, PostgreSQL With Memcached
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										25
									
								
								dockerfiles/build.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										25
									
								
								dockerfiles/build.sh
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,25 @@
 | 
				
			|||||||
 | 
					# Configs of the docker images, you might have specify your own configs here.
 | 
				
			||||||
 | 
					MYSQL_PASSWORD="YOUR_MYSQL_PASSWORD"
 | 
				
			||||||
 | 
					MYSQL_RUN_NAME="YOUR_MYSQL_RUN_NAME"
 | 
				
			||||||
 | 
					HOST_PORT="YOUR_HOST_PORT"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Replace the mysql root password in MySQL image Dockerfile.
 | 
				
			||||||
 | 
					sed -i "s/THE_MYSQL_PASSWORD/$MYSQL_PASSWORD/g" images/mysql/Dockerfile
 | 
				
			||||||
 | 
					# Replace the mysql root password in gogits image Dockerfile.
 | 
				
			||||||
 | 
					sed -i "s/THE_MYSQL_PASSWORD/$MYSQL_PASSWORD/g" images/gogits/deploy.sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Build the MySQL image
 | 
				
			||||||
 | 
					cd images/mysql
 | 
				
			||||||
 | 
					docker build -t gogs/mysql .
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					## Build the gogits image
 | 
				
			||||||
 | 
					cd ../gogits
 | 
				
			||||||
 | 
					docker build -t gogs/gogits .
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					## Run MySQL image with name
 | 
				
			||||||
 | 
					docker run -d --name $MYSQL_RUN_NAME gogs/mysql
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					## Run gogits image and link it to the MySQL image
 | 
				
			||||||
 | 
					echo "Now we have the MySQL image(running) and gogs image, use the follow command to start gogs service:"
 | 
				
			||||||
 | 
					echo -e "\033[33m docker run -i -t --link $MYSQL_RUN_NAME:db -p $HOST_PORT:3000 gogs/gogits \033[0m"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										27
									
								
								dockerfiles/build.sh.bak
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										27
									
								
								dockerfiles/build.sh.bak
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,27 @@
 | 
				
			|||||||
 | 
					# Configs
 | 
				
			||||||
 | 
					MYSQL_PASSWORD="YOUR_MYSQL_PASSWORD"
 | 
				
			||||||
 | 
					MYSQL_RUN_NAME="YOUR_MYSQL_RUN_NAME"
 | 
				
			||||||
 | 
					typeset -u MYSQL_ALIAS
 | 
				
			||||||
 | 
					MYSQL_ALIAS="YOUR_MYSQL_ALIAS"
 | 
				
			||||||
 | 
					HOST_PORT="YOUR_HOST_PORT"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Replace the mysql root password in MySQL image Dockerfile.
 | 
				
			||||||
 | 
					sed -i "s/THE_MYSQL_PASSWORD/$MYSQL_PASSWORD/g" images/mysql/Dockerfile
 | 
				
			||||||
 | 
					# Replace the mysql root password in gogits image Dockerfile.
 | 
				
			||||||
 | 
					sed -i "s/THE_MYSQL_PASSWORD/$MYSQL_PASSWORD/g" images/gogits/Dockerfile
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Build the MySQL image
 | 
				
			||||||
 | 
					cd images/mysql
 | 
				
			||||||
 | 
					docker build -i gogs/mysql .
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Build the gogits image
 | 
				
			||||||
 | 
					cd images/gogits
 | 
				
			||||||
 | 
					docker build -i gogs/gogits .
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Run MySQL image with name
 | 
				
			||||||
 | 
					docker run -d --name $MYSQL_RUN_NAME gogs/mysql
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Run gogits image and link it to the MySQL image
 | 
				
			||||||
 | 
					docker run --link $MYSQL_RUN_NAME:$MYSQL_ALIAS -p $HOST_PORT:3000 gogs/gogits
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										33
									
								
								dockerfiles/images/gogits/Dockerfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								dockerfiles/images/gogits/Dockerfile
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,33 @@
 | 
				
			|||||||
 | 
					FROM stackbrew/ubuntu:13.10
 | 
				
			||||||
 | 
					MAINTAINER  Meaglith Ma <genedna@gmail.com> (@genedna)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ENV DEBIAN_FRONTEND noninteractive
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN echo "deb http://mirrors.aliyun.com/ubuntu/ saucy main restricted" > /etc/apt/sources.list && echo "deb http://mirrors.aliyun.com/ubuntu/ saucy-updates main restricted" >> /etc/apt/sources.list && echo "deb http://mirrors.aliyun.com/ubuntu/ saucy universe" >> /etc/apt/sources.list && echo "deb http://mirrors.aliyun.com/ubuntu/ saucy-updates universe" >> /etc/apt/sources.list && echo "deb http://mirrors.aliyun.com/ubuntu/ saucy multiverse" >> /etc/apt/sources.list && echo "deb http://mirrors.aliyun.com/ubuntu/ saucy-updates multiverse" >> /etc/apt/sources.list && echo "deb http://mirrors.aliyun.com/ubuntu/ saucy-backports main restricted universe multiverse" >> /etc/apt/sources.list && echo "deb http://mirrors.aliyun.com/ubuntu/ saucy-security main restricted" >> /etc/apt/sources.list && echo "deb http://mirrors.aliyun.com/ubuntu/ saucy-security universe" >> /etc/apt/sources.list && echo "deb http://mirrors.aliyun.com/ubuntu/ saucy-security multiverse" >> /etc/apt/sources.list
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN mkdir -p /go
 | 
				
			||||||
 | 
					ENV PATH /usr/local/go/bin:/go/bin:$PATH
 | 
				
			||||||
 | 
					ENV GOROOT /usr/local/go
 | 
				
			||||||
 | 
					ENV GOPATH /go
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN apt-get update && apt-get install --yes --force-yes curl git mercurial zip wget ca-certificates build-essential
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN curl -s http://docker.u.qiniudn.com/go1.2.1.src.tar.gz | tar -v -C /usr/local -xz
 | 
				
			||||||
 | 
					RUN cd /usr/local/go/src && ./make.bash --no-clean 2>&1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# You may need a proxy, if github is very slow.
 | 
				
			||||||
 | 
					#RUN http_proxy=106.187.38.45:3128 go get -u github.com/gogits/gogs 
 | 
				
			||||||
 | 
					RUN go get -u github.com/gogits/gogs 
 | 
				
			||||||
 | 
					RUN cd $GOPATH/src/github.com/gogits/gogs && go build
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Clean all the unused packages
 | 
				
			||||||
 | 
					RUN apt-get autoremove -y
 | 
				
			||||||
 | 
					RUN apt-get clean all
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Add the deploy script to the docker image and assign execution permission to it.
 | 
				
			||||||
 | 
					ADD ./deploy.sh /
 | 
				
			||||||
 | 
					RUN chmod +x deploy.sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					EXPOSE 3000
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					CMD /deploy.sh
 | 
				
			||||||
							
								
								
									
										20
									
								
								dockerfiles/images/gogits/deploy.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								dockerfiles/images/gogits/deploy.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,20 @@
 | 
				
			|||||||
 | 
					# deploy.sh in gogits image, replace the configs and run gogs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Replace the mysql password
 | 
				
			||||||
 | 
					MYSQL_PASSWORD=THE_MYSQL_PASSWORD
 | 
				
			||||||
 | 
					MYSQL_ALIAS=DB
 | 
				
			||||||
 | 
					MYSQL_PASSWORD_LINE=`awk '$0 ~ str{print NR+1}' str="USER = root" $GOPATH/src/github.com/gogits/gogs/conf/app.ini`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					sed -i "${MYSQL_PASSWORD_LINE}s/.*$/PASSWD = $MYSQL_PASSWORD/g" $GOPATH/src/github.com/gogits/gogs/conf/app.ini 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Replace the mysql address and port
 | 
				
			||||||
 | 
					# When using --link in docker run, the mysql image's info looks like this:
 | 
				
			||||||
 | 
					# DB_PORT=tcp://172.17.0.2:3306
 | 
				
			||||||
 | 
					# DB_PORT_3306_TCP_PORT=3306
 | 
				
			||||||
 | 
					# DB_PORT_3306_TCP_PROTO=tcp
 | 
				
			||||||
 | 
					# DB_PORT_3306_TCP_ADDR=172.17.0.2
 | 
				
			||||||
 | 
					sed -i "/HOST = 127.0.0.1:3306/c\HOST = $DB_PORT_3306_TCP_ADDR:$DB_PORT_3306_TCP_PORT" $GOPATH/src/github.com/gogits/gogs/conf/app.ini
 | 
				
			||||||
 | 
					cd $GOPATH/src/github.com/gogits/gogs/ 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# The sudo is a must here, or the go within docker container won't get the current user by os.Getenv("USERNAME")
 | 
				
			||||||
 | 
					sudo ./gogs web
 | 
				
			||||||
							
								
								
									
										0
									
								
								dockerfiles/images/memcached/.gitkeep
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								dockerfiles/images/memcached/.gitkeep
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										0
									
								
								dockerfiles/images/mysql/.gitkeep
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								dockerfiles/images/mysql/.gitkeep
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										37
									
								
								dockerfiles/images/mysql/Dockerfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								dockerfiles/images/mysql/Dockerfile
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,37 @@
 | 
				
			|||||||
 | 
					#FROM stackbrew/ubuntu:13.10
 | 
				
			||||||
 | 
					#FROM stackbrew/ubuntu
 | 
				
			||||||
 | 
					FROM   stackbrew/ubuntu:saucy
 | 
				
			||||||
 | 
					MAINTAINER  Meaglith Ma <genedna@gmail.com> (@genedna)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ENV DEBIAN_FRONTEND noninteractive
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN apt-get install -y --force-yes software-properties-common
 | 
				
			||||||
 | 
					RUN add-apt-repository -y "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) universe"
 | 
				
			||||||
 | 
					RUN apt-get --yes --force-yes update
 | 
				
			||||||
 | 
					RUN apt-get --yes --force-yes upgrade 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ENV MYSQL_PASSWORD THE_MYSQL_PASSWORD
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN echo "mysql-server mysql-server/root_password password $MYSQL_PASSWORD" | debconf-set-selections  
 | 
				
			||||||
 | 
					RUN echo "mysql-server mysql-server/root_password_again password $MYSQL_PASSWORD" | debconf-set-selections
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN apt-get update && apt-get install -y --force-yes mysql-server 
 | 
				
			||||||
 | 
					RUN sed -i -e"s/^bind-address\s*=\s*127.0.0.1/bind-address = 0.0.0.0/" /etc/mysql/my.cnf
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN service mysql restart
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN echo "mysql -uroot -p$MYSQL_PASSWORD -e 'drop database if exists gogs;'" >> import.sh  
 | 
				
			||||||
 | 
					RUN echo "mysql -uroot -p$MYSQL_PASSWORD -e 'create database gogs;'" >> import.sh  
 | 
				
			||||||
 | 
					RUN chmod +x import.sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN apt-get autoremove -y
 | 
				
			||||||
 | 
					RUN apt-get clean all
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN    /usr/sbin/mysqld & \
 | 
				
			||||||
 | 
					    sleep 10s &&\
 | 
				
			||||||
 | 
					    echo "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '$MYSQL_PASSWORD' WITH GRANT OPTION; FLUSH PRIVILEGES" | mysql -p$MYSQL_PASSWORD &&\
 | 
				
			||||||
 | 
					    ./import.sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					EXPOSE 3306
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					CMD ["/usr/bin/mysqld_safe", "--skip-syslog", "--log-error=/dev/null"]  
 | 
				
			||||||
							
								
								
									
										0
									
								
								dockerfiles/images/posgresql/.gitkeep
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								dockerfiles/images/posgresql/.gitkeep
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										0
									
								
								dockerfiles/images/redis/.gitkeep
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								dockerfiles/images/redis/.gitkeep
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										13
									
								
								dockerfiles/run.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										13
									
								
								dockerfiles/run.sh
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,13 @@
 | 
				
			|||||||
 | 
					# Configs
 | 
				
			||||||
 | 
					MYSQL_PASSWORD="kuajie8402"
 | 
				
			||||||
 | 
					MYSQL_RUN_NAME="gogs_mysql"
 | 
				
			||||||
 | 
					typeset -u MYSQL_ALIAS
 | 
				
			||||||
 | 
					MYSQL_ALIAS="db"
 | 
				
			||||||
 | 
					HOST_PORT="3000"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Run MySQL image with name
 | 
				
			||||||
 | 
					docker run -d --name $MYSQL_RUN_NAME gogs/mysql
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					## Run gogits image and link it to the MySQL image
 | 
				
			||||||
 | 
					docker run --link $MYSQL_RUN_NAME:$MYSQL_ALIAS -p $HOST_PORT:3000 gogs/gogits
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		Reference in New Issue
	
	Block a user