deploy.sh 1.4 KB

12345678910111213141516171819202122232425262728293031
  1. # deploy.sh in gogits image, replace the configs and run gogs
  2. ## Replace the database password
  3. DB_TYPE=THE_DB_TYPE
  4. DB_PASSWORD=THE_DB_PASSWORD
  5. DB_ALIAS=DB
  6. DB_TYPE_LINE=`awk '$0 ~ str{print NR}' str="DB_TYPE = mysql" $GOPATH/src/github.com/gogits/gogs/conf/app.ini`
  7. DB_PASSWORD_LINE=`awk '$0 ~ str{print NR+1}' str="USER = root" $GOPATH/src/github.com/gogits/gogs/conf/app.ini`
  8. sed -i "${DB_TYPE_LINE}s/.*$/DB_TYPE = $DB_TYPE/g" $GOPATH/src/github.com/gogits/gogs/conf/app.ini
  9. sed -i "${DB_PASSWORD_LINE}s/.*$/PASSWD = $DB_PASSWORD/g" $GOPATH/src/github.com/gogits/gogs/conf/app.ini
  10. if [ $DB_TYPE = "postgres" ]
  11. then
  12. # Add the postgres in gogs image.
  13. apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8
  14. apt-get -y -q install python-software-properties software-properties-common
  15. apt-get -y -q install postgresql-9.3 postgresql-client-9.3 postgresql-contrib-9.3
  16. fi
  17. ## Replace the database address and port
  18. # When using --link in docker run, the database image's info looks like this:
  19. # DB_PORT=tcp://172.17.0.2:3306
  20. # DB_PORT_3306_TCP_PORT=3306
  21. # DB_PORT_3306_TCP_PROTO=tcp
  22. # DB_PORT_3306_TCP_ADDR=172.17.0.2
  23. 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
  24. cd $GOPATH/src/github.com/gogits/gogs/
  25. # The sudo is a must here, or the go within docker container won't get the current user by os.Getenv("USERNAME")
  26. sudo ./gogs web