gitmgr
Small task automation and simplification tool for bare-bones git hosting.
This project is made to provide a web-based interface to manage barebones git repositories.
Screenshots
Configuration
Every configuration option is passed through the environment.
MAX_DESCRIPTION_LENGTH
(default: 120): The maximum length (in characters) for the description displayLISTEN
(default:/run/gitmgr.sock
): The listen address+port (e.g.127.0.0.1:3000
), or the listen socketTITLE
(default:gitmgr
): The forge's titleGIT_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 publicCLONE_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 torefs/
)
Authentication
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.
Releases
Here are the packaged releases, with their changelogs and archive download links.
1.7.1 (AGPLv3)
- Fixed head version selection
GitMgr 1.7.1 Linux amd64, stripped (.tar.gz)
1.7 (AGPLv3)
- Added support for Github pull requests and Gitlab merge requests in display
- Added packed refs index support
- Added clean formatting of refs in default reference selector
- CSS design!
- Javascript comfort features (project deletion confirmation) around project list
- Added forge title customization
- LGBT+ rights!
GitMgr 1.7 Linux amd64, stripped (.tar.gz)
1.6 (AGPLv3)
- Fix: not wiping the default HEAD ref if there's no branch or tag
- Generating the clone URL on init
- Fixed umask in service file for world-readable clones
GitMgr 1.6 Linux amd64, stripped (.tar.gz)
1.5 (AGPLv3)
- Default branch support
- Default branch switching
GitMgr 1.5 Linux amd64, stripped (.tar.gz)
1.4 (AGPLv3)
- Url prefix support
GitMgr 1.4 Linux amd64, stripped (.tar.gz)
1.3 (AGPLv3)
- Grouping by category on list display
- Shutdown error handling fixed
- Ignoring dot dirs (e.g.
.ssh
)
GitMgr 1.3 Linux amd64, stripped (.tar.gz)
1.2 (AGPLv3)
- Mirrorring support
- Systemd socket support
- Proper logging
- Graceful request termination upon shutdown (may not be very graceful if a clone operation is being done during shutdown)
GitMgr 1.2 Linux amd64, stripped (.tar.gz)
1.1 (AGPLv3)
Small feature addition + old glib build.
- Better systemd config defaults (better standard paths, socket file)
- Changed the default socket file from
/var/run/gitmgr.sock
to/run/gitmgr.sock
- Added auto-generation of
cloneurl
files
GitMgr 1.1 Linux amd64, stripped (.tar.gz)
1.0 (AGPLv3)
Base release.
- Repository management: creation, renaming, edition, deletion
- Environment-based configuration
- Example systemd unit file