commit
						0c5e50a888
					
				@ -0,0 +1,27 @@ | 
				
			|||||||
 | 
					### Binary install gogs on ubuntu 14.04 LTS | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### create user and install denpendency | 
				
			||||||
 | 
					- sudo adduser git | 
				
			||||||
 | 
					- sudo apt-get update | 
				
			||||||
 | 
					- sudo apt-get upgrade | 
				
			||||||
 | 
					- sudo apt-get install git | 
				
			||||||
 | 
					- sudo apt-get install golang | 
				
			||||||
 | 
					- sudo apt-get install mysql-server | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### create the database | 
				
			||||||
 | 
					- $mysql -u root -p | 
				
			||||||
 | 
					- mysql> SET GLOBAL storage_engine = 'InnoDB'; | 
				
			||||||
 | 
					- mysql> CREATE DATABASE gogs CHARACTER SET utf8 COLLATE utf8_bin; | 
				
			||||||
 | 
					- mysql> GRANT ALL PRIVILEGES ON gogs.* TO 'root'@'localhost' IDENTIFIED BY 'password'; | 
				
			||||||
 | 
					- mysql> FLUSH PRIVILEGES; | 
				
			||||||
 | 
					- mysql> QUIT | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### install the gogs | 
				
			||||||
 | 
					- mkdir gogs | 
				
			||||||
 | 
					- cd gogs | 
				
			||||||
 | 
					- curl -L http://gobuild.io/github.com/gogits/gogs/v0.2.0/linux/amd64 -o v0.2.0.zip | 
				
			||||||
 | 
					- unzip v0.2.0.zip | 
				
			||||||
 | 
					- ./start.sh | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					> The up-to-date binary could be found at | 
				
			||||||
 | 
					> http://gobuild.io/download/github.com/gogits/gogs | 
				
			||||||
@ -0,0 +1,48 @@ | 
				
			|||||||
 | 
					##Install gogs under ubuntu 14.04 LTS 32bit from source code | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					###Requirements | 
				
			||||||
 | 
					- Go Programming Language: Version >= 1.2 | 
				
			||||||
 | 
					- git(bash): Version >= 1.6.6(both server and client)  | 
				
			||||||
 | 
					- MySQL: Version >= 5.1 or PostgreSQL or NOTHING.  | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Create the user which will run git | 
				
			||||||
 | 
					- sudo  adduser git | 
				
			||||||
 | 
					- su git | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Install git and Mysql-server | 
				
			||||||
 | 
					- sudo apt-get install git | 
				
			||||||
 | 
					- sudo apt-get install mysql-server | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Create database | 
				
			||||||
 | 
					- $ mysql -u root -p | 
				
			||||||
 | 
					- mysql> SET GLOBAL storage_engine = 'InnoDB'; | 
				
			||||||
 | 
					- mysql> CREATE DATABASE gogs CHARACTER SET utf8 COLLATE utf8_bin; | 
				
			||||||
 | 
					- mysql> GRANT ALL PRIVILEGES ON gogs.* TO 'root'@'localhost' IDENTIFIED BY 'pasword'; | 
				
			||||||
 | 
					- mysql> FLUSH PRIVILEGES; | 
				
			||||||
 | 
					- mysql> QUIT | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### install go from source | 
				
			||||||
 | 
					- sudo apt-get install build-essential  | 
				
			||||||
 | 
					- sudo apt-get install mercurial | 
				
			||||||
 | 
					- hg clone -r release https://go.googlecode.com/hg/ /home/git/golang/ | 
				
			||||||
 | 
					  | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- echo export GOROOT=/home/git/golang >>.bashrc | 
				
			||||||
 | 
					- echo export GOARCH=386   >>.bashrc  | 
				
			||||||
 | 
					- echo export GOOS=linux  >>.bashrc  | 
				
			||||||
 | 
					- echo export GOBIN= /home/git/golang/bin  >>.bashrc  | 
				
			||||||
 | 
					- echo export GOPATH=$HOME/app/Go   >>.bashrc  | 
				
			||||||
 | 
					- echo  PATH=${PATH}: /$HOME/golang/bin  >>.bashrc | 
				
			||||||
 | 
					- cd $GOROOT/src | 
				
			||||||
 | 
					- ./make.bash | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Download and install dependencies | 
				
			||||||
 | 
					- $ go get -u github.com/gogits/gogs | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Build main program | 
				
			||||||
 | 
					- $ cd $GOPATH/src/github.com/gogits/gogs | 
				
			||||||
 | 
					- $ go build | 
				
			||||||
 | 
					- $ ./start.sh | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### At present, you could access gogs from http://localhost:3000 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1,29 +1,68 @@ | 
				
			|||||||
