Sign in

Search issue titles and bodies, change requests and comments. Private repositories you cannot read are not included.

vole
Clone

Read only, no credentials:

https://rodent.software/git/vole.git

Write over SSH with a registered key:

git clone ssh://git@0.0.0.0:2222/vole.git

A free and open-source forge that lives in your Git repo.

Docs: rewrite the README and organize the guides

520470e19cd906bd6fff987e2d132d793ce56486 · Keenan Nemetz · 16d ago · parent c5902451

Docs: rewrite the README and organize the guides

Replace the long README with a landing page, split feature details into focused guides, and remove the roadmap and spike notes. Update comments that referenced them.

docs/getting-started.md +117

@@ -0,0 +1,117 @@
1 # Getting started
2
3 This guide takes you from the source code to a repository you can clone. Vole is
4 built to get out of the way: no sign-up, no external database, and no web server
5 to configure. You can have a working forge in a few minutes.
6
7 ## What you need
8
9 - Go 1.27 or newer, to build Vole.
10 - Git.
11 - An SSH key. Vole uses the key to recognize you when you push. If you already use
12 GitHub or another forge with SSH, you can reuse that key.
13 - Optional: `git-lfs`, if you plan to store large files.
14
15 ## Build Vole
16
17 From a source checkout:
18
19 ```sh
20 git clone <repository-url>
21 cd vole
22 go build -o vole ./cmd/vole
23 ```
24
25 Or build it directly:
26
27 ```sh
28 go build -o vole github.com/rodent-software/vole/cmd/vole
29 ```
30
31 ## Create an instance
32
33 Pick a directory for the instance and run `vole init` there:
34
35 ```sh
36 mkdir forge
37 cd forge
38 /path/to/vole init --dir .
39 ```
40
41 Vole creates:
42
43 ```text
44 vole.toml settings
45 data/users.db accounts, SSH keys, access rules, and locks
46 data/repos/ your Git repositories
47 data/audit.log a record of privileged actions
48 ```
49
50 `vole init` stores an absolute path in `vole.toml`, so you can start Vole from
51 another directory later.
52
53 ## Create an account and a repository
54
55 ```sh
56 vole user create you
57 vole user add-key you --key ~/.ssh/id_ed25519.pub
58 vole repo create demo --owner you
59 ```
60
61 An account cannot sign in until it has at least one key. The owner of a new
62 repository is its first admin.
63
64 New repositories are private. To make the web page and anonymous clone URL
65 readable, publish it:
66
67 ```sh
68 vole acl default demo read
69 ```
70
71 ## Start Vole
72
73 ```sh
74 vole serve
75 ```
76
77 By default, Vole listens on:
78
79 - `127.0.0.1:2222` for SSH. This is how you write to repositories.
80 - `127.0.0.1:8080` for the web interface and anonymous cloning. This side is
81 read-only.
82
83 If you start Vole from another directory, point it at the config file:
84
85 ```sh
86 vole serve --config /srv/forge/vole.toml
87 ```
88
89 Most administrative commands also accept `--config`.
90
91 ## Clone and push
92
93 ```sh
94 git clone ssh://git@127.0.0.1:2222/demo.git # read and write, using your key
95 git clone http://127.0.0.1:8080/git/demo.git # read only, no credentials
96 ```
97
98 To check which account your key belongs to:
99
100 ```sh
101 cd demo
102 vole whoami
103 ```
104
105 Try creating an issue:
106
107 ```sh
108 vole issue new --title "Docs are blank" -m "The index page renders nothing."
109 ```
110
111 ## Where to go next
112
113 - [Configuration](configuration.md) — change addresses, limits, and the public URL.
114 - [Users and access](users-and-access.md) — invite teammates and set permissions.
115 - [CI](ci.md) — add a workflow and run your first build.
116 - [Sites](sites.md) — publish a website from a repository.
117 - [Operations](operations.md) — back up your instance.