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.
Phase 6 is done: sites ride the instance's domain, TLS stays in front
9bea7f110ae780105f9c7c58024a3b67a86d7d7a · Keenan Nemetz · 18d ago · parent d3296cda
Phase 6 is done: sites ride the instance's domain, TLS stays in front Custom domains and ACME are dropped as non-goals rather than deferred work. An instance already owns one domain and terminates TLS in front of it, so every repository's site is a subdomain of that domain and inherits the certificate that already exists. `pages_domain` remains the only setting. The operational requirement that falls out of it, documented in the README and the sample config: the proxy must preserve the Host header, because Host is the only thing that says which site a request is for.
internal/config/config.go +2
| @@ -117,6 +117,8 @@ func Sample() string { | |||
| 117 | 117 | data_dir = "./data" | |
| 118 | 118 | ||
| 119 | 119 | # Read-only: the web UI and anonymous git clone. | |
| 120 | # TLS is not Vole's job: terminate it in a proxy in front of this address and keep | ||
| 121 | # the Host header intact, because site requests are routed by hostname. | ||
| 120 | 122 | http_addr = "127.0.0.1:8080" | |
| 121 | 123 | ||
| 122 | 124 | # The only write transport. Identity is the SSH key presented at handshake. | |