# Configs of the docker images, you might have specify your own configs here. | 
					# Configs of the docker images, you might have specify your own configs here. | 
				
			||||||
# type of database, support 'mysql' and 'postgres' | 
					
 | 
				
			||||||
DB_TYPE="postgres" | 
					DB_TYPE="YOUR_DB_TYPE"            # type of database, support 'mysql' and 'postgres' | 
				
			||||||
DB_PASSWORD="YOUR_DB_PASSWORD" | 
					MEM_TYPE="YOUR_MEM_TYPE"          # type of memory database, support 'redis' and 'memcache' | 
				
			||||||
DB_RUN_NAME="YOUR_DB_RUN_NAME" | 
					DB_PASSWORD="YOUR_DB_PASSWORD"    # The database password. | 
				
			||||||
HOST_PORT="YOUR_HOST_PORT" | 
					DB_RUN_NAME="YOUR_DB_RUN_NAME"    # The --name option value when run the database image. | 
				
			||||||
 | 
					MEM_RUN_NAME="YOUR_MEM_RUN_NAME"  # The --name option value when run the mem database image. | 
				
			||||||
 | 
					HOST_PORT="YOUR_HOST_PORT"        # The port on host, which will be redirected to the port 3000 inside gogs container. | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# apt source, you can select 'nchc'(mirror in Taiwan) or 'aliyun'(best for mainlance China users) according to your network, if you could connect to the official unbunt mirror in a fast speed, just leave it to "". | 
				
			||||||
 | 
					APT_SOURCE="" | 
				
			||||||
 | 
					
 | 
				
			||||||
# Replace the database root password in database image Dockerfile. | 
					# Replace the database root password in database image Dockerfile. | 
				
			||||||
sed -i "s/THE_DB_PASSWORD/$DB_PASSWORD/g" images/$DB_TYPE/Dockerfile | 
					sed -i "s/THE_DB_PASSWORD/$DB_PASSWORD/g" images/$DB_TYPE/Dockerfile | 
				
			||||||
# Replace the database root password in gogits image deploy.sh file.  | 
					# Replace the database root password in gogits image deploy.sh file.  | 
				
			||||||
sed -i "s/THE_DB_PASSWORD/$DB_PASSWORD/g" images/gogits/deploy.sh | 
					sed -i "s/THE_DB_PASSWORD/$DB_PASSWORD/g" images/gogits/deploy.sh | 
				
			||||||
 | 
					# Replace the apt source in gogits image Dockerfile.  | 
				
			||||||
 | 
					sed -i "s/#$APT_SOURCE#//" images/gogits/Dockerfile | 
				
			||||||
 | 
					# Uncomment the installation of database lib in gogs Dockerfile | 
				
			||||||
 | 
					sed -i "s/#$DB_TYPE#//" images/gogits/Dockerfile | 
				
			||||||
# Replace the database type in gogits image deploy.sh file.  | 
					# Replace the database type in gogits image deploy.sh file.  | 
				
			||||||
sed -i "s/THE_DB_TYPE/$DB_TYPE/g" images/gogits/deploy.sh | 
					sed -i "s/THE_DB_TYPE/$DB_TYPE/g" images/gogits/deploy.sh | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [ $MEM_TYPE != "" ] | 
				
			||||||
 | 
					  then | 
				
			||||||
 | 
					  # Replace the mem configs in deploy.sh | 
				
			||||||
 | 
					  sed -i "s/THE_MEM_TYPE/$MEM_TYPE/g" images/gogits/deploy.sh | 
				
			||||||
 | 
					  # Uncomment the installation of go mem lib | 
				
			||||||
 | 
					  sed -i "s/#$MEM_TYPE#//" images/gogits/Dockerfile | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # Add the tags when get gogs | 
				
			||||||
 | 
					  sed -i "s#RUN go get -u -d github.com/gogits/gogs#RUN go get -u -d -tags $MEM_TYPE github.com/gogits/gogs#g" images/gogits/Dockerfile | 
				
			||||||
 | 
					  # Append the tag in gogs build | 
				
			||||||
 | 
					  GOGS_BUILD_LINE=`awk '$0 ~ str{print NR}' str="go build" images/gogits/Dockerfile` | 
				
			||||||
 | 
					  # Append the build tags | 
				
			||||||
 | 
					  sed -i "${GOGS_BUILD_LINE}s/$/ -tags $MEM_TYPE/" images/gogits/Dockerfile | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  cd images/$MEM_TYPE | 
				
			||||||
 | 
					  docker build -t gogits/$MEM_TYPE . | 
				
			||||||
 | 
					  docker run -d --name $MEM_RUN_NAME gogits/$MEM_TYPE | 
				
			||||||
 | 
					  MEM_LINK=" --link $MEM_RUN_NAME:mem " | 
				
			||||||
 | 
					  cd ../../ | 
				
			||||||
 | 
					fi | 
				
			||||||
 | 
					
 | 
				
			||||||
