forked from gitea/gitea
		
	Add the auto build scripts for deplying gogs with Docker.
This commit is contained in:
		
							parent
							
								
									5966dd78e6
								
							
						
					
					
						commit
						2315dc39b6
					
				| @ -1,16 +1,12 @@ | ||||
| # Configs | ||||
| MYSQL_PASSWORD="kuajie8402" | ||||
| MYSQL_RUN_NAME="gogs_mysql" | ||||
| typeset -u MYSQL_ALIAS | ||||
| MYSQL_ALIAS="db" | ||||
| HOST_PORT="3000" | ||||
| # 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 | ||||
| sed -i "s/THE_MYSQL_ALIAS/$MYSQL_ALIAS/g" images/gogits/deploy.sh | ||||
| 
 | ||||
| 
 | ||||
| # Build the MySQL image | ||||
| cd images/mysql | ||||
| @ -24,5 +20,6 @@ docker build -t gogs/gogits . | ||||
| 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 | ||||
| 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" | ||||
| 
 | ||||
|  | ||||
| @ -1,6 +1,8 @@ | ||||
| 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 | ||||
| @ -13,9 +15,12 @@ RUN apt-get update && apt-get install --yes --force-yes curl git mercurial zip w | ||||
| 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 | ||||
| 
 | ||||
| RUN http_proxy=106.187.38.45:3128 go get -u github.com/gogits/gogs  | ||||
| # 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 | ||||
| 
 | ||||
| @ -24,5 +29,5 @@ ADD ./deploy.sh / | ||||
| RUN chmod +x deploy.sh | ||||
| 
 | ||||
| EXPOSE 3000 | ||||
| CMD [/deploy.sh] | ||||
| CMD ["$GOPATH/src/github.com/gogits/gogs/gogs web"]   | ||||
| 
 | ||||
| CMD /deploy.sh | ||||
|  | ||||
| @ -1,15 +1,20 @@ | ||||
| # deploy.sh in gogits image | ||||
| # Script in the gogits image | ||||
| # deploy.sh in gogits image, replace the configs and run gogs | ||||
| 
 | ||||
| ## Replace the mysql password | ||||
| MYSQL_PASSWORD=kuajie8402 | ||||
| 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 -e "${MYSQL_PASSWORD_LINE}s/.*$/PASSWD = $MYSQL_PASSWORD/g" 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 | ||||
| sed -e "/HOST = 127.0.0.1:3306/c\HOST = ${MYSQLALIAS}_PORT" app.ini | ||||
| # 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 | ||||
|  | ||||
| @ -1,18 +1,16 @@ | ||||
| #FROM stackbrew/ubuntu:13.10 | ||||
| FROM stackbrew/ubuntu | ||||
| #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 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 add-apt-repository -y "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) universe" | ||||
| 
 | ||||
| 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 kuajie8402 | ||||
| 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 | ||||
| @ -20,9 +18,20 @@ RUN echo "mysql-server mysql-server/root_password_again password $MYSQL_PASSWORD | ||||
| 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"]   | ||||
|  | ||||
| @ -1,7 +0,0 @@ | ||||
| FROM   stackbrew/ubuntu:saucy | ||||
| 
 | ||||
| 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   | ||||
| 
 | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Lance Ju
						Lance Ju