docker run klaus / pip install klaus — the first Git web viewer that Just Works™.

Overview

travis-badge Join the chat at https://gitter.im/jonashaag/klaus

klaus: a simple, easy-to-set-up Git web viewer that Just Works™.

(If it doesn't Just Work for you, please file a bug.)

  • Super easy to set up -- no configuration required
  • Syntax highlighting
  • Markdown + RestructuredText rendering support
  • Pull + push support (Git Smart HTTP)
  • Code navigation using Exuberant ctags
Demo: http://klausdemo.lophus.org
Mailing list: http://groups.google.com/group/klaus-users
On PyPI: http://pypi.python.org/pypi/klaus/
Wiki: https://github.com/jonashaag/klaus/wiki
License: ISC (BSD)

Running with Docker

The easiest way to get started. We maintain a Docker image that has syntax highlighting, Markdown rendering, code navigation, etc. pre-configured:

docker run -v /path/to/your/repos:/repos \
           -p 7777:80 \
           -it jonashaag/klaus:latest \
           klaus --host 0.0.0.0 --port 80 /repos/repo1 /repos/repo2 ...

(Replace /path/to/your/repos with the folder that contains your Git repositories on the Docker host. You can also pass in multiple -v arguments if your repos are in multiple folders on the host.)

Go to http://localhost:7777 on the Docker host et voilà!

The command line above simply runs the klaus script -- for usage details, see the "Using the klaus script" section below.

Local setup

pip install klaus

(Optional dependencies: see Markup rendering in the wiki.)

Usage

See also: Klaus wiki

Using the klaus script

NOTE: This is intended for testing/low-traffic local installations only! The klaus script uses wsgiref internally which doesn't scale at all (in fact it's single-threaded and non-asynchronous).

To run klaus using the default options:

# With Docker:
docker run ... jonashaag/klaus:latest klaus [repo1 [repo2 ...]]
# Local setup:
klaus [repo1 [repo2 ...]]

For more options, see:

 # With Docker:
docker run ... jonashaag/klaus:latest klaus --help
# Local setup:
klaus --help

Using a real server

The klaus module contains a make_app function which returns a WSGI app.

An example WSGI helper script is provided with klaus (see klaus/contrib/wsgi.py), configuration being read from environment variables. Use it like this (uWSGI example):

uwsgi -w klaus.contrib.wsgi \
      --env KLAUS_SITE_NAME="Klaus Demo" \
      --env KLAUS_REPOS="/path/to/repo1 /path/to/repo2 ..." \
      ...

Gunicorn example:

gunicorn --env KLAUS_SITE_NAME="Klaus Demo" \
         --env KLAUS_REPOS="/path/to/repo1 /path/to/repo2 ..." \
         klaus.contrib.wsgi

The Docker image also has uwsgi preinstalled:

docker run ... jonashaag/klaus:latest uwsgi ...

See also deployment section in the wiki.

Contributing

Please do it!

I'm equally happy with bug reports/feature ideas and code contributions. If you have any questions/issues, I'm happy to help!

For starters, here are a few ideas what to work on. :-)

img1 img2 img3

Owner
Jonas Haag
Freelancer available for hire. Founder looking for new challenges. Previously CTO @cashlink
Jonas Haag
Mirror of Apache Allura

Apache Allura Allura is an open source implementation of a software "forge", a web site that manages source code repositories, bug reports, discussion

The Apache Software Foundation 106 Dec 21, 2022
A simple version control system built on top of Git

Gitless Gitless is a version control system built on top of Git, that is easy to learn and use: Simple commit workflow Track or untrack files to contr

Gitless 1.7k Dec 22, 2022
🦉Data Version Control | Git for Data & Models

Website • Docs • Blog • Twitter • Chat (Community & Support) • Tutorial • Mailing List Data Version Control or DVC is an open-source tool for data sci

Iterative 10.9k Jan 09, 2023
Trac is an enhanced wiki and issue tracking system for software development projects (mirror)

About Trac Trac is a minimalistic web-based software project management and bug/issue tracking system. It provides an interface to the Git and Subvers

Edgewall Software 442 Dec 10, 2022
The new home of rabbitvcs

RabbitVCS RabbitVCS is a set of graphical tools written to provide simple and straightforward access to the version control systems you use. We curren

RabbitVCS 349 Dec 05, 2022
git-cola: The highly caffeinated Git GUI

git-cola: The highly caffeinated Git GUI git-cola is a powerful Git GUI with a slick and intuitive user interface. Copyright (C) 2007-2020, David Agu

git-cola 2k Dec 30, 2022
docker run klaus / pip install klaus — the first Git web viewer that Just Works™.

klaus: a simple, easy-to-set-up Git web viewer that Just Works™. (If it doesn't Just Work for you, please file a bug.) Super easy to set up -- no conf

Jonas Haag 638 Dec 24, 2022
ViewVC is a browser interface for CVS and Subversion version control repositories.

ViewVC - Version Control Browser Interface ViewVC is a browser interface for CVS and Subversion version control repositories. It generates templatized

ViewVC 270 Dec 30, 2022
Patchwork is a web-based patch tracking system designed to facilitate the contribution and management of contributions to an open-source project.

Patchwork Patchwork is a patch tracking system for community-based projects. It is intended to make the patch management process easier for both the p

Patchwork 220 Nov 29, 2022