登录
  • 人们都希望被别人需要 却往往事与愿违
  • 一个国家的监狱里有一个良心犯, 这个国家就不会有良心; 有二个, 这个国家就让人恶心; 有三个, 这就不是国家; 有四个, 亡国就是解放 @昂山素季 (缅甸民运领袖)

在树莓派上搭建一个 git 服务器

建站运维 Benny 小土豆 6600 次浏览 1427 字 8 个评论
文章目录 [显示]

树莓派虽说小,但是性能…… 也差啊!

开源的 git 实现有很多,gitlab community 算是一种,但是对硬件要求有点高,这里我使用了 nova 推荐的 gogs,gogs 是用 golang 写的,足够轻量级,足够让我瞎玩……

环境

一只不可以吃的树莓派

数据库:MySQL>=5.7,PosgreSQL、MSSQL、TiDB

由于我选择了 MySQL,而 Raspbian 的源里似乎只有 5.5 的,所以只能自己编译一个 5.7 的啦…… 耗时 N 小时…… 当然啦有预编译好的 deb,当然啦非得用 5.5 也是没关系的!

下载配置 gogs

  1. # 创建一个git用户,专门用于运行该服务
  2. useradd git -s /bin/bash -m -d /home/GitServer
  3. # 为了方便管理,切换到该目录
  4. cd /home/GitServer
  5. # 切换到该用户
  6. su git
  7. # 下载二进制并解压缩
  8. wget c https://dl.gogs.io/0.11.86/gogs_0.11.86_raspi2_armv6.zip
  9. unzip gogs_0.11.86_raspi2_armv6.zip
  10. cd gogs
  11. # 运行服务
  12. ./gogs web

打开浏览器,http:// 树莓派 IP:3000,会进入如下页面

在树莓派上搭建一个git服务器

此时如果你使用的是 MySQL5.7 以下版本,创建一个字符集是 utf-8 的数据库

  1. CREATE DATABASE gogs DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci

5.7 及以上直接创建就好了

其中域名和应用 url 两项需要填写你的域名(或者是树莓派 IP)

在树莓派上搭建一个git服务器

之后第一个注册的用户会是管理员用户。管你是 screen 还是 nohup 还是 supervisor 的。

监听本机

  1. vim /home/GitServer/gogs/custom/conf/app.ini

HTTP_PORT下添加一行

  1. HTTP_ADDR=127.0.0.1

Nginx 反代配置

对应的 server 段添加如下信息就可以了

  1. location / {
  2. proxy_pass http://127.0.0.1:3000; # 对应服务
  3. }

完整配置文件戳这里

systemd 配置

接上,我们需要更改 git 用户的 shell

  1. usermod git -s /usr/sbin/nologin

之后交给 systemd 启动就好了

  1. [Unit]
  2. Description=Benny's Personal Git Server
  3. After=syslog.target
  4. After=network.target
  5.  
  6. [Service]
  7. Type=simple
  8. User=git
  9. Group=git
  10. WorkingDirectory=/home/benny/GitServer/gogs
  11. ExecStart=/home/benny/GitServer/gogs/gogs web
  12. Restart=on-failure
  13. Environment=USER=git HOME=/home/benny/GitServer
  14.  
  15. ProtectSystem=full
  16. PrivateDevices=yes
  17. PrivateTmp=yes
  18. NoNewPrivileges=true
  19.  
  20. [Install]
  21. WantedBy=multi-user.target

在树莓派上搭建一个git服务器

Yeah~~

参考资料

https://github.com/gogs/gogs/blob/master/scripts/systemd/gogs.service

https://gogs.io/docs/intro/faqs

 


文章版权归原作者所有丨本站默认采用 CC-BY-NC-SA 4.0 协议进行授权 |
转载必须包含本声明,并以超链接形式注明原作者和本文原始地址:
https://dmesg.app/git-pi.html
喜欢 (13)
分享:-)
关于作者:
If you have any further questions, feel free to contact me in English or Chinese.
发表我的评论
取消评论

                     

去你妹的实名制!

  • 昵称 (必填)
  • 邮箱 (必填,不要邮件提醒可以随便写)
  • 网址 (选填)
(8) 个小伙伴在吐槽
  1. 这种仓库至少 raid1/raid10 起步吧。。。
    anomymous2019-06-28 23:35 回复
  2. 然后 TF 卡损坏,项目都丢失,哈哈哈
    anomymous2019-06-28 23:34 回复
  3. 树莓派 4 出了耶?,CPU 性能提升 3 倍,RAM 能上 4G,还有千兆网口和 usb3.0 :idea:
    弦上韫玉 2019-06-28 06:49 回复
    • 是的哟,买买买ლ|^Д^ლ|
      Benny 小土豆 2019-06-28 08:48 回复
  4. 好吧,搭就搭吧。
    repostone2019-05-15 15:29 回复
    • 自娱自乐??
      Benny 小土豆 2019-05-15 22:40 回复
  5. /me 搭了一个 gitea,虽然几乎不怎么用??
    ホロ 2019-04-30 19:03 回复
    • 嗯~留着吃灰(可以使劲放容易被 DMCA 的东西啊?
      Benny 小土豆 2019-04-30 21:13 回复
您直接访问了本站! 莫非您记住了我的域名. 厉害~ 我倍感荣幸啊 嘿嘿