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/vole.git

Write over SSH with a registered key:

git clone ssh://git@rodent.software:2222/vole.git

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

Name the configured host in the SSH clone link

268b93688db5dd045cf92f61dc0922919b074fc6 · Keenan Nemetz · 21h ago · parent 2c988ecd

Name the configured host in the SSH clone link

ssh_addr is a bind address, so an instance listening on 0.0.0.0 showed
ssh://git@0.0.0.0:2222/... in the clone menu. Take the host from public_url,
which is the configured name, and keep ssh_addr for the port. The instance
repository page reads the same helper.

docs/configuration.md +7−1

@@ -52,7 +52,7 @@ vole admin account list
52 52 | `secrets_key` | `<data_dir>/secrets.key` | The file holding the key that seals each repository's secrets. Point it somewhere a backup of `data_dir` does not reach, so a copy of the database is a copy of ciphertext |
53 53 | `http_addr` | `"127.0.0.1:8080"` | Address for the web interface and anonymous Git clone; with `https_addr`, the ACME challenge and redirect address |
54 54 | `https_addr` | empty | Address for automatic HTTPS; setting it enables ACME |
55 | `ssh_addr` | `"127.0.0.1:2222"` | Address for SSH, the authenticated Git transport |
55 | `ssh_addr` | `"127.0.0.1:2222"` | Address for SSH, the authenticated Git transport; its port is also the one the clone link names, while the clone host comes from `public_url` |
56 56 | `ssh_max_connections` | `64` | Simultaneous connections on that listener; past it a connection is closed before the handshake rather than queued |
57 57 | `ssh_max_git_processes` | `16` | Git processes across every SSH connection; past it a command waits a short while, then is told to retry |
58 58 | `ssh_handshake_timeout_seconds` | `20` | How long a connection may take to finish the SSH handshake before it is dropped |
@@ -300,6 +300,12 @@ Copying a clone URL out of a page and into a terminal is normal use, so the URL
300 300 page shows should be the instance's, not the caller's. Set `public_url` on any
301 301 instance other than a loopback preview.
302 302
303 The same host is what the SSH clone link shows, with the port from `ssh_addr`:
304 an instance listening on `0.0.0.0:2222` with `public_url =
305 "https://forge.example.com"` offers `ssh://git@forge.example.com:2222/demo.git`.
306 A bind address is not something a person can connect to, so it is never used as
307 the clone host when a name is configured.
308
303 309 Forwarded headers (`X-Forwarded-Proto`, `X-Forwarded-For`) are believed only when
304 310 `git_http_client_ip_header` is set, because that is the instance's statement that
305 311 a proxy it trusts is rewriting them. Without it, a client that sets a forwarding