Authentication backend and UI for Git repository management.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
gitjoin
hooks
libgit @ 4b0a36e
webapp
.gitignore
.gitmodules
LICENSE
README.md
activate.inc
activate_base.inc
build_libgit.sh
config.py.example
enabled_hooks.example
genconf.sh
live_client.py
manage.py
manage.sh
pam.py
requirements.txt
requirements_sshd.txt
update
uwsgi.ini

README.md

gitjoin

Installation

Install requirements:

# For example on Debian/Ubuntu:
apt-get install build-essential git python2.7-dev python-virtualenv cmake

Generate and edit configuration file.

./genconf.sh > config.py
nano config.py

./update will install dependencies, build libgit2 and create DB tables:

./update

If anything fails (for example you forgot to install dependencies), rm virtualenv and try again.

Create first user:

./manage.sh createsuperuser

Run test server

./manage.sh runserver 7000

You can visit administrator interface at http://localhost:7000/global/admin/

For deployment, uwsgi is recommended:

source activate.inc
pip install uwsgi
hash -r
uwsgi --deamonize=var/git.log uwsgi.ini

And use your favourite reverse-proxy to forward requests to http://localhost:8080

Enabling SSH Git transport

Gitjoin only overrides OpenSSH authorized_keys if authorized_keys.custom file exists in your home directory. It will be appended to generated authorized_keys.

touch ~/.ssh/authorized_keys
mv ~/.ssh/authorized_keys ~/authorized_keys.custom
source activate.inc
python -m gitjoin.authorized_keys

Using built-in SSH server

Gitjoin may also run separate SSH server on port 2022 if you prefer not exposing OpenSSH:

source activate.inc
pip install -r requirements_sshd.txt
python -m gitjoin.sshd

Using PostgreSQL instead of SQlite

If you want to host a site with a bit bigger traffic edit config.py to point to your PostgreSQL database and install PostgreSQL adapter:

source activate.inc
pip install psycopg2