自建Git服务器(Gogs)

背景

自从有了服务器,又懂了点MySql并且买了一个鹅厂的三年数据库服务,我就什么都想自己来做了,加上之前自己的代码也存在公司,毕竟是别人的不是,还是自己搭个吧

环境: Ubuntu16.04

步骤

  1. 直接下载安装包,

    其中386指的是86系统,amd64指的是64位系统,其他的就不用说了吧
  2. 解压,然后 cd 进入gogs目录,执行./gogs web。程序就会运行在 0.0.0.0:3000
  3. nginx 配置 先不说了,单独使用独立的MySql话比较方便,直接填写相关地址账号信息就可以了,之后可以在 gogs/custom/conf/app.ini 修改 install 时的一些配置。
APP_NAME = Gogs
RUN_USER = root
RUN_MODE = prod

[database]
DB_TYPE  = mysql
HOST     = address:port
NAME     = CTGogs
USER     = name
PASSWD   = pass
SSL_MODE = disable
PATH     = data/gogs.db

[repository]
ROOT = /data/gogs-repositories

[server]
DOMAIN           = git.easyulife.com
HTTP_PORT        = 3000
ROOT_URL         = https://git.easyulife.com/
DISABLE_SSH      = false
SSH_PORT         = 22  // 注意端口22可能被占用,需要更改为别的端口
START_SSH_SERVER = true
OFFLINE_MODE     = false

[mailer]
ENABLED = false
  1. 配置与自动后台运行。

gogs文件

修改Gogs service配置文件

vi 路径/gogs/scripts/init/debian/gogs

[Unit]
Description=Gogs
After=syslog.target
After=network.target
// 下面这个划重点了,我忙活了半天,死活跑不起来就是这个原因,这下面一行的意思是保证这么些数据库服务都起来了,才运行后面的。这里本来就是要注释掉部分的,由于我用的是独立的MySql所有我全都注了
#After=mariadb.service mysqld.service postgresql.service memcached.service redis.service

[Service]
# Modify these two values and uncomment them if you have
# repos with lots of files and get an HTTP error 500 because
# of that
###
#LimitMEMLOCK=infinity
#LimitNOFILE=65535
Type=simple
User=root // 用户民
Group=root // 用户组
WorkingDirectory=/data/gogs // 工作目录,填到gogs运行文件的那一级
ExecStart=/data/gogs/gogs web // 执行文件的uri
Restart=always
Environment=USER=root HOME=/data //gogs文件夹的一级目录

[Install]
WantedBy=multi-user.target

sudo cp 路径/gogs/scripts/init/debian/gogs /etc/init.d/

增加执行权限

sudo chmod +x /etc/init.d/gogs

gogs.service文件

PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="Gogs"
NAME=gogs
SERVICEVERBOSE=yes
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
WORKINGDIR=/data/gogs/gogs //修改成你的gogs运行文件uri
DAEMON=$WORKINGDIR/$NAME
DAEMON_ARGS="web"
USER=root //执行用户

复制service

cp 路径/gogs/scripts/systemd/gogs.service /etc/systemd/system/

  1. 大功告成运行 sudo service gogs start,如果无法访问 service gogs status查看错误原因

你可能感兴趣的:(自建Git服务器(Gogs))