💾 Archived View for splint.rs › soft_git.gmi captured on 2024-05-10 at 10:49:53. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2024-03-21)

➡️ Next capture (2024-05-26)

-=-=-=-=-=-=-

A Review of Soft Server

Soft Serve is a git server for the command line. You can see the maintainers' version here, with ssh:

ssh git.charm.sh

It looks like this:


   Soft Serve 

  • Repositories    About

  ┃ Bubble Tea                                                                                                                                                     
  Updated 31 minutes ago
  ┃ A powerful little TUI framework  [mirror]
  ┃ git clone git@git.charm.sh:bubbletea.git

    Soft Serve                                                                                                                                                         
  Updated 3 days ago                                                                                                  
    A tasty, self-hostable Git server for the command line [mirror]                                                   
    git clone git@git.charm.sh:soft-serve.git                                                                         

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:

    git remote add soft ssh -p $PORT_NO $DOMAIN
    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.