mlan / docker-gitweb

Provides a Gitweb docker image
https://hub.docker.com/repository/docker/mlan/gitweb
MIT License
7 stars 4 forks source link

[FEATURE] Unsafe git directories #3

Open danielvandenberg95 opened 3 weeks ago

danielvandenberg95 commented 3 weeks ago

As my git directory is located on a different server with different users, I got an "unsafe git directory" warning. I currently work around this using the following in my .yml (docker swarm):

command: sh -c "git config --global --add safe.directory /var/lib/git/repositories/myrepo.git && \
  sed -i 's/index gitweb.cgi;/rewrite ^ \\/gitweb.cgi?$query_string break;/' /etc/nginx/conf.d/nginx.conf && \
  nginx -g 'daemon off;'"

This script does two things:

  1. It allows any URL to be redirected to gitweb. That's just a nice to have on my side. Just personal.
  2. Adds myrepo.git to the safe.directory list.

According to https://stackoverflow.com/questions/71849415/i-cannot-add-the-parent-directory-to-safe-directory-in-git you can also add '*' to safe directories.

Perhaps there should be either:

  1. Documentation on how to A. Fix this issue, or, B. use this workaround
  2. Just a global git config to disable the safe directory check, or
  3. an environment option to add safe directores?
mlan commented 2 weeks ago

@danielvandenberg95 many thanks for your report.

When you say that "my git directory is located on a different server with different users" it sounds like you are not mounting a volume with the git directory in the gitweb container. Perhaps you can explain more about your setup and under which use cases of gitweb that you receive the "unsafe git directory" warning?