gogs是一个极其轻量的git服务器,所需资源极少,功能基本齐全,如果是个人使用或者使用团队规模不大,且要求不多,非常适合部署在树莓派上使用。
硬件:Raspberry Pi 4B(4g或8g版本)
系统:Ubuntu 20.04 LTS
Docker:18.09.9
gogs镜像:pi4k8s/gogs:0.11.91
-
注意:因为我们树莓派4B本身并非x86,而是arm架构,且我们的系统装的是64位ubuntu,因此镜像只能选择arm64v8架构的镜像。这里我们选择的gogs镜像是参考官方gogs的Dockerfile(https://github.com/gogs/gogs)在树莓派上编译的。
数据目录:/home/docker/server/gogs/data
-
启动gogs
docker run -itd --name=gogs -p 10022:22 -p 3000:3000 --privileged=true -v /home/docker/server/gogs/data:/data pi4k8s/gogs:0.11.91
-
初始化
用浏览器访问http://ip:3000进行初始化
初始化一共分为3个模块,分别是数据库设置、应用基本设置和可选设置,其中可选设置又分为邮件服务设置、服务器和其它服务设置和管理员账号设置,下面分别说明
数据库设置
对于个人用户或者规模不大的企业用户来说,直接使用SQLite3即可,数据库文件路径保持默认值就可以了。
应用基本设置
这部分设置主要注意一下域名和应用URL,应用URL就是我们通过浏览器访问gogs服务的URL,如果gogs服务需要通过nginx等web服务器反向代理访问的话,这里需要安装实际情况填入实际访问路径。
可选设置->邮件服务配置
这里我选择了腾讯企业邮箱账号,经测试,可以正常发送邮件
可选设置-> 服务器和其它服务设置
可选设置->管理员账号设置
新建一个用户作为管理员。
全部设置完成后,点“立即安装”按钮,稍等片刻,gogs初始化完成后会自动引导到首页如下
到这里,一个git服务器就部署好了。
-
其它运维命令
#启停命令
docker start gogs
docker stop gogs
docker restart gogs
#删除
docker rm gogs
#查看日志
docker logs gogs
#进入容器
docker exec -i -t gogs /bin/sh
-
配置文件app.ini
# cat /home/docker/server/gogs/data/gogs/conf/app.ini
APP_NAME = Gogs
RUN_USER = git
RUN_MODE = prod
[database]
DB_TYPE = sqlite3
HOST = 127.0.0.1:3306
NAME = gogs
USER = root
PASSWD =
SSL_MODE = disable
PATH = data/gogs.db
[repository]
ROOT = /data/git/gogs-repositories
[server]
DOMAIN = 192.168.5.125
HTTP_PORT = 3000
ROOT_URL = http://192.168.5.125:3000/
DISABLE_SSH = false
SSH_PORT = 22
START_SSH_SERVER = false
OFFLINE_MODE = false
[mailer]
ENABLED = true
HOST = smtp.test.net:465
FROM = "gogs"<javafun@test.net>
USER = javafun@test.net
PASSWD = test1234
[service]
REGISTER_EMAIL_CONFIRM = true
ENABLE_NOTIFY_MAIL = true
DISABLE_REGISTRATION = false
ENABLE_CAPTCHA = false
REQUIRE_SIGNIN_VIEW = false
[picture]
DISABLE_GRAVATAR = false
ENABLE_FEDERATED_AVATAR = false
[session]
PROVIDER = file
[log]
MODE = console, file
LEVEL = Info
ROOT_PATH = /app/gogs/log
[security]
INSTALL_LOCK = true
SECRET_KEY = V5Oj0REdu1iQaxe
其它
-
配置邮件为yeah和sohu邮箱没有调通,建议设置qq企业邮箱账号
参考
来源:oschina
链接:https://my.oschina.net/fastjrun/blog/4443587