1# Soft-Serve
2
3Distribute your software on the command line with SSH and Git.
4
5## What is it
6
7Soft-Serve is a SSH server that hosts a Git server and interactive TUI built from
8the repos you push to it. Authors can easily push their projects to Soft-Serve by
9adding it as a remote and users can clone repos from Soft-Serve and stay up to
10date with the TUI as you push commits.
11
12## Pushing a repo
13
141. Run `soft-serve`
152. Add soft-serve as a remote on any git repo: `git remote add soft-serve ssh://git@localhost:23231/soft-serve`
163. Push stuff: `git push soft-serve main`
17
18## Cloning a repo
19
201. You'll need to know the name (for now, it's not listed anywhere): `git clone ssh://git@localhost:23231/soft-serve`
21
22## Soft-Serve TUI
23
24If you `ssh localhost -p 23231` you'll see a list of the latest commits to the repos you've pushed.
25
26## Auth
27
28By default anyone can push or pull from the Git repositories. This is mainly
29for testing, you can also whitelist public keys that have Git write access by
30creating an authorized keys file with the public key for each author. By
31default this file is expected to be at `./.ssh/soft_serve_git_authorized_keys`.