Small task automation and simplification tool for bare-bones git hosting.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1.7 KiB


This project is licensed under the AGPLv3 terms trans rights!

Small task automation and simplification tool for bare-bones git hosting.


$ gitmgr

Every configuration option is passed through the environment.

  • MAX_DESCRIPTION_LENGTH (default: 120): The maximum length (in characters) for the description display
  • LISTEN (default: /run/gitmgr.sock): The listen address+port (e.g., or the listen socket
  • TITLE (default: gitmgr): The forge's title
  • GIT_ROOT (default: /srv/git): The git repository root (its contents must be writable by the daemon)
  • EXPORTED_FILE (default: git-daemon-export-ok): The file used by the Git http daemon and Gitweb for making a repository public
  • CLONE_URL_TEMPLATE (default: empty value): The template value used for building the clone URL. The placeholder value {{.Name}} contains the repository name.
  • PUBLIC_GIT_LINK_TEMPLATE (default: edit?repository={{.}}): The template value used for linking to the public repository page from within the project list.
  • VERBOSE (default: unset): If set, enables verbose logging of git repository operations (e.g. edition, deletion)
  • URL_PREFIX (default: empty): An optional URL prefix to provide if it doesn't sit at the website root (e.g. /admin)
  • DEFAULT_HEAD (default: heads/main): The default head to set on repository init (full path relative to refs/)


This project doesn't handle any form of authentication at all.

If you want to handle authentication on top of this website, refer to your reverse proxy's authentication capabilities.