# Build the database image | 
					# Build the database image | 
				
			||||||
cd images/$DB_TYPE | 
					cd images/$DB_TYPE | 
				
			||||||
docker build -t gogs/$DB_TYPE . | 
					docker build -t gogits/$DB_TYPE . | 
				
			||||||
# | 
					# | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Build the gogits image | 
					## Build the gogits image | 
				
			||||||
cd ../gogits | 
					cd ../gogits | 
				
			||||||
docker build -t gogs/gogits . | 
					
 | 
				
			||||||
 | 
					docker build -t gogits/gogs . | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#sed -i "s#RUN go get -u -tags $MEM_TYPE github.com/gogits/gogs#RUN go get -u github.com/gogits/gogs#g" Dockerfile | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Remove the appended tags in go build line(if there is any) | 
				
			||||||
 | 
					sed -i "s/ -tags $MEM_TYPE//" Dockerfile | 
				
			||||||
 | 
					
 | 
				
			||||||
# | 
					# | 
				
			||||||
## Run MySQL image with name | 
					## Run MySQL image with name | 
				
			||||||
docker run -d --name $DB_RUN_NAME gogs/$DB_TYPE | 
					docker run -d --name $DB_RUN_NAME gogits/$DB_TYPE | 
				
			||||||
# | 
					# | 
				
			||||||
## Run gogits image and link it to the database image | 
					## Run gogits image and link it to the database image | 
				
			||||||
echo "Now we have the $DB_TYPE image(running) and gogs image, use the follow command to start gogs service:" | 
					echo "Now we have the $DB_TYPE image(running) and gogs image, use the follow command to start gogs service:" | 
				
			||||||
echo -e "\033[33m docker run -i -t --link $DB_RUN_NAME:db -p $HOST_PORT:3000 gogs/gogits \033[0m" | 
					echo -e "\033[33m docker run -i -t --link $DB_RUN_NAME:db $MEM_LINK -p $HOST_PORT:3000 gogits/gogs \033[0m" | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -0,0 +1,26 @@ | 
				
			|||||||
 | 
					FROM ubuntu | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Set the file maintainer (your name - the file's author) | 
				
			||||||
 | 
					MAINTAINER Borja Burgos <borja@tutum.co> | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ENV DEBIAN_FRONTEND noninteractive | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Update the default application repository sources list | 
				
			||||||
 | 
					RUN apt-get update | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Install Memcached | 
				
			||||||
 | 
					RUN apt-get install -y memcached | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Port to expose (default: 11211) | 
				
			||||||
 | 
					EXPOSE 11211 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Default Memcached run command arguments | 
				
			||||||
 | 
					# Change to limit memory when creating container in Tutum  | 
				
			||||||
 | 
					CMD ["-m", "64"] | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Set the user to run Memcached daemon | 
				
			||||||
 | 
					USER daemon | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Set the entrypoint to memcached binary | 
				
			||||||
 | 
					ENTRYPOINT memcached | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -0,0 +1,14 @@ | 
				
			|||||||
 | 
					FROM   	    stackbrew/ubuntu:saucy | 
				
			||||||
 | 
					MAINTAINER  Meaglith Ma <genedna@gmail.com> (@genedna), Lance Ju <juzhenatpku@gmail.com> (@crystaldust) | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ENV DEBIAN_FRONTEND noninteractive | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ENV         DEBIAN_FRONTEND noninteractive | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN         apt-get update && apt-get install -y redis-server | 
				
			||||||
 | 
					# Usually redis doesn't need a password | 
				
			||||||
 | 
					#RUN         sed -i "s/# requirepass foobared/requirepass THE_REDIS_PASSWORD/g" /etc/redis/redis.conf | 
				
			||||||
 | 
					EXPOSE      6379 | 
				
			||||||
 | 
					ENTRYPOINT  ["/usr/bin/redis-server"] | 
				
			||||||
 | 
					CMD ["--bind", "0.0.0.0"] | 
				
			||||||
 | 
					
 | 
				
			||||||
					Loading…
					
					
				
		Reference in new issue