I am looking for an application that provides some of the basic features of familiar Git web interfaces, such as GitHub, GitLab, and Bitbucket, though I have no requirement for the more advanced features of these systems, such as pull requests and issue tracking.

My limitation is that I use a shared hosting service, which is predominately a LAMP stack (Linux, Apache, MySql/MariaDB, PHP) administrated through a Plesk instance. The service also supports a few other features, such as single-user SSH access, Python and Ruby interpreters, and so on. Although I even have access to GCC, the environment is essentially a minimal Linux stack. As a large number of Web applications can run in this environment, it is in widespread use for low-maintenance, economical hosting solutions.

Writing to system directories and adding shared libraries, however, are impossible. Managing system users is also impossible, as the entire service includes only one user to the shared system.

The restrictive authentication methods of standard Git server components has been a major obstacle for finding a compatible software package.

The requirements thus are summarized:

  • Implementation in PHP or as a CGI script runnable with standard Posix components (e.g. Perl, Python, Ruby etc.), such that requests can be dispatched by a standard Apache deployment.
  • Graphical web front-end for initializing and browsing repositories, managing users, etc.
  • HTTP interface for Git clients, integrated with internal user and credential management, instead of relying on system or web-server credentialing, as in the case for standard Git SSH and HTTP server components.

Most applications either have a much simpler feature set (e.g. git-web, GitList), or are designed for installation as a system application (e.g. GitLab, Gogs). Note, please, that even if an application can hypothetically install in user directories, I prefer to consider only applications that solidly support this particular case.

Have I overlooked any options that might be promising solutions to my needs?

  • I use Gitea, which is a fork of Gogs. It runs on my Pi. All I had to do to install it is dropping a single binary to some directory and starting it with the right parameters. Maybe you overlooked the ease of that, though you already looked at Gogs? (PS: admitted, I wrote a little "init script"/"service" (or rather adjusted one I found with Gogs) to ensure its start/stop with system boots – but that's icing on the cake). – Izzy Mar 11 at 21:24
  • 1
    I would not be able to run a server as a standalone process. Requests would need to be dispatched by the system instance of Apache. – epl Mar 11 at 21:45
  • Ah, that was missing from the question – though at hindsight it's completely clear ;) – Izzy Mar 11 at 22:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.