README.rst 1.69 KB
Newer Older
1
Pagure
2 3
======

Pierre-Yves Chibon's avatar
Pierre-Yves Chibon committed
4
:Author:  Pierre-Yves Chibon <pingou@pingoured.fr>
5 6


Pierre-Yves Chibon's avatar
Pierre-Yves Chibon committed
7
Pagure is a git-centered forge, python based using pygit2.
8

Pierre-Yves Chibon's avatar
Pierre-Yves Chibon committed
9 10 11 12
With pagure you can host your project with its documentation, let your users
report issues or request enhancements using the ticketing system and build your
community of contributors by allowing them to fork your projects and contribute
to it via the now-popular pull-request mechanism.
13 14


Rahul Bajaj's avatar
Rahul Bajaj committed
15
Homepage: https://pagure.io/pagure
16

17 18
See it at work: https://pagure.io

Pierre-Yves Chibon's avatar
Pierre-Yves Chibon committed
19

20 21
Playground version: https://stg.pagure.io

22

23

24 25 26
Get it running
==============

27
* Install the needed system libraries::
Pierre-Yves Chibon's avatar
Pierre-Yves Chibon committed
28 29 30 31

    sudo dnf install git python-virtualenv libgit2-devel \
                     libjpeg-devel gcc libffi-devel redhat-rpm-config

32 33
  .. note:: Do note the version of libgit2 that you install, for example
            in ``libgit2-0.23.4-1`` you need to keep in mind the ``0.23``
Pierre-Yves Chibon's avatar
Pierre-Yves Chibon committed
34

35 36
* Retrieve the sources::

Rahul Bajaj's avatar
Rahul Bajaj committed
37
    git clone https://pagure.io/pagure.git
38 39 40 41
    cd pagure

* Install dependencies

Pierre-Yves Chibon's avatar
Pierre-Yves Chibon committed
42
  * create the virtualenv::
43

Pierre-Yves Chibon's avatar
Pierre-Yves Chibon committed
44 45
      virtualenv pagure_env
      source ./pagure_env/bin/activate
46

Pierre-Yves Chibon's avatar
Pierre-Yves Chibon committed
47
  * Install the correct version of pygit2::
48

Pierre-Yves Chibon's avatar
Pierre-Yves Chibon committed
49
      pip install pygit2==<version of libgit2 found>.*
50

Pierre-Yves Chibon's avatar
Pierre-Yves Chibon committed
51
    So in our example::
52

Pierre-Yves Chibon's avatar
Pierre-Yves Chibon committed
53
      pip install pygit2==0.23.*
54

Pierre-Yves Chibon's avatar
Pierre-Yves Chibon committed
55
  * Install the rest of the dependencies::
56

Pierre-Yves Chibon's avatar
Pierre-Yves Chibon committed
57
      pip install -r requirements.txt
58

59

Pierre-Yves Chibon's avatar
Pierre-Yves Chibon committed
60 61 62 63 64 65 66
* Create the folder that will receive the projects, forks, docs, requests and
  tickets' git repo::

    mkdir {repos,docs,forks,tickets,requests}


* Create the inital database scheme::
67

68 69 70
    python createdb.py


71 72
* Run it::

73
    ./runserver.py
74 75


76 77
* To get some profiling information you can also run it as::

78
    ./runserver.py --profile
79 80


81
This will launch the application at http://127.0.0.1:5000