Soft-Serve小巧强大-轻量级Git服务


前言

用过 Gitlab, 也挺好用。
遇到几个问题:

  1. Gitlab 很消耗服务器性能,个人电脑很吃不消, 一般安装在专门服务器。
  2. 想在自己的工作电脑搭一个 git 服务, 以便局域网内几个人提交、合并代码足矣。

在这里插入图片描述

Soft-Serve

项目: https://github.com/charmbracelet/soft-serve

官方解释:

  • 一个美味的、可自托管的命令行 Git 服务器。🍦
  • 通过 SSH 轻松导航 TUI
  • 通过 SSH、HTTP 或 Git 协议克隆存储库
  • Git LFS 支持 HTTP 和 SSH 后端
  • 使用 SSH 管理存储库
  • 使用 SSH 按需创建存储库或git push
  • 使用可通过 SSH 访问的 UI 浏览存储库、文件和提交
  • 通过 SSH 打印文件,带或不带语法突出显示和行号
  • 轻松访问控制
  • 使用公钥进行 SSH 身份验证
  • 允许/禁止匿名访问
  • 使用 SSH 公钥添加协作者
  • 回购可以是公共的或私人的
  • 用户访问令牌

我的要求

能完成基本的git 操作

使用步骤

官方提供了 linux, macOS , windows ,docker

环境

已经安装 git 。
使用 git bash 窗口 (建议后续都在 git bash 执行, cmd 窗口会莫名奇妙有些问题)

公钥、私钥生成

ssh-keygen  -t  rsa

自定义存放目录 F:\temp\id_rsa_leifh
在这里插入图片描述
得到如下文件公钥(后缀.pub),私钥
在这里插入图片描述

docker 版

windows docker desktop

安装镜像

docker run --name=soft-serve -e SOFT_SERVE_INITIAL_ADMIN_KEYS=/soft-serve/ssh/id_rsa46.pub \
--volume D://pddyjc_data/soft_server_data:/soft-serve \
--publish 23231:23231 --publish 23232:23232 --publish 23233:23233 --publish 9418:9418 \
--restart unless-stopped charmcli/soft-serve:latest
参数解释:

SOFT_SERVE_INITIAL_ADMIN_KEYS
配置管理员的公钥, 添加在这个的公钥,视为拥有所有权限的用户。 我肯定把我自己的公钥加进去了^ – ^

--volume D://pddyjc_data/soft_server_data:/soft-serve

挂载本地文件目录到/soft-serve, soft-serve目录是应用默认数据目录,用本地目录挂载应该是为了方便在本地管理文件。

配置

config.yaml

位置: 在部署 soft-serve 的电脑

以上步骤如果成功的话会在 D://pddyjc_data/soft_server_data 生成一个配置文件 : config.yaml

有两项地方可以配置(不配置是否影响我的基本使用我不了解,没验证), 这个配置具体在哪步起作用我不是很清楚,(反正我先填了再说)

其它参数没改
在这里插入图片描述

config

位置: 在需要访问 soft-serve 的电脑
配置 ssh 的私钥
目录 C:\Users\Administrator\.ssh 里面的 config
Host : 就是部署 soft-serve 的电脑IP
IdentityFile : 本机的私钥目录
配好了,之后访问 soft-serve 就不用输入密钥了,(因为密钥一大串,谁看都得晕)
在这里插入图片描述

windows 版

下载安装包 下载地址
soft-serve_0.7.4_Windows_x86_64.zip
解压。
添加两个环境变量, 公钥看上面步骤
在这里插入图片描述
配置文件 config.yaml 修改, 看上面步骤。

启动: 进包目录执行

soft.exe  serve

在这里插入图片描述

实操

更多详情参阅官文

创建用户及绑定公钥

创建用户 beatrice
localhost : 改成 soft-serve 的IP, 下同。

ssh -p 23231 localhost user create beatrice

给 beatrice 绑定公钥 AAAAB3Nz… (注! 这个公钥和上面配置在 config 的私钥是成双成对的)

ssh -p 23231 localhost user add-pubkey beatrice ssh-rsa AAAAB3Nz...

创建代码仓库及添加合作者

创建仓库名为 icecream

ssh -p 23231 localhost repo create icecream

添加合作者 beatrice

ssh -p 23231 localhost repo icecream add soft-serve beatrice

之后就是 git 基本操作了

clone

git clone ssh://localhost:23231/icecream

添加 remote

git remote add origin ssh://localhost:23231/icecream

。。。。。。。。

和以前的区别 就是 http 换成了 ssh

总结

安装比较简单, 初次运行docker 一直失败, 调了好久。好像是加上 SOFT_SERVE_INITIAL_ADMIN_KEYS 就好了。
没有界面操作, 命令经常忘记,我是把教程下载下来, 每次要建库、用户再打开查阅。


—————— 但行好事莫问前程,你若盛开蝴蝶自来

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值