Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Manage gitosis from cli and web frontend. This tool provides a CLI interface for the console junky which can i.e. remove a user with a single command from all groups. Also it comes with complete web frontend to manage user's ssh key or create groups, repositories. See in good structured lists who have access to a repository in which way.
CSS PHP JavaScript
branch: master


Gitosis Administrator

Manage gitosis over CLI- and Web-Interface.


Download the composer.phar executable or use the installer.

$ curl -s | php

Install dependencies over composer.

$ php ./composer.phar install

Create config.yaml file from config.yaml.dist file.

Add path to your gitosis config (Cloned gitosis-admin repository):

locale: en
    enabled: false

  root_directory: /path/to/gitosis-admin
  ssh_user: git
  ssh_host: myhost

CLI Interface

List Repositories

$ bin/n98-gitosis-admin repo:list

Add Repository

$ bin/n98-gitosis-admin repo:add name [owner] [description] [gitweb] [daemon]


$ bin/n98-gitosis-admin repo:add my-repo "John Doe" "My awesome git repository" no no

Remove Repository

$ bin/n98-gitosis-admin repo:remove name

List Groups

$ bin/n98-gitosis-admin group:list

Add Group

$ bin/n98-gitosis-admin group:add name members [writable] [readonly]


# Adds the repo "foo" with members "bar, zoz and bla" with write access to "repo1" and read access to "repo2"
$ bin/n98-gitosis-admin group:add foo bar,zoz,bla repo1 repo2

Remove Group

$ bin/n98-gitosis-admin group:remove name

Add User to existing Group

$  bin/n98-gitosis-admin group:user:add group username

Remove User from existing Group

$  bin/n98-gitosis-admin group:user:remove group username

Remove a user from all groups

$ bin/n98-gitosis-admin user:remove username

List all existing users

Lists all users across all groups.

$  bin/n98-gitosis-admin user:list

Allow group write acccess to repository

$ bin/n98-gitosis-admin group:repo:add:writable

Allow group readonly acccess to repository

$ bin/n98-gitosis-admin group:repo:add:readonly

Web Interface

  • Manage Repositories, Groups and Users

See Screenshots of the web interface on my flickr account:


  • Clone gitosis-admin repository on your local machine.
  • Make sure that webserver user has a valid ssh key which is assigned to gitosis-admin repository.

On Debian Systems with Apache User:

$ mkdir /var/www/.ssh
$ chown -R www-data:nobody /var/www/.ssh
$ sudo -u www-data ssh-keygen -t rsa


  • At least PHP 5.3
  • Composer
  • GIT Client


  • Auth Layer with LDAP support
  • More Translations
Something went wrong with that request. Please try again.