##// END OF EJS Templates
docs and readme update
marcink -
r1062:053983a4 beta
parent child Browse files
Show More
@@ -4,12 +4,14 b' Welcome to RhodeCode (RhodiumCode) docum'
4 4 =================================================
5 5
6 6 ``RhodeCode`` (formerly hg-app) is Pylons framework based Mercurial repository
7 browser/management with build in push/pull server and full text search.
8 It works on http/https, has build in permission/authentication(+ldap) features
9 It's similar to github or bitbucket, but it's suppose to run as standalone
10 hosted application, it's open source and focuses more on restricted access to
11 repositories. It's powered by vcs_ library that me and Lukasz Balcerzak created
12 to handle many various version control systems.
7 browser/management tool with build in push/pull server and full text search.
8 It works on http/https, has build in permission/authentication system with
9 ability to auth via LDAP. It's similar in some parts to github or bitbucket,
10 but it's suppose to run as standalone hosted application, it's open source
11 and donation ware and focuses more on providing customized, self administered
12 interface for Mercurial(and soon GIT) repositories. It's powered by vcs_
13 library that me and Lukasz Balcerzak created to handle many various version
14 control systems.
13 15
14 16 RhodeCode uses `Semantic Versioning <http://semver.org/>`_
15 17
@@ -45,23 +47,28 b' Features'
45 47 - Has it's own middleware to handle mercurial_ protocol request.
46 48 Each request can be logged and authenticated. Runs on threads unlikely to
47 49 hgweb. You can make multiple pulls/pushes simultaneous. Supports http/https
48 and ldap
50 and LDAP
49 51 - Full permissions (private/read/write/admin) and authentication per project.
50 52 One account for web interface and mercurial_ push/pull/clone operations.
53 - Have built in users groups for easier permission management
54 - Users can fork other users repo. RhodeCode have also compare view to see
55 combined changeset for all changeset made within single push.
51 56 - Mako templates let's you customize look and feel of application.
52 - Beautiful diffs, annotations and source codes all colored by pygments.
57 - Beautiful diffs, annotations and source codes all colored by pygments. Raw
58 diffs are made in git-diff format, including git binary-patches
53 59 - Mercurial_ branch graph and yui-flot powered graphs with zooming and statistics
54 60 - Admin interface with user/permission management. Admin activity journal, logs
55 61 pulls, pushes, forks, registrations and other actions made by all users.
56 62 - Server side forks, it's possible to fork a project and hack it free without
57 breaking the main repository.
63 breaking the main repository. You can even write Your own hooks and install
64 them
58 65 - Full text search powered by Whoosh on source codes, and file names.
59 66 Build in indexing daemons, with optional incremental index build
60 (no external search servers required all in one application)
67 (no external search servers required. All in one application !)
61 68 - Setup project descriptions and info inside built in db for easy, non
62 69 file-system operations
63 - Intelligent cache with invalidation after push or project change, provides high
64 performance and always up to date data.
70 - Intelligent cache with invalidation after push or project change, provides
71 high performance and always up to date data.
65 72 - Rss / atom feeds, gravatar support, download sources as zip/tar/gz
66 73 - Async tasks for speed and performance using celery_ (works without them too)
67 74 - Backup scripts can do backup of whole app and send it over scp to desired
@@ -76,7 +83,6 b' Incoming / Plans'
76 83 ----------------
77 84
78 85 - project grouping
79 - User groups/teams
80 86 - code review (probably based on hg-review)
81 87 - full git_ support, with push/pull server (currently in beta tests)
82 88 - redmine integration
@@ -6,4 +6,12 b' Contributing in RhodeCode'
6 6 If You would like to contribute to RhodeCode, please contact me, any help is
7 7 greatly appreciated.
8 8
9 Preferable method Would be to fork RhodeCode repository from bitbucket
10 https://bitbucket.org/marcinkuzminski/rhodecode and then open a pull request.
11 This way it's easier for me to merge.
12
13 To run RhodeCode in a development version You always need to install tip
14 version of RhodeCode and VCS library.
15
16
9 17 Thank You.
@@ -22,16 +22,16 b' Rhodecode requires python 2.x greater th'
22 22
23 23 Easiest way to install ``rhodecode`` is to run::
24 24
25 easy_install rhodecode
25 easy_install rhodecode
26 26
27 27 Or::
28 28
29 pip install rhodecode
29 pip install rhodecode
30 30
31 31 If you prefer to install manually simply grab latest release from
32 32 http://pypi.python.org/pypi/rhodecode, decompres archive and run::
33 33
34 python setup.py install
34 python setup.py install
35 35
36 36
37 37 Step by step installation example
@@ -44,27 +44,27 b' Step by step installation example'
44 44
45 45 ::
46 46
47 virtualenv --no-site-packages /var/www/rhodecode-venv
47 virtualenv --no-site-packages /var/www/rhodecode-venv
48 48
49 49 - this will install new virtualenv_ into `/var/www/rhodecode-venv`.
50 50 - Activate the virtualenv_ by running
51 51
52 52 ::
53 53
54 source /var/www/rhodecode-venv/bin/activate
54 source /var/www/rhodecode-venv/bin/activate
55 55
56 56 - Make a folder for rhodecode somewhere on the filesystem for example
57 57
58 58 ::
59 59
60 mkdir /var/www/rhodecode
60 mkdir /var/www/rhodecode
61 61
62 62
63 63 - Run this command to install rhodecode
64 64
65 65 ::
66 66
67 easy_install rhodecode
67 easy_install rhodecode
68 68
69 69 - this will install rhodecode together with pylons
70 70 and all other required python libraries
@@ -7,7 +7,7 b' Setup'
7 7 Setting up the application
8 8 --------------------------
9 9
10 First You'll ned to create RhodeCode config file. Run the following command
10 First You'll need to create RhodeCode config file. Run the following command
11 11 to do this
12 12
13 13 ::
@@ -19,8 +19,10 b' to do this'
19 19 email settings, usage of static files, cache, celery settings and logging.
20 20
21 21
22 Next we need to create the database. I'll recommend to use sqlite (default)
23 or postgresql. Make sure You properly adjust the db url in the .ini file to use
24 other than the default sqlite database
22 25
23 Next we need to create the database.
24 26
25 27 ::
26 28
@@ -35,7 +37,7 b' Next we need to create the database.'
35 37 interface will work even without such an access but, when trying to do a
36 38 push it'll eventually fail with permission denied errors.
37 39
38 You are ready to use rhodecode, to run it simply execute
40 You are ready to use RhodeCode, to run it simply execute
39 41
40 42 ::
41 43
@@ -92,13 +94,13 b' incremental mode.'
92 94
93 95 incremental mode::
94 96
95 paster make-index production.ini --repo-location=<location for repos>
97 paster make-index production.ini --repo-location=<location for repos>
96 98
97 99
98 100
99 101 for full index rebuild You can use::
100 102
101 paster make-index production.ini -f --repo-location=<location for repos>
103 paster make-index production.ini -f --repo-location=<location for repos>
102 104
103 105
104 106 building index just for chosen repositories is possible with such command::
@@ -334,10 +336,18 b' In order to make start using celery run:'
334 336 paster celeryd <configfile.ini>
335 337
336 338
337
338 339 .. note::
339 340 Make sure You run this command from same virtualenv, and with the same user
340 341 that rhodecode runs.
342
343 HTTPS support
344 -------------
345
346 There are two ways to enable https, first is to set HTTP_X_URL_SCHEME in
347 Your http server headers, than rhodecode will recognise this headers and make
348 proper https redirections, another way is to set `force_https = true`
349 in the ini cofiguration to force using https, no headers are needed than to
350 enable https
341 351
342 352
343 353 Nginx virtual host example
@@ -426,6 +436,29 b' Additional tutorial'
426 436 http://wiki.pylonshq.com/display/pylonscookbook/Apache+as+a+reverse+proxy+for+Pylons
427 437
428 438
439 Apache as subdirectory
440 ----------------------
441
442
443 Apache subdirectory part::
444
445 <Location /rhodecode>
446 ProxyPass http://127.0.0.1:59542/rhodecode
447 ProxyPassReverse http://127.0.0.1:59542/rhodecode
448 SetEnvIf X-Url-Scheme https HTTPS=1
449 </Location>
450
451 Besides the regular apache setup You'll need to add such part to .ini file::
452
453 filter-with = proxy-prefix
454
455 Add the following at the end of the .ini file::
456
457 [filter:proxy-prefix]
458 use = egg:PasteDeploy#prefix
459 prefix = /<someprefix>
460
461
429 462 Apache's example FCGI config
430 463 ----------------------------
431 464
@@ -462,7 +495,9 b' Troubleshooting'
462 495
463 496 - make sure You set a proper max_body_size for the http server
464 497
498 - Apache doesn't pass basicAuth on pull/push ?
465 499
500 - Make sure You added `WSGIPassAuthorization true`
466 501
467 502 .. _virtualenv: http://pypi.python.org/pypi/virtualenv
468 503 .. _python: http://www.python.org/
@@ -25,15 +25,20 b' This will display any changes made from '
25 25 current config. And tries to do an automerge. It's always better to do a backup
26 26 of config file and recheck the content after merge.
27 27
28 .. note::
29 The next steps only apply to upgrading from non bugfix releases eg. from
30 1.1 to 1.2. Bugfix releases (eg. 1.1.2->1.1.3) will not have any database
31 schema changes or whoosh library updates
32
28 33 It's also good to rebuild the whoosh index since after upgrading the whoosh
29 version there could be introduced incompatible index changes.
34 version there could be introduced incompatible index changes.
30 35
31 36
32 37 The last step is to upgrade the database. To do this simply run
33 38
34 39 ::
35 40
36 paster upgrade-db production.ini
41 paster upgrade-db production.ini
37 42
38 43 This will upgrade schema, as well as update some default on the database,
39 44 always recheck the settings of the application, if there are no new options
General Comments 0
You need to be logged in to leave comments. Login now