Skip to content
/ gitweb Public

Gitweb provides a minimal git web interface, sufficient for most small projects.

License

Notifications You must be signed in to change notification settings

esote/gitweb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gitweb provides a minimal git web interface, sufficient for most small projects.

Features:
	- Multiple, separate repositories
	- Repository references (HEAD, master, etc.)
	- Supports bare repositories
	- Typically-expensive responses are cached
	- Process restriction with pledge(2) and unveil(2) on OpenBSD (optional)
	- Chroot (optional)
	- HTTPS (optional)

The page layout of gitweb was modeled after stagit (git.codemadness.org/stagit),
although the source code is independent.

Example configuration file (see config.go for full structure):

	{
		"https": true,
		"https_crt": "/path/to/server.crt",
		"https_key": "/path/to/server.key",
		"port": ":8443",
		"repos": [
			{
				"cache_duration": "2h",
				"description": "A repo.",
				"path": "/path/to/local/repo",
				"ref": "master"
			},
			{
				"bare": true,
				"cache_duration": "24h",
				"description": "A repo cloned with --bare.",
				"path": "/path/to/local/repo.git",
				"ref": "master"
			}
		]
	}

Notes for OpenBSD users:

To use gitweb's built-in pledge(2) and unveil(2) restrictions you must customize
the config. To enable OpenBSD restrictions:

	"openbsd": true

By default this unveils repository paths and the HTTPS crt and key paths.
However it will not unveil the path to git nor the dynamic linker! For this
specify "openbsd_unveils" as an array of additional unveils. On OpenBSD 6.5:

	"openbsd_unveils": [
		["/usr/libexec/ld.so", "r"],
		["/usr/lib/", "r"],
		["/usr/local/lib/", "r"],
		["/usr/local/bin/git", "rx"]
	]

About

Gitweb provides a minimal git web interface, sufficient for most small projects.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages