A Review of Soft Server
Soft Serve is a git server for the command line. You can see the maintainers' version here, with ssh:
1ssh git.charm.sh
It looks like this:
1
2 Soft Serve
3
4 • Repositories About
5
6 ┃ Bubble Tea
7 Updated 31 minutes ago
8 ┃ A powerful little TUI framework [mirror]
9 ┃ git clone git@git.charm.sh:bubbletea.git
10
11 Soft Serve
12 Updated 3 days ago
13 A tasty, self-hostable Git server for the command line [mirror]
14 git clone git@git.charm.sh:soft-serve.git
15
Benefits
The setup takes no time, with very few steps - just give it a few variables in /etc/soft
, start the service, and start pushing.
Once you've given it your admin ssh keys, you can push repositories without setting them up beforehand. Just enter the repository, and do:
1 git remote add soft ssh -p $PORT_NO $DOMAIN
2 git push soft master
Everything can be performed from the command line, so I managed to mirror a full gitea instance with a little bash script.
The underlying structure lets you see the inner workings very clearly.
Disadvantages
Using git-lfs
requires a few more setup steps.
If you want automatic user sign-up, you'll have to add it yourself. Of course, if you can access everyone's ssh keys, it's easy enough to add.
And of course, as this is cli-only, that'll put some people off. That said, for most projects this might help with quality control.