{ "info": { "author": "John Gilik", "author_email": "john@jgilik.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha" ], "description": "gitzebo\n=======\n\nWhat is gitzebo?\n----------------\n\ngitzebo is a small Python git management web application. It was named\ngitzebo as it is intended to be a smaller, more lightweight, more secluded\nvariant of the service GitHub and GitLab provide.\n\nIt is ideal for creating, managing, and sharing git repositories among\nsmall groups of developers.\n\nQuality Warning\n^^^^^^^^^^^^^^^\n\ngitzebo is under development. This means that a bare minimum of functionality\nis available, and it likely contains bugs.\n\nThe following features are planned, but missing:\n\n* pagination\n* ``gitzebo-generate-conf`` utility to generate configuration templates\n\n\nWhere Does gitzebo Run?\n-----------------------\n\ngitzebo theoretically runs on any host with git and Python installed.\n\nRealistically, it has only been tested on CentOS 6.5. This means that\nRed Hat Enterprise Linux 6.5 will likely work with no modifications, and\nthat some slight variances in deployment instructions will be needed for\nDebian-based hosts (including Ubuntu).\n\nI'm working on setting up automated testing across multiple platforms.\n\n\nWhere's More?\n-------------\n\nThe Python Package Index (PyPI) hosts source distributions. The gitzebo\npage is `here `_. This means that\n``pip``, ``easy_install``, and the like can be used to install gitzebo.\n\nDocumentation will eventually appear `on my site\n`_.\n\n\nHow? (Deployment)\n-----------------\n\nPrior to installing, you'll need to have ``git``, ``python``, and\n``virtualenv`` installed. On RHEL/CentOS, you can install them with::\n\n # as root user\n # python-virtualenv lives in EPEL, install EPEL:\n rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm\n yum -y install git python python-virtualenv\n\nWe also assume the presence of a git user (to run the webapp and to own\nthe repositories managed by it), and that an ``/opt/git`` directory exists\nowned by this user. Make it so::\n\n # as root user\n getent passwd git || useradd git\n if [[ ! -d \"/opt/git\" ]]\n then\n mkdir -p /opt/git\n chown git: /opt/git\n fi\n\nBefore deploying the web app, you need to install gitzebo and initialize\nits sqlite database. Note that your virtualenv should be readable by root if\nyou want Apache deployment to work. Apache needs to read your virtualenv to\nstart Python interpreters in it -- so we create virtualenvs in ``/opt/git``\nby convention::\n\n # as git user\n virtualenv /opt/git/env\n source /opt/git/env/bin/activate\n pip install gitzebo\n gitzebo-schema create\n\nAfter you've done so, you can bring up a development server to test it out.\nThis will let you reach gitzebo at ``http://{hostname_or_ip}:8081/``::\n\n # as git user\n gitzebo-dev-server\n\nOr you can jump directly to generating a mod_wsgi configuration using a\nhelper utility. This will let you reach gitzebo at ``http://{hostname}/``::\n\n # as root user\n # TODO: yet to be implemented\n rpm -q httpd || yum -y install httpd\n rpm -q mod_wsgi || yum -y install mod_wsgi\n gitzebo-generate-conf > /etc/httpd/conf.d/gitzebo.conf\n service httpd restart\n\nYour Apache instance's configuration directory will vary on Debian or\nUbuntu, as will the command to restart Apache.\n\nOnce you have an instance running, you can use the username ``admin``\nwith the password ``admin`` to log in.\n\nEither way, once you've logged in: **change the password**.\n\n\nWhy Reinvent the Wheel?!\n------------------------\n\nGitHub, gitorious, GitLab, and gitolite all exist already. Why not use one of\nthese?\n\nThe answers come down to requirements:\n\neasy to set up\n I dislike playing with configuration files for hours at a time to get\n software working. Applications should work with a minimum amount of\n documentation reading. Applications should work with a minimum amount of\n manual steps required to get them running. Ideally, installing an\n application and deploying it should take one to three commandline\n invocations.\n\neasy to use\n If an application is slow, unintuitive, or fails to solve a user's problems,\n then it will go unused.\n\nin-house deployment\n I have a bone to pick with software-as-a-service (SaaS). As a rule,\n I don't like giving up\n my proprietary datasets. This dislike scales up with business value of\n the data: I dislike the idea of giving up a folder of dog pictures I've\n downloaded from the internet to use as wallpapers. You'd think it's\n useless, and there's no point to being protective: but even that data can\n be used as a training dataset for artificial intelligences dealing with\n visual classification... Scale it up to source code, configuration\n management, and monitoring? Those three are the absolute keys to your\n IT kingdom. My source code management solution will not be SaaS.\n\nlightweight\n I don't necessarily want a bug tracker and pretty graphs and the like.\n The going Linux/UNIX philosophy is to keep each component as lightweight\n and focused as possible, which is something I like. I took away points\n for doing too much, which it seemed all git management solutions did.\n\nThe four de-facto solutions each violated one of these requirements:\n\nGitHub\n GitHub is software-as-a-service.\n\ngitorious\n gitorious is not easy to set up.\n Deployment on RHEL/CentOS 6 is a pain. `You can read more here.\n `_\n I gave up on this approach after a while.\n\nGitLab\n GitLab was not easy to use due to performance issues.\n I got GitLab running in a VM with 1GB of memory and a dedicated core. Its\n performance with two users was slow enough to regularly invoke vulgarities.\n I don't know if I missed some key setting, but we flagged it a no-go.\n\ngitolite\n gitolite also failed the ease-of-use test.\n gitolite does not have a web application for management built in, so I'd\n have to add one to meet my requirements. As such, it's more of a library\n or back-end than a full-blown application. It being written in Perl and\n not having a well-defined API made me extremely nervous, as it seemed like\n adding a web front-end would be difficult.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://jgilik.com/gitzebo/", "keywords": "git", "license": "2-Clause BSD License", "maintainer": null, "maintainer_email": null, "name": "gitzebo", "package_url": "https://pypi.org/project/gitzebo/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/gitzebo/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://jgilik.com/gitzebo/" }, "release_url": "https://pypi.org/project/gitzebo/0.0.10/", "requires_dist": null, "requires_python": null, "summary": "A minimal git management web application.", "version": "0.0.10" }, "last_serial": 1040079, "releases": { "0.0.10": [ { "comment_text": "", "digests": { "md5": "7bbf43e29ad85396146e8f8032d74447", "sha256": "07b621ad7376f954c141b28576505004e8193c8ffeb40861ff0a45b4fa41aa6a" }, "downloads": -1, "filename": "gitzebo-0.0.10.tar.gz", "has_sig": false, "md5_digest": "7bbf43e29ad85396146e8f8032d74447", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21262, "upload_time": "2014-03-25T03:59:04", "url": "https://files.pythonhosted.org/packages/08/7e/52187181c09c5ab34e2aeebd02b1e821eeb7c8f5761216ed8e8067a8075d/gitzebo-0.0.10.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "edb8a7f65f495f8bef026274413a5e49", "sha256": "9e4b2a3974307e1bcadc96e18425ae5875f6b8d00c83a53d129f16f0aadb823e" }, "downloads": -1, "filename": "gitzebo-0.0.2.tar.gz", "has_sig": false, "md5_digest": "edb8a7f65f495f8bef026274413a5e49", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16764, "upload_time": "2014-02-25T05:46:24", "url": "https://files.pythonhosted.org/packages/91/4e/57b7b913ac8f62daa70587afbda5b90c2e070f33223c4274236b16c08d47/gitzebo-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "4bf2f427e11bc2dd69258d715dbee16c", "sha256": "88fa1b34f5c889e2b6550f8b8cd4cc9f8750a92ad94ac1d67b4c93d0c7b12798" }, "downloads": -1, "filename": "gitzebo-0.0.3.tar.gz", "has_sig": false, "md5_digest": "4bf2f427e11bc2dd69258d715dbee16c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16689, "upload_time": "2014-02-25T05:50:08", "url": "https://files.pythonhosted.org/packages/92/38/3c80984f3d5a04e2aed9f367342b9e39e12b97fade722180c4642e866a77/gitzebo-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "d36165f1ef8400c512870a140536896c", "sha256": "c8586d40113f1afa1bee08e6d605c8a0b2ac5f198532c5f3c45e49015dc3d09b" }, "downloads": -1, "filename": "gitzebo-0.0.4.tar.gz", "has_sig": false, "md5_digest": "d36165f1ef8400c512870a140536896c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17126, "upload_time": "2014-02-26T17:25:51", "url": "https://files.pythonhosted.org/packages/95/5b/d181cb6d0211fb9382b1e9bc41a5befebcf3a67c45ac09a898d12ed24fa3/gitzebo-0.0.4.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "a8dfe3bb4184404cbf92c3653f7ee99b", "sha256": "1f3c0ec28df51d15203f56fc50e00a9d834ff1a23447c1ddd78b7c9d5bd9b976" }, "downloads": -1, "filename": "gitzebo-0.0.6.tar.gz", "has_sig": false, "md5_digest": "a8dfe3bb4184404cbf92c3653f7ee99b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19329, "upload_time": "2014-03-10T03:17:55", "url": "https://files.pythonhosted.org/packages/67/af/bea125bedf54cf1e74923b15e1369efc2d86c356db3af00ba9e30beea13d/gitzebo-0.0.6.tar.gz" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "7b49f2d6f2fefc6540c4fe9585f4c70f", "sha256": "5ff9b22079acda9f4316e667dcbe6885b7f4343b315491c64bdae5210f539aad" }, "downloads": -1, "filename": "gitzebo-0.0.9.tar.gz", "has_sig": false, "md5_digest": "7b49f2d6f2fefc6540c4fe9585f4c70f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20323, "upload_time": "2014-03-25T02:58:36", "url": "https://files.pythonhosted.org/packages/a5/68/97f5d247a5b32d31cbbdf68111b46f5da026138a5fc45959d31510512827/gitzebo-0.0.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "7bbf43e29ad85396146e8f8032d74447", "sha256": "07b621ad7376f954c141b28576505004e8193c8ffeb40861ff0a45b4fa41aa6a" }, "downloads": -1, "filename": "gitzebo-0.0.10.tar.gz", "has_sig": false, "md5_digest": "7bbf43e29ad85396146e8f8032d74447", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21262, "upload_time": "2014-03-25T03:59:04", "url": "https://files.pythonhosted.org/packages/08/7e/52187181c09c5ab34e2aeebd02b1e821eeb7c8f5761216ed8e8067a8075d/gitzebo-0.0.10.tar.gz" } ] }