location ~ /(.+)/(HEAD|info/refs|objects|git-upload-pack|git-receive-pack) { if (-f /srv/git/$1/{{ git_export_ok_file }}) { set $auth_basic "private-write repository"; } if (!-f /srv/git/$1/{{ git_export_ok_file }}) { set $auth_basic "private repository"; } if ($arg_service = git-upload-pack) { set $auth_basic off; } auth_basic $auth_basic; set $auth_basic_user_file /srv/git/.htpasswd; if (-f /srv/git/$1/.htpasswd) { set $auth_basic_user_file /srv/git/$1/.htpasswd; } auth_basic_user_file $auth_basic_user_file; include fastcgi_params; fastcgi_param SCRIPT_FILENAME /usr/libexec/git-core/git-http-backend; fastcgi_param PATH_INFO $uri; fastcgi_param GIT_PROJECT_ROOT /srv/git; fastcgi_param GIT_HTTP_EXPORT_ALL 1; fastcgi_param REMOTE_USER $remote_user; fastcgi_param HOME /srv/git; fastcgi_pass unix:{{ fcgiwrap_socket }}; }