Repositories / gitweb2.git

service/README.md

Clone (read-only): git clone http://git.guha-anderson.com/git/gitweb2.git

Branch
1455 bytes · 28c8abe04985

gitweb2 on homebox

User systemd unit for this machine only: gitweb2.service.

Build the binary first (dune build from the repo root; binary is _build/install/default/bin/gitweb2), then:

mkdir -p ~/.config/systemd/user
cp service/gitweb2.service ~/.config/systemd/user/
systemctl --user daemon-reload
systemctl --user enable --now gitweb2.service

Check status and logs:

systemctl --user status gitweb2.service
journalctl --user-unit gitweb2.service -f

The unit listens on 0.0.0.0:8002, serves /home/git/repos, and uses this checkout at /media/external0/arjun/repos/homebox/gitweb2. ExecStart goes through bash -c so the --pygments command stays a single argument (systemd splits unquoted strings). Edit the unit file if any of that moves.

For a repository with key <repo>, the URLs on this host are:

  • HTML viewer: http://homebox:8002/repo/<repo>
  • Read-only clone: git clone http://homebox:8002/git/<repo>

If the service is reached publicly through a port-forward or reverse proxy at a different host or scheme, append --public-url <url> to the ExecStart line so the clone command shown on each repo page reflects the public URL (e.g. --public-url https://git.example.com).

Without lingering, the user service stops when you log out (loginctl enable-linger "$USER" to keep it).