1git-daemon(1) 2============= 3 4NAME 5---- 6git-daemon - A really simple server for git repositories. 7 8SYNOPSIS 9-------- 10[verse] 11'git-daemon' [--verbose] [--syslog] [--inetd | --port=n] [--export-all] 12 [--timeout=n] [--init-timeout=n] [--strict-paths] 13 [--base-path=path] [directory...] 14 15DESCRIPTION 16----------- 17A really simple TCP git daemon that normally listens on port "DEFAULT_GIT_PORT" 18aka 9418. It waits for a connection, and will just execute "git-upload-pack" 19when it gets one. 20 21It's careful in that there's a magic request-line that gives the command and 22what directory to upload, and it verifies that the directory is ok. 23 24It verifies that the directory has the magic file "git-daemon-export-ok", and 25it will refuse to export any git directory that hasn't explicitly been marked 26for export this way (unless the '--export-all' parameter is specified). If you 27pass some directory paths as 'git-daemon' arguments, you can further restrict 28the offers to a whitelist comprising of those. 29 30This is ideally suited for read-only updates, ie pulling from git repositories. 31 32OPTIONS 33------- 34--strict-paths:: 35 Match paths exactly (i.e. don't allow "/foo/repo" when the real path is 36 "/foo/repo.git" or "/foo/repo/.git") and don't do user-relative paths. 37 git-daemon will refuse to start when this option is enabled and no 38 whitelist is specified. 39 40--base-path:: 41 Remap all the path requests as relative to the given path. 42 This is sort of "GIT root" - if you run git-daemon with 43 '--base-path=/srv/git' on example.com, then if you later try to pull 44 'git://example.com/hello.git', `git-daemon` will interpret the path 45 as '/srv/git/hello.git'. Home directories (the '~login' notation) 46 access is disabled. 47 48--export-all:: 49 Allow pulling from all directories that look like GIT repositories 50 (have the 'objects' and 'refs' subdirectories), even if they 51 do not have the 'git-daemon-export-ok' file. 52 53--inetd:: 54 Have the server run as an inetd service. Implies --syslog. 55 56--port:: 57 Listen on an alternative port. 58 59--init-timeout:: 60 Timeout between the moment the connection is established and the 61 client request is received (typically a rather low value, since 62 that should be basically immediate). 63 64--timeout:: 65 Timeout for specific client sub-requests. This includes the time 66 it takes for the server to process the sub-request and time spent 67 waiting for next client's request. 68 69--syslog:: 70 Log to syslog instead of stderr. Note that this option does not imply 71 --verbose, thus by default only error conditions will be logged. 72 73--verbose:: 74 Log details about the incoming connections and requested files. 75 76<directory>:: 77 A directory to add to the whitelist of allowed directories. Unless 78 --strict-paths is specified this will also include subdirectories 79 of each named directory. 80 81Author 82------ 83Written by Linus Torvalds <torvalds@osdl.org>, YOSHIFUJI Hideaki 84<yoshfuji@linux-ipv6.org> and the git-list <git@vger.kernel.org> 85 86Documentation 87-------------- 88Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>. 89 90GIT 91--- 92Part of the gitlink:git[7] suite 93