{"id":13483169,"url":"https://github.com/jonashaag/klaus","last_synced_at":"2025-05-14T11:12:11.204Z","repository":{"id":38631887,"uuid":"1857060","full_name":"jonashaag/klaus","owner":"jonashaag","description":"docker run klaus / pip install klaus — the first Git web viewer that Just Works™.","archived":false,"fork":false,"pushed_at":"2025-05-05T19:25:59.000Z","size":663,"stargazers_count":689,"open_issues_count":61,"forks_count":104,"subscribers_count":31,"default_branch":"master","last_synced_at":"2025-05-10T16:07:38.595Z","etag":null,"topics":["git","python","zero-configuration"],"latest_commit_sha":null,"homepage":"http://klausdemo.lophus.org","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jonashaag.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGELOG.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2011-06-06T22:05:35.000Z","updated_at":"2025-05-07T16:10:37.000Z","dependencies_parsed_at":"2023-10-03T12:24:42.222Z","dependency_job_id":"ce1f99ce-be48-4062-8e5a-343d34964038","html_url":"https://github.com/jonashaag/klaus","commit_stats":{"total_commits":542,"total_committers":37,"mean_commits":14.64864864864865,"dds":"0.23431734317343178","last_synced_commit":"0dacec59248446c3dbadcb83e23bbddcd9ce94db"},"previous_names":[],"tags_count":40,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonashaag%2Fklaus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonashaag%2Fklaus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonashaag%2Fklaus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonashaag%2Fklaus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jonashaag","download_url":"https://codeload.github.com/jonashaag/klaus/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254129524,"owners_count":22019628,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["git","python","zero-configuration"],"created_at":"2024-07-31T17:01:08.770Z","updated_at":"2025-05-14T11:12:06.190Z","avatar_url":"https://github.com/jonashaag.png","language":"Python","funding_links":[],"categories":["\u003ca id=\"tag-dev\" href=\"#tag-dev\"\u003eDev\u003c/a\u003e","Tools for Self-Hosting","Software","Software Development"],"sub_categories":["\u003ca id=\"tag-dev.scm\" href=\"#tag-dev.scm\"\u003eSCM\u003c/a\u003e","Development","Software Development - Project Management","Project Management"],"readme":"|travis-badge| |gitter-badge|\n\n.. |travis-badge| image:: https://travis-ci.org/jonashaag/klaus.svg?branch=master\n    :target: https://travis-ci.org/jonashaag/klaus\n\n.. |gitter-badge| image:: https://badges.gitter.im/Join%20Chat.svg\n   :alt: Join the chat at https://gitter.im/jonashaag/klaus\n   :target: https://gitter.im/jonashaag/klaus?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge\n\nklaus: a simple, easy-to-set-up Git web viewer that Just Works™.\n================================================================\n\n(If it doesn't Just Work for you, please file a bug.)\n\n* Super easy to set up -- no configuration required\n* Syntax highlighting\n* Markdown + RestructuredText rendering support\n* Pull + push support (Git Smart HTTP)\n* Code navigation using Exuberant ctags\n\n:Demo: http://klausdemo.lophus.org\n:Mailing list: http://groups.google.com/group/klaus-users\n:On PyPI: http://pypi.python.org/pypi/klaus/\n:Wiki: https://github.com/jonashaag/klaus/wiki\n:License: ISC (BSD)\n\n\nRunning with Docker\n--------------------\n\nThe easiest way to get started. We maintain a Docker image that has syntax highlighting, Markdown rendering, code navigation, etc. pre-configured::\n\n   docker run -v /path/to/your/repos:/repos \\\n              -p 7777:80 \\\n              -it jonashaag/klaus:latest \\\n              klaus --host 0.0.0.0 --port 80 /repos/repo1 /repos/repo2 ...\n\n(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.)\n\nGo to http://localhost:7777 on the Docker host et voilà!\n\nThe command line above simply runs the ``klaus`` script -- for usage details, see the \"Using the ``klaus`` script\" section below.\n\n\nLocal setup\n-----------\n::\n\n   pip install klaus\n\n(Optional dependencies: see `Markup rendering \u003chttps://github.com/jonashaag/klaus/wiki/Markup-rendering\u003e`_ in the wiki.)\n\nUsage\n-----\n\nSee also: `Klaus wiki \u003chttps://github.com/jonashaag/klaus/wiki\u003e`_\n\nUsing the ``klaus`` script\n^^^^^^^^^^^^^^^^^^^^^^^^^^\n**NOTE:** This is intended for testing/low-traffic local installations *only*!\nThe `klaus` script uses wsgiref_ internally which doesn't scale *at all*\n(in fact it's single-threaded and non-asynchronous).\n\nTo run klaus using the default options:\n\n.. code-block:: bash\n\n   # With Docker:\n   docker run ... jonashaag/klaus:latest klaus [repo1 [repo2 ...]]\n   # Local setup:\n   klaus [repo1 [repo2 ...]]\n\nFor more options, see:\n\n.. code-block:: bash\n\n    # With Docker:\n   docker run ... jonashaag/klaus:latest klaus --help\n   # Local setup:\n   klaus --help\n\n\nUsing a real server\n^^^^^^^^^^^^^^^^^^^\nThe ``klaus`` module contains a ``make_app`` function which returns a WSGI app.\n\nAn example WSGI helper script is provided with klaus (see ``klaus/contrib/wsgi.py``),\nconfiguration being read from environment variables. Use it like this (uWSGI example)::\n\n   uwsgi -w klaus.contrib.wsgi \\\n         --env KLAUS_SITE_NAME=\"Klaus Demo\" \\\n         --env KLAUS_REPOS=\"/path/to/repo1 /path/to/repo2 ...\" \\\n         ...\n\nGunicorn example::\n\n   gunicorn --env KLAUS_SITE_NAME=\"Klaus Demo\" \\\n            --env KLAUS_REPOS=\"/path/to/repo1 /path/to/repo2 ...\" \\\n            klaus.contrib.wsgi\n\nThe Docker image also has uwsgi preinstalled::\n\n   docker run ... jonashaag/klaus:latest uwsgi ...\n\nSee also `deployment section in the wiki \u003chttps://github.com/jonashaag/klaus/wiki#deployment\u003e`_.\n\n.. _wsgiref: http://docs.python.org/library/wsgiref.html\n\n\nContributing\n------------\nPlease do it!\n\nI'm equally happy with bug reports/feature ideas and code contributions.\nIf you have any questions/issues, I'm happy to help!\n\nFor starters, `here are a few ideas what to work on. \u003chttps://github.com/jonashaag/klaus/issues?q=is%3Aissue+is%3Aopen+label%3A%22C%3A+1%22\u003e`_ :-)\n\n\n|img1|_ |img2|_ |img3|_\n\n.. |img1| image:: https://i.imgur.com/2XhZIgw.png\n.. |img2| image:: https://i.imgur.com/6LjC8Cl.png\n.. |img3| image:: https://i.imgur.com/EYJdQwv.png\n\n.. _img1: https://i.imgur.com/MV3uFvw.png\n.. _img2: https://i.imgur.com/9HEZ3ro.png\n.. _img3: https://i.imgur.com/kx2HaTq.png\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonashaag%2Fklaus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjonashaag%2Fklaus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonashaag%2Fklaus/lists"}