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.
Remove the container deployment
9bce37233413e6a56c38d5cf90e79dfa496649b2 · Keenan Nemetz · 3d ago · parent c1edfd3c
Remove the container deployment A Vole instance is one process whose state is a directory on local disk. A container therefore adds a layer without removing one, and it costs something real: the service unit's hardening, and the CI half, which needs an OCI runtime the container does not have without mounting the host's socket — the thing the runner docs refuse. It was also the weakest path in practice. No image is published, so an upgrade meant a source checkout and a Go build where the package is one `apt install`. CI never ran the container; it was tested by hand once, which is a surface that rots quietly. So the Dockerfile, the compose file, the entrypoint, the image's configuration, and the guide go. The deployment checker loses its compose and COPY checks, and the render script is the only shipped script left. Every other mention of Docker in the repository means the CI container runtime, and those stay. Users who manage their machines with Compose or Kubernetes are told where they stand: give the forge a small virtual machine of its own, and the first-boot file works there unchanged.
deploy/docker/entrypoint.sh −15
| @@ -1,15 +0,0 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | # Entrypoint for the Vole container. | ||
| 3 | # | ||
| 4 | # A package installs an instance and then starts it. An image cannot install at | ||
| 5 | # run time, so the first process does the part that has to happen once: creating | ||
| 6 | # the database and the repository tree the configuration names. `vole admin init` | ||
| 7 | # is idempotent, so running it on every start changes nothing after the first. | ||
| 8 | set -eu | ||
| 9 | |||
| 10 | vole admin init --config "$VOLE_CONFIG" >/dev/null | ||
| 11 | |||
| 12 | # `docker run <image> admin account list` runs that command instead of the | ||
| 13 | # server, which is how accounts, repositories, and backups are made in a | ||
| 14 | # container. | ||
| 15 | exec vole "$@" | ||