From 5a01a0f6686e13d53c2165b853d64970733ea381 Mon Sep 17 00:00:00 2001 From: Meaglith Ma <genedna@gmail.com> Date: Tue, 1 Apr 2014 01:47:32 +0800 Subject: [PATCH 01/12] Init dockerfiles folder and base gogs Dockerfile --- dockerfiles/images/gogits/Dockerfile | 20 ++++++++++++++++++++ dockerfiles/images/gogits/sources.list | 10 ++++++++++ dockerfiles/images/memcached/.gitkeep | 0 dockerfiles/images/mysql/.gitkeep | 0 dockerfiles/images/posgresql/.gitkeep | 0 dockerfiles/images/redis/.gitkeep | 0 6 files changed, 30 insertions(+) create mode 100644 dockerfiles/images/gogits/Dockerfile create mode 100644 dockerfiles/images/gogits/sources.list create mode 100644 dockerfiles/images/memcached/.gitkeep create mode 100644 dockerfiles/images/mysql/.gitkeep create mode 100644 dockerfiles/images/posgresql/.gitkeep create mode 100644 dockerfiles/images/redis/.gitkeep diff --git a/dockerfiles/images/gogits/Dockerfile b/dockerfiles/images/gogits/Dockerfile new file mode 100644 index 000000000..cb16d1cf5 --- /dev/null +++ b/dockerfiles/images/gogits/Dockerfile @@ -0,0 +1,20 @@ +FROM stackbrew/ubuntu:13.10 +MAINTAINER Meaglith Ma <genedna@gmail.com> (@genedna) + +ADD ./sources.list /etc/apt/ + +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 -y 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 + +RUN go get -u github.com/gogits/gogs +RUN cd $GOPATH/src/github.com/gogits/gogs && go build + +RUN apt-get autoremove -y +RUN apt-get clean all diff --git a/dockerfiles/images/gogits/sources.list b/dockerfiles/images/gogits/sources.list new file mode 100644 index 000000000..58214b4ed --- /dev/null +++ b/dockerfiles/images/gogits/sources.list @@ -0,0 +1,10 @@ +deb http://mirrors.aliyun.com/ubuntu/ saucy main restricted +deb http://mirrors.aliyun.com/ubuntu/ saucy-updates main restricted +deb http://mirrors.aliyun.com/ubuntu/ saucy universe +deb http://mirrors.aliyun.com/ubuntu/ saucy-updates universe +deb http://mirrors.aliyun.com/ubuntu/ saucy multiverse +deb http://mirrors.aliyun.com/ubuntu/ saucy-updates multiverse +deb http://mirrors.aliyun.com/ubuntu/ saucy-backports main restricted universe multiverse +deb http://mirrors.aliyun.com/ubuntu/ saucy-security main restricted +deb http://mirrors.aliyun.com/ubuntu/ saucy-security universe +deb http://mirrors.aliyun.com/ubuntu/ saucy-security multiverse diff --git a/dockerfiles/images/memcached/.gitkeep b/dockerfiles/images/memcached/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/dockerfiles/images/mysql/.gitkeep b/dockerfiles/images/mysql/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/dockerfiles/images/posgresql/.gitkeep b/dockerfiles/images/posgresql/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/dockerfiles/images/redis/.gitkeep b/dockerfiles/images/redis/.gitkeep new file mode 100644 index 000000000..e69de29bb From a044c24c3db4b18b20406045b40e55ce15f941a0 Mon Sep 17 00:00:00 2001 From: Meaglith Ma <genedna@gmail.com> Date: Tue, 1 Apr 2014 14:27:21 +0800 Subject: [PATCH 02/12] Update the Golang Dockerfile and add mysql Dockerfile --- dockerfiles/images/gogits/Dockerfile | 6 ++++-- dockerfiles/images/gogits/sources.list | 10 ---------- dockerfiles/images/mysql/Dockerfile | 18 ++++++++++++++++++ 3 files changed, 22 insertions(+), 12 deletions(-) delete mode 100644 dockerfiles/images/gogits/sources.list create mode 100644 dockerfiles/images/mysql/Dockerfile diff --git a/dockerfiles/images/gogits/Dockerfile b/dockerfiles/images/gogits/Dockerfile index cb16d1cf5..bcd6e6908 100644 --- a/dockerfiles/images/gogits/Dockerfile +++ b/dockerfiles/images/gogits/Dockerfile @@ -1,14 +1,14 @@ FROM stackbrew/ubuntu:13.10 MAINTAINER Meaglith Ma <genedna@gmail.com> (@genedna) -ADD ./sources.list /etc/apt/ +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 -y curl git mercurial zip wget ca-certificates build-essential +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 @@ -18,3 +18,5 @@ RUN cd $GOPATH/src/github.com/gogits/gogs && go build RUN apt-get autoremove -y RUN apt-get clean all + +EXPOSE 3000 diff --git a/dockerfiles/images/gogits/sources.list b/dockerfiles/images/gogits/sources.list deleted file mode 100644 index 58214b4ed..000000000 --- a/dockerfiles/images/gogits/sources.list +++ /dev/null @@ -1,10 +0,0 @@ -deb http://mirrors.aliyun.com/ubuntu/ saucy main restricted -deb http://mirrors.aliyun.com/ubuntu/ saucy-updates main restricted -deb http://mirrors.aliyun.com/ubuntu/ saucy universe -deb http://mirrors.aliyun.com/ubuntu/ saucy-updates universe -deb http://mirrors.aliyun.com/ubuntu/ saucy multiverse -deb http://mirrors.aliyun.com/ubuntu/ saucy-updates multiverse -deb http://mirrors.aliyun.com/ubuntu/ saucy-backports main restricted universe multiverse -deb http://mirrors.aliyun.com/ubuntu/ saucy-security main restricted -deb http://mirrors.aliyun.com/ubuntu/ saucy-security universe -deb http://mirrors.aliyun.com/ubuntu/ saucy-security multiverse diff --git a/dockerfiles/images/mysql/Dockerfile b/dockerfiles/images/mysql/Dockerfile new file mode 100644 index 000000000..c3b85e3b9 --- /dev/null +++ b/dockerfiles/images/mysql/Dockerfile @@ -0,0 +1,18 @@ +FROM stackbrew/ubuntu:13.10 +MAINTAINER Meaglith Ma <genedna@gmail.com> (@genedna) + +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 + +#ENV MYSQL_PASSWORD docker + +#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 apt-get autoremove -y +RUN apt-get clean all + +EXPOSE 3306 +CMD ["/usr/bin/mysqld_safe", "--skip-syslog", "--log-error=/dev/null"] From 5f4b5c1557b1f39d6bad24c5056aafa6138639e6 Mon Sep 17 00:00:00 2001 From: Meaglith Ma <genedna@gmail.com> Date: Sun, 6 Apr 2014 17:31:42 +0800 Subject: [PATCH 03/12] Temp commit --- dockerfiles/images/gogits/Dockerfile | 4 +++- dockerfiles/images/mysql/Dockerfile | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/dockerfiles/images/gogits/Dockerfile b/dockerfiles/images/gogits/Dockerfile index bcd6e6908..9c7d018b0 100644 --- a/dockerfiles/images/gogits/Dockerfile +++ b/dockerfiles/images/gogits/Dockerfile @@ -13,10 +13,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 go get -u github.com/gogits/gogs +RUN http_proxy=106.187.38.45:3128 go get -u github.com/gogits/gogs RUN cd $GOPATH/src/github.com/gogits/gogs && go build RUN apt-get autoremove -y RUN apt-get clean all EXPOSE 3000 + +CMD ["./$GOPATH/src/github.com/gogits/gogs/gogs"] diff --git a/dockerfiles/images/mysql/Dockerfile b/dockerfiles/images/mysql/Dockerfile index c3b85e3b9..ecf69a2c5 100644 --- a/dockerfiles/images/mysql/Dockerfile +++ b/dockerfiles/images/mysql/Dockerfile @@ -15,4 +15,5 @@ RUN apt-get autoremove -y RUN apt-get clean all EXPOSE 3306 + CMD ["/usr/bin/mysqld_safe", "--skip-syslog", "--log-error=/dev/null"] From c8b81d8339fa81f3744fb177a373c490f81940bc Mon Sep 17 00:00:00 2001 From: Meaglith Ma <genedna@gmail.com> Date: Wed, 9 Apr 2014 10:46:05 +0800 Subject: [PATCH 04/12] Create README.md --- dockerfiles/README.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 dockerfiles/README.md diff --git a/dockerfiles/README.md b/dockerfiles/README.md new file mode 100644 index 000000000..d82787289 --- /dev/null +++ b/dockerfiles/README.md @@ -0,0 +1 @@ +== Gogs Install With Docker == From 4efb56af03bf8a113e9b39d123b9399e546d3505 Mon Sep 17 00:00:00 2001 From: Meaglith Ma <genedna@gmail.com> Date: Wed, 9 Apr 2014 10:48:05 +0800 Subject: [PATCH 05/12] Update README.md --- dockerfiles/README.md | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/dockerfiles/README.md b/dockerfiles/README.md index d82787289..4268c7c20 100644 --- a/dockerfiles/README.md +++ b/dockerfiles/README.md @@ -1 +1,23 @@ -== Gogs Install With Docker == +### Gogs Install With Docker + + +#### Gogs With MySQL + + +#### Gogs With PostgreSQL + + +#### Gogs, MySQL With Redis + + +#### Gogs, MySQL With Memcached + + +#### Gogs, PostgreSQL With Redis + + +#### Gogs, PostgreSQL With Memcached + + + + From 5966dd78e67de613bea53a517712645c8449b358 Mon Sep 17 00:00:00 2001 From: crystaldust <juzhenatpku@gmail.com> Date: Thu, 10 Apr 2014 19:56:19 +0800 Subject: [PATCH 06/12] Add the scirpts for auto deploy. --- dockerfiles/build.sh | 28 ++++++++++++++++++++++++++++ dockerfiles/build.sh.bak | 27 +++++++++++++++++++++++++++ dockerfiles/images/gogits/Dockerfile | 8 ++++++-- dockerfiles/images/gogits/deploy.sh | 15 +++++++++++++++ dockerfiles/images/mysql/Dockerfile | 17 +++++++++++++---- dockerfiles/images/test/Dockerfile | 7 +++++++ dockerfiles/run.sh | 13 +++++++++++++ 7 files changed, 109 insertions(+), 6 deletions(-) create mode 100755 dockerfiles/build.sh create mode 100755 dockerfiles/build.sh.bak create mode 100644 dockerfiles/images/gogits/deploy.sh create mode 100644 dockerfiles/images/test/Dockerfile create mode 100755 dockerfiles/run.sh diff --git a/dockerfiles/build.sh b/dockerfiles/build.sh new file mode 100755 index 000000000..113f63dbe --- /dev/null +++ b/dockerfiles/build.sh @@ -0,0 +1,28 @@ +# Configs +MYSQL_PASSWORD="kuajie8402" +MYSQL_RUN_NAME="gogs_mysql" +typeset -u MYSQL_ALIAS +MYSQL_ALIAS="db" +HOST_PORT="3000" + +# 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 +docker build -t gogs/mysql . +# +## Build the gogits image +cd images/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 +docker run --link $MYSQL_RUN_NAME:$MYSQL_ALIAS -p $HOST_PORT:3000 gogs/gogits + diff --git a/dockerfiles/build.sh.bak b/dockerfiles/build.sh.bak new file mode 100755 index 000000000..545a13dae --- /dev/null +++ b/dockerfiles/build.sh.bak @@ -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 + diff --git a/dockerfiles/images/gogits/Dockerfile b/dockerfiles/images/gogits/Dockerfile index 9c7d018b0..265f86dad 100644 --- a/dockerfiles/images/gogits/Dockerfile +++ b/dockerfiles/images/gogits/Dockerfile @@ -19,6 +19,10 @@ RUN cd $GOPATH/src/github.com/gogits/gogs && go build RUN apt-get autoremove -y RUN apt-get clean all -EXPOSE 3000 +# Add the deploy script to the docker image and assign execution permission to it. +ADD ./deploy.sh / +RUN chmod +x deploy.sh -CMD ["./$GOPATH/src/github.com/gogits/gogs/gogs"] +EXPOSE 3000 +CMD [/deploy.sh] +CMD ["$GOPATH/src/github.com/gogits/gogs/gogs web"] diff --git a/dockerfiles/images/gogits/deploy.sh b/dockerfiles/images/gogits/deploy.sh new file mode 100644 index 000000000..f9c2144e2 --- /dev/null +++ b/dockerfiles/images/gogits/deploy.sh @@ -0,0 +1,15 @@ +# deploy.sh in gogits image +# Script in the gogits image +## Replace the mysql password +MYSQL_PASSWORD=kuajie8402 +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 + +## Replace the mysql address and port +# 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 + diff --git a/dockerfiles/images/mysql/Dockerfile b/dockerfiles/images/mysql/Dockerfile index ecf69a2c5..7c0324015 100644 --- a/dockerfiles/images/mysql/Dockerfile +++ b/dockerfiles/images/mysql/Dockerfile @@ -1,12 +1,21 @@ -FROM stackbrew/ubuntu:13.10 +#FROM stackbrew/ubuntu:13.10 +FROM stackbrew/ubuntu MAINTAINER Meaglith Ma <genedna@gmail.com> (@genedna) +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 -#ENV MYSQL_PASSWORD docker +#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 -#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 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 diff --git a/dockerfiles/images/test/Dockerfile b/dockerfiles/images/test/Dockerfile new file mode 100644 index 000000000..b8ed66d4d --- /dev/null +++ b/dockerfiles/images/test/Dockerfile @@ -0,0 +1,7 @@ +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 + diff --git a/dockerfiles/run.sh b/dockerfiles/run.sh new file mode 100755 index 000000000..7721ab41d --- /dev/null +++ b/dockerfiles/run.sh @@ -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 + From 2315dc39b6c84bdb8fbbe778e56e4b27b8760ba9 Mon Sep 17 00:00:00 2001 From: Lance Ju <lance@crenolab.com> Date: Fri, 11 Apr 2014 14:55:43 +0800 Subject: [PATCH 07/12] Add the auto build scripts for deplying gogs with Docker. --- dockerfiles/build.sh | 15 ++++++--------- dockerfiles/images/gogits/Dockerfile | 11 ++++++++--- dockerfiles/images/gogits/deploy.sh | 15 ++++++++++----- dockerfiles/images/mysql/Dockerfile | 25 +++++++++++++++++-------- dockerfiles/images/test/Dockerfile | 7 ------- 5 files changed, 41 insertions(+), 32 deletions(-) delete mode 100644 dockerfiles/images/test/Dockerfile diff --git a/dockerfiles/build.sh b/dockerfiles/build.sh index 113f63dbe..57138577c 100755 --- a/dockerfiles/build.sh +++ b/dockerfiles/build.sh @@ -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" diff --git a/dockerfiles/images/gogits/Dockerfile b/dockerfiles/images/gogits/Dockerfile index 265f86dad..410bb9cb0 100644 --- a/dockerfiles/images/gogits/Dockerfile +++ b/dockerfiles/images/gogits/Dockerfile @@ -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 diff --git a/dockerfiles/images/gogits/deploy.sh b/dockerfiles/images/gogits/deploy.sh index f9c2144e2..4612a63da 100644 --- a/dockerfiles/images/gogits/deploy.sh +++ b/dockerfiles/images/gogits/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 diff --git a/dockerfiles/images/mysql/Dockerfile b/dockerfiles/images/mysql/Dockerfile index 7c0324015..9b163e32b 100644 --- a/dockerfiles/images/mysql/Dockerfile +++ b/dockerfiles/images/mysql/Dockerfile @@ -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) -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" +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 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"] diff --git a/dockerfiles/images/test/Dockerfile b/dockerfiles/images/test/Dockerfile deleted file mode 100644 index b8ed66d4d..000000000 --- a/dockerfiles/images/test/Dockerfile +++ /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 - From b1a3ba9932f2894a70d7f8e04ffc6ea8d71ce779 Mon Sep 17 00:00:00 2001 From: Lance Ju <lance@crenolab.com> Date: Fri, 11 Apr 2014 15:32:57 +0800 Subject: [PATCH 08/12] Fix the path problem, which will build the mysql image as the gogits image --- dockerfiles/build.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dockerfiles/build.sh b/dockerfiles/build.sh index 57138577c..1e7cf0ad0 100755 --- a/dockerfiles/build.sh +++ b/dockerfiles/build.sh @@ -13,13 +13,13 @@ cd images/mysql docker build -t gogs/mysql . # ## Build the gogits image -cd images/gogits +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 "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" From a4f070b828638fe74946299618495af7efe028a7 Mon Sep 17 00:00:00 2001 From: crystaldust <juzhenatpku@gmail.com> Date: Fri, 11 Apr 2014 16:10:52 +0800 Subject: [PATCH 09/12] Update README.md Update the guide of how to deploy gogs in docker with the scripts. --- dockerfiles/README.md | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/dockerfiles/README.md b/dockerfiles/README.md index 4268c7c20..97c5aa053 100644 --- a/dockerfiles/README.md +++ b/dockerfiles/README.md @@ -1,5 +1,39 @@ ### 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 From 555b6976a32318c8decce521bdc61765eb6642c9 Mon Sep 17 00:00:00 2001 From: FuXiaoHei <fuxiaohei@hexiaz.com> Date: Fri, 11 Apr 2014 22:41:41 +0800 Subject: [PATCH 10/12] add search form in top navbar --- public/css/gogs.css | 27 +++++++++++++++++++++++---- templates/base/navbar.tmpl | 19 ++++++++++++++++--- 2 files changed, 39 insertions(+), 7 deletions(-) diff --git a/public/css/gogs.css b/public/css/gogs.css index 48d485fa5..634548b8c 100755 --- a/public/css/gogs.css +++ b/public/css/gogs.css @@ -67,6 +67,7 @@ html, body { color: #EEE; font-size: 100%; height: 46px; + margin-top: 3px; } #nav-logo { @@ -81,10 +82,6 @@ html, body { text-decoration: none; } -.nav-item.navbar-right { - margin-top: 3px; -} - .nav-item.navbar-btn { cursor: pointer; margin-top: 8px; @@ -96,6 +93,28 @@ html, body { margin: 0; } +#nav-search-form { + width: 300px; + margin-top: 0; +} + +#nav-search-form button { + margin-top: 0; + background-image: none; + background-color: #F6F6F6; +} + +#nav-search-form input[type=search] { + background-color: #F6F6F6; + border-bottom-right-radius: 3px; + border-top-right-radius: 3px; +} + +#nav-search-form input[type=search]:focus { + background-color: #FFF; + border-color: #D9D9D9; +} + /* gogits nav item active status */ #masthead .nav .active { color: #fff; diff --git a/templates/base/navbar.tmpl b/templates/base/navbar.tmpl index c0855d81e..1f908f39c 100644 --- a/templates/base/navbar.tmpl +++ b/templates/base/navbar.tmpl @@ -1,9 +1,22 @@ <div class="masthead navbar" id="masthead"> <div class="container"> <nav class="nav"> - <a id="nav-logo" class="nav-item{{if .PageIsHome}} active{{end}}" href="/"><img src="/img/favicon.png" alt="Gogs Logo" id="logo"></a> - <a class="nav-item{{if .PageIsUserDashboard}} active{{end}}" href="/">Dashboard</a> - <a class="nav-item{{if .PageIsHelp}} active{{end}}" href="https://github.com/gogits/gogs/wiki">Help</a>{{if .IsSigned}} + <a id="nav-logo" class="nav-item pull-left{{if .PageIsHome}} active{{end}}" href="/"><img src="/img/favicon.png" alt="Gogs Logo" id="logo"></a> + <a class="nav-item pull-left{{if .PageIsUserDashboard}} active{{end}}" href="/">Dashboard</a> + <a class="nav-item pull-left{{if .PageIsHelp}} active{{end}}" href="https://github.com/gogits/gogs/wiki">Help</a>{{if .IsSigned}} + <form class="nav-item pull-left{{if .PageIsNewRepo}} active{{end}}" id="nav-search-form"> + <div class="input-group"> + <div class="input-group-btn"> + <button type="button" class="btn btn-sm btn-default dropdown-toggle" data-toggle="dropdown">All Repositories <span class="caret"></span></button> + <ul class="dropdown-menu"> + <li><a href="#">All Repositories</a></li> + <li class="divider"></li> + <li><a href="#">This Repository</a></li> + </ul> + </div> + <input type="search" class="form-control input-sm" name="q" placeholder="search code, commits and issues"/> + </div> + </form> <a id="nav-out" class="nav-item navbar-right navbar-btn btn btn-danger" href="/user/logout/"><i class="fa fa-power-off fa-lg"></i></a> <a id="nav-avatar" class="nav-item navbar-right{{if .PageIsUserProfile}} active{{end}}" href="{{.SignedUser.HomeLink}}" data-toggle="tooltip" data-placement="bottom" title="{{.SignedUserName}}"> <img src="{{.SignedUser.AvatarLink}}?s=28" alt="user-avatar" title="username"/> From 11f54b142699b59a74b9babc195e712414a3c78a Mon Sep 17 00:00:00 2001 From: Unknown <joe2010xtmf@163.com> Date: Fri, 11 Apr 2014 12:14:11 -0400 Subject: [PATCH 11/12] Mirror bug fix --- modules/base/template.go | 3 + modules/middleware/context.go | 2 +- routers/user/user.go | 14 +- templates/repo/diff.tmpl | 330 +--------------------------------- 4 files changed, 13 insertions(+), 336 deletions(-) diff --git a/modules/base/template.go b/modules/base/template.go index 5a42107c4..624149796 100644 --- a/modules/base/template.go +++ b/modules/base/template.go @@ -67,6 +67,9 @@ var TemplateFuncs template.FuncMap = map[string]interface{}{ "TimeSince": TimeSince, "FileSize": FileSize, "Subtract": Subtract, + "Add": func(a, b int) int { + return a + b + }, "ActionIcon": ActionIcon, "ActionDesc": ActionDesc, "DateFormat": DateFormat, diff --git a/modules/middleware/context.go b/modules/middleware/context.go index 6ee94b960..e7f962c3e 100644 --- a/modules/middleware/context.go +++ b/modules/middleware/context.go @@ -103,7 +103,7 @@ func (ctx *Context) RenderWithErr(msg, tpl string, form auth.Form) { func (ctx *Context) Handle(status int, title string, err error) { log.Error("%s: %v", title, err) if martini.Dev == martini.Prod { - ctx.HTML(500, "status/500") + ctx.HTML(200, "status/500") return } diff --git a/routers/user/user.go b/routers/user/user.go index 37c6baa9f..39dfa462b 100644 --- a/routers/user/user.go +++ b/routers/user/user.go @@ -24,14 +24,14 @@ func Dashboard(ctx *middleware.Context) { ctx.Data["PageIsUserDashboard"] = true repos, err := models.GetRepositories(&models.User{Id: ctx.User.Id}) if err != nil { - ctx.Handle(200, "user.Dashboard", err) + ctx.Handle(500, "user.Dashboard", err) return } ctx.Data["MyRepos"] = repos feeds, err := models.GetFeeds(ctx.User.Id, 0, false) if err != nil { - ctx.Handle(200, "user.Dashboard", err) + ctx.Handle(500, "user.Dashboard", err) return } ctx.Data["Feeds"] = feeds @@ -44,7 +44,7 @@ func Profile(ctx *middleware.Context, params martini.Params) { // TODO: Need to check view self or others. user, err := models.GetUserByName(params["username"]) if err != nil { - ctx.Handle(200, "user.Profile", err) + ctx.Handle(500, "user.Profile", err) return } @@ -57,14 +57,14 @@ func Profile(ctx *middleware.Context, params martini.Params) { case "activity": feeds, err := models.GetFeeds(user.Id, 0, true) if err != nil { - ctx.Handle(200, "user.Profile", err) + ctx.Handle(500, "user.Profile", err) return } ctx.Data["Feeds"] = feeds default: repos, err := models.GetRepositories(user) if err != nil { - ctx.Handle(200, "user.Profile", err) + ctx.Handle(500, "user.Profile", err) return } ctx.Data["Repos"] = repos @@ -100,14 +100,14 @@ func SignIn(ctx *middleware.Context) { user, err := models.GetUserByName(userName) if err != nil { - ctx.HTML(200, "user/signin") + ctx.HTML(500, "user/signin") return } secret := base.EncodeMd5(user.Rands + user.Passwd) value, _ := ctx.GetSecureCookie(secret, base.CookieRememberName) if value != user.Name { - ctx.HTML(200, "user/signin") + ctx.HTML(500, "user/signin") return } diff --git a/templates/repo/diff.tmpl b/templates/repo/diff.tmpl index 396aa795f..a041284d0 100644 --- a/templates/repo/diff.tmpl +++ b/templates/repo/diff.tmpl @@ -30,7 +30,7 @@ {{range .Diff.Files}} <li> <div class="diff-counter count pull-right"> - {{if Subtract .Addition .Deletion}} + {{if Add .Addition .Deletion}} <span class="add" data-line="{{.Addition}}">{{.Addition}}</span> <span class="bar"> <span class="pull-left add"></span> @@ -53,7 +53,7 @@ <div class="panel panel-default diff-file-box diff-box file-content" id="diff-2"> <div class="panel-heading"> <div class="diff-counter count pull-left"> - {{if Subtract .Addition .Deletion}} + {{if Add .Addition .Deletion}} <span class="add" data-line="{{.Addition}}">+ {{.Addition}}</span> <span class="bar"> <span class="pull-left add"></span> @@ -91,338 +91,12 @@ </tr> {{end}} {{end}} - <!-- <tr class="same-code nl-2 ol-2"> - <td class="lines-num lines-num-old"> - <span rel="L1">2</span> - </td> - <td class="lines-num lines-num-new"> - <span rel="L1">2</span> - </td> - <td class="lines-code"> - <pre> "github.com/youtube/vitess/go/bson"</pre> - </td> - </tr> - <tr class="same-code nl-3 ol-3"> - <td class="lines-num lines-num-old"> - <span rel="L3">3</span> - </td> - <td class="lines-num lines-num-new"> - <span rel="L3">3</span> - </td> - <td class="lines-code"> - <pre> "github.com/youtube/vitess/go/bson"</pre> - </td> - </tr> - <tr class="add-code nl-4 ol-0"> - <td class="lines-num lines-num-old"> - <span rel="add">+</span> - </td> - <td class="lines-num lines-num-new"> - <span rel="L4">4</span> - </td> - <td class="lines-code"> - <pre> "github.com/youtube/vitess/go/bson"</pre> - </td> - </tr> - <tr class="add-code nl-5 ol-0"> - <td class="lines-num lines-num-old"> - <span rel="add">+</span> - </td> - <td class="lines-num lines-num-new"> - <span rel="L5">5</span> - </td> - <td class="lines-code"> - <pre> "github.com/youtube/vitess/go/bson"</pre> - </td> - </tr> - <tr class="del-code nl-0 ol-4"> - <td class="lines-num lines-num-old"> - <span rel="L4">4</span> - </td> - <td class="lines-num lines-num-new"> - <span rel="del">-</span> - </td> - <td class="lines-code"> - <pre> "github.com/youtube/vitess/go/bson"</pre> - </td> - </tr> - <tr class="del-code nl-0 ol-5"> - <td class="lines-num lines-num-old"> - <span rel="L5">5</span> - </td> - <td class="lines-num lines-num-new"> - <span rel="del">-</span> - </td> - <td class="lines-code"> - <pre> "github.com/youtube/vitess/go/bson"</pre> - </td> - </tr> - <tr class="del-code nl-0 ol-6"> - <td class="lines-num lines-num-old"> - <span rel="L6">6</span> - </td> - <td class="lines-num lines-num-new"> - <span rel="del">-</span> - </td> - <td class="lines-code"> - <pre> "github.com/youtube/vitess/go/bson"</pre> - </td> - </tr> - <tr class="del-code nl-0 ol-7"> - <td class="lines-num lines-num-old"> - <span rel="L7">7</span> - </td> - <td class="lines-num lines-num-new"> - <span rel="del">-</span> - </td> - <td class="lines-code"> - <pre> "github.com/youtube/vitess/go/bson"</pre> - </td> - </tr> - <tr class="same-code nl-6 ol-8"> - <td class="lines-num lines-num-old"> - <span rel="L8">8</span> - </td> - <td class="lines-num lines-num-new"> - <span rel="L6">6</span> - </td> - <td class="lines-code"> - <pre> "github.com/youtube/vitess/go/bson"</pre> - </td> - </tr> - <tr class="same-code nl-7 ol-9"> - <td class="lines-num lines-num-old"> - <span rel="L1">9</span> - </td> - <td class="lines-num lines-num-new"> - <span rel="L1">7</span> - </td> - <td class="lines-code"> - <pre> "github.com/youtube/vitess/go/bson"</pre> - </td> - </tr> - <tr class="same-code nl-8 ol-10"> - <td class="lines-num lines-num-old"> - <span rel="L1">10</span> - </td> - <td class="lines-num lines-num-new"> - <span rel="L1">8</span> - </td> - <td class="lines-code"> - <pre> "github.com/youtube/vitess/go/bson"</pre> - </td> - </tr> --> </tbody> </table> {{end}} </div> </div> {{end}} - - <!-- <div class="panel panel-default diff-file-box diff-box file-content"> - <div class="panel-heading"> - <div class="diff-counter count pull-left"> - <span class="add" data-line="2">+ 2</span> - <span class="bar"> - <span class="pull-left add"></span> - <span class="pull-left del"></span> - </span> - <span class="del" data-line="4">- 4</span> - </div> - <a class="btn btn-default btn-sm pull-right" href="#">View File</a> - <span class="file">data/test/bson_test/simple_type.go</span> - </div> - <div class="panel-body file-body file-code code-view code-diff"> - <table> - <tbody> - <tr class="same-code nl-1 ol-1"> - <td class="lines-num lines-num-old"> - <span rel="L1">1</span> - </td> - <td class="lines-num lines-num-new"> - <span rel="L1">1</span> - </td> - <td class="lines-code"> - <pre> "github.com/youtube/vitess/go/bson"</pre> - </td> - </tr> - <tr class="same-code nl-2 ol-2"> - <td class="lines-num lines-num-old"> - <span rel="L1">2</span> - </td> - <td class="lines-num lines-num-new"> - <span rel="L1">2</span> - </td> - <td class="lines-code"> - <pre> "github.com/youtube/vitess/go/bson"</pre> - </td> - </tr> - <tr class="same-code nl-3 ol-3"> - <td class="lines-num lines-num-old"> - <span rel="L3">3</span> - </td> - <td class="lines-num lines-num-new"> - <span rel="L3">3</span> - </td> - <td class="lines-code"> - <pre> "github.com/youtube/vitess/go/bson"</pre> - </td> - </tr> - <tr class="add-code nl-4 ol-0"> - <td class="lines-num lines-num-old"> - <span rel="add">+</span> - </td> - <td class="lines-num lines-num-new"> - <span rel="L4">4</span> - </td> - <td class="lines-code"> - <pre> "github.com/youtube/vitess/go/bson"</pre> - </td> - </tr> - <tr class="add-code nl-5 ol-0"> - <td class="lines-num lines-num-old"> - <span rel="add">+</span> - </td> - <td class="lines-num lines-num-new"> - <span rel="L5">5</span> - </td> - <td class="lines-code"> - <pre> "github.com/youtube/vitess/go/bson"</pre> - </td> - </tr> - <tr class="del-code nl-0 ol-4"> - <td class="lines-num lines-num-old"> - <span rel="L4">4</span> - </td> - <td class="lines-num lines-num-new"> - <span rel="del">-</span> - </td> - <td class="lines-code"> - <pre> "github.com/youtube/vitess/go/bson"</pre> - </td> - </tr> - <tr class="del-code nl-0 ol-5"> - <td class="lines-num lines-num-old"> - <span rel="L5">5</span> - </td> - <td class="lines-num lines-num-new"> - <span rel="del">-</span> - </td> - <td class="lines-code"> - <pre> "github.com/youtube/vitess/go/bson"</pre> - </td> - </tr> - <tr class="del-code nl-0 ol-6"> - <td class="lines-num lines-num-old"> - <span rel="L6">6</span> - </td> - <td class="lines-num lines-num-new"> - <span rel="del">-</span> - </td> - <td class="lines-code"> - <pre> "github.com/youtube/vitess/go/bson"</pre> - </td> - </tr> - <tr class="del-code nl-0 ol-7"> - <td class="lines-num lines-num-old"> - <span rel="L7">7</span> - </td> - <td class="lines-num lines-num-new"> - <span rel="del">-</span> - </td> - <td class="lines-code"> - <pre> "github.com/youtube/vitess/go/bson"</pre> - </td> - </tr> - <tr class="same-code nl-6 ol-8"> - <td class="lines-num lines-num-old"> - <span rel="L8">8</span> - </td> - <td class="lines-num lines-num-new"> - <span rel="L6">6</span> - </td> - <td class="lines-code"> - <pre> "github.com/youtube/vitess/go/bson"</pre> - </td> - </tr> - <tr class="same-code nl-7 ol-9"> - <td class="lines-num lines-num-old"> - <span rel="L1">9</span> - </td> - <td class="lines-num lines-num-new"> - <span rel="L1">7</span> - </td> - <td class="lines-code"> - <pre> "github.com/youtube/vitess/go/bson"</pre> - </td> - </tr> - <tr class="same-code nl-8 ol-10"> - <td class="lines-num lines-num-old"> - <span rel="L1">10</span> - </td> - <td class="lines-num lines-num-new"> - <span rel="L1">8</span> - </td> - <td class="lines-code"> - <pre> "github.com/youtube/vitess/go/bson"</pre> - </td> - </tr> - <tr class="ellipsis-code"> - <td class="text-center lines-ellipsis" colspan="2"> - <i class="fa fa-ellipsis-h"></i> - </td> - <td class="lines-code"> - <pre> "github.com/youtube/vitess/go/bson"</pre> - </td> - </tr> - <tr class="same-code nl-8 ol-10"> - <td class="lines-num lines-num-old"> - <span rel="L1">10</span> - </td> - <td class="lines-num lines-num-new"> - <span rel="L1">8</span> - </td> - <td class="lines-code"> - <pre> "github.com/youtube/vitess/go/bson"</pre> - </td> - </tr> - <tr class="same-code nl-8 ol-10"> - <td class="lines-num lines-num-old"> - <span rel="L1">10</span> - </td> - <td class="lines-num lines-num-new"> - <span rel="L1">8</span> - </td> - <td class="lines-code"> - <pre> "github.com/youtube/vitess/go/bson"</pre> - </td> - </tr> - </tbody> - </table> - </div> - </div> - - <div class="panel panel-default diff-file-box diff-box file-content"> - <div class="panel-heading"> - <div class="diff-counter count pull-left"> - <span class="add" data-line="0">BIN</span> - <span class="bar"> - <span class="pull-left add"></span> - <span class="pull-left del"></span> - </span> - <span class="del" data-line="1"></span> - </div> - <a class="btn btn-default btn-sm pull-right" href="#">View File</a> - <span class="file">data/test/bson_test/simple_type.png</span> - </div> - <div class="panel-body file-body file-code code-view code-bin"> - <table> - <tbody> - <tr class="text-center"><td><img src="http://1.gravatar.com/avatar/f72f7454ce9d710baa506394f68f4132?s=200" alt=""/></td></tr> - </tbody> - </table> - </div> - </div> --> </div> </div> {{template "base/footer" .}} From a5fcaae5ee550ef28a77b9387f6c75192ef1a88a Mon Sep 17 00:00:00 2001 From: Unknown <joe2010xtmf@163.com> Date: Fri, 11 Apr 2014 12:26:23 -0400 Subject: [PATCH 12/12] UPDATE README --- README.md | 4 +++- README_ZH.md | 4 +++- templates/base/navbar.tmpl | 4 ++-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index adb70cde7..d30e81356 100644 --- a/README.md +++ b/README.md @@ -45,8 +45,9 @@ Make sure you install [Prerequirements](https://github.com/gogits/gogs/wiki/Prer There are two ways to install Gogs: -- [Install from binary](https://github.com/gogits/gogs/wiki/Install-from-binary): **STRONGLY RECOMMENDED** for just try and deployment! +- [Install from binary](https://github.com/gogits/gogs/wiki/Install-from-binary): **STRONGLY RECOMMENDED** - [Install from source](https://github.com/gogits/gogs/wiki/Install-from-source) +- [Ship with Docker](https://github.com/gogits/gogs/tree/master/dockerfiles) ## Acknowledgments @@ -56,6 +57,7 @@ There are two ways to install Gogs: - System Monitor Status is inspired by [GoBlog](https://github.com/fuxiaohei/goblog). - Usage and modification from [beego](http://beego.me) modules. - Thanks [gobuild.io](http://gobuild.io) for providing binary compile and download service. +- Great thanks to [Docker China](http://www.dockboard.org/) for providing [dockerfiles](https://github.com/gogits/gogs/tree/master/dockerfiles). ## Contributors diff --git a/README_ZH.md b/README_ZH.md index 1bfffc81b..43303cdf5 100644 --- a/README_ZH.md +++ b/README_ZH.md @@ -39,8 +39,9 @@ Gogs 完全使用 Go 语言来实现对 Git 数据的操作,实现 **零** 依 然后,您可以通过以下两种方式来安装 Gogs: -- [二进制安装](https://github.com/gogits/gogs/wiki/Install-from-binary): **强烈推荐** 适合体验者和实际部署 +- [二进制安装](https://github.com/gogits/gogs/wiki/Install-from-binary): **强烈推荐** - [源码安装](https://github.com/gogits/gogs/wiki/Install-from-source) +- [采用 Docker 部署](https://github.com/gogits/gogs/tree/master/dockerfiles) ## 特别鸣谢 @@ -50,6 +51,7 @@ Gogs 完全使用 Go 语言来实现对 Git 数据的操作,实现 **零** 依 - [beego](http://beego.me) 模块的使用与修改。 - [martini](http://martini.codegangsta.io/) 的路由与中间件机制。 - 感谢 [gobuild.io](http://gobuild.io) 提供二进制编译与下载服务。 +- 感谢 [Docker 中文社区](http://www.dockboard.org/) 提供的 [dockerfiles](https://github.com/gogits/gogs/tree/master/dockerfiles)。 ## 贡献成员 diff --git a/templates/base/navbar.tmpl b/templates/base/navbar.tmpl index 1f908f39c..8d6ca47e9 100644 --- a/templates/base/navbar.tmpl +++ b/templates/base/navbar.tmpl @@ -4,7 +4,7 @@ <a id="nav-logo" class="nav-item pull-left{{if .PageIsHome}} active{{end}}" href="/"><img src="/img/favicon.png" alt="Gogs Logo" id="logo"></a> <a class="nav-item pull-left{{if .PageIsUserDashboard}} active{{end}}" href="/">Dashboard</a> <a class="nav-item pull-left{{if .PageIsHelp}} active{{end}}" href="https://github.com/gogits/gogs/wiki">Help</a>{{if .IsSigned}} - <form class="nav-item pull-left{{if .PageIsNewRepo}} active{{end}}" id="nav-search-form"> + {{if .Repository}}<form class="nav-item pull-left{{if .PageIsNewRepo}} active{{end}}" id="nav-search-form"> <div class="input-group"> <div class="input-group-btn"> <button type="button" class="btn btn-sm btn-default dropdown-toggle" data-toggle="dropdown">All Repositories <span class="caret"></span></button> @@ -16,7 +16,7 @@ </div> <input type="search" class="form-control input-sm" name="q" placeholder="search code, commits and issues"/> </div> - </form> + </form>{{end}} <a id="nav-out" class="nav-item navbar-right navbar-btn btn btn-danger" href="/user/logout/"><i class="fa fa-power-off fa-lg"></i></a> <a id="nav-avatar" class="nav-item navbar-right{{if .PageIsUserProfile}} active{{end}}" href="{{.SignedUser.HomeLink}}" data-toggle="tooltip" data-placement="bottom" title="{{.SignedUserName}}"> <img src="{{.SignedUser.AvatarLink}}?s=28" alt="user-avatar" title="username"/>