##// 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 ``RhodeCode`` (formerly hg-app) is Pylons framework based Mercurial repository
6 ``RhodeCode`` (formerly hg-app) is Pylons framework based Mercurial repository
7 browser/management with build in push/pull server and full text search.
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(+ldap) features
8 It works on http/https, has build in permission/authentication system with
9 It's similar to github or bitbucket, but it's suppose to run as standalone
9 ability to auth via LDAP. It's similar in some parts to github or bitbucket,
10 hosted application, it's open source and focuses more on restricted access to
10 but it's suppose to run as standalone hosted application, it's open source
11 repositories. It's powered by vcs_ library that me and Lukasz Balcerzak created
11 and donation ware and focuses more on providing customized, self administered
12 to handle many various version control systems.
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 RhodeCode uses `Semantic Versioning <http://semver.org/>`_
16 RhodeCode uses `Semantic Versioning <http://semver.org/>`_
15
17
@@ -45,23 +47,28 b' Features'
45 - Has it's own middleware to handle mercurial_ protocol request.
47 - Has it's own middleware to handle mercurial_ protocol request.
46 Each request can be logged and authenticated. Runs on threads unlikely to
48 Each request can be logged and authenticated. Runs on threads unlikely to
47 hgweb. You can make multiple pulls/pushes simultaneous. Supports http/https
49 hgweb. You can make multiple pulls/pushes simultaneous. Supports http/https
48 and ldap
50 and LDAP
49 - Full permissions (private/read/write/admin) and authentication per project.
51 - Full permissions (private/read/write/admin) and authentication per project.
50 One account for web interface and mercurial_ push/pull/clone operations.
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 - Mako templates let's you customize look and feel of application.
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 - Mercurial_ branch graph and yui-flot powered graphs with zooming and statistics
59 - Mercurial_ branch graph and yui-flot powered graphs with zooming and statistics
54 - Admin interface with user/permission management. Admin activity journal, logs
60 - Admin interface with user/permission management. Admin activity journal, logs
55 pulls, pushes, forks, registrations and other actions made by all users.
61 pulls, pushes, forks, registrations and other actions made by all users.
56 - Server side forks, it's possible to fork a project and hack it free without
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 - Full text search powered by Whoosh on source codes, and file names.
65 - Full text search powered by Whoosh on source codes, and file names.
59 Build in indexing daemons, with optional incremental index build
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 - Setup project descriptions and info inside built in db for easy, non
68 - Setup project descriptions and info inside built in db for easy, non
62 file-system operations
69 file-system operations
63 - Intelligent cache with invalidation after push or project change, provides high
70 - Intelligent cache with invalidation after push or project change, provides
64 performance and always up to date data.
71 high performance and always up to date data.
65 - Rss / atom feeds, gravatar support, download sources as zip/tar/gz
72 - Rss / atom feeds, gravatar support, download sources as zip/tar/gz
66 - Async tasks for speed and performance using celery_ (works without them too)
73 - Async tasks for speed and performance using celery_ (works without them too)
67 - Backup scripts can do backup of whole app and send it over scp to desired
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 - project grouping
85 - project grouping
79 - User groups/teams
80 - code review (probably based on hg-review)
86 - code review (probably based on hg-review)
81 - full git_ support, with push/pull server (currently in beta tests)
87 - full git_ support, with push/pull server (currently in beta tests)
82 - redmine integration
88 - redmine integration
@@ -6,4 +6,12 b' Contributing in RhodeCode'
6 If You would like to contribute to RhodeCode, please contact me, any help is
6 If You would like to contribute to RhodeCode, please contact me, any help is
7 greatly appreciated.
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 Thank You.
17 Thank You.
@@ -7,7 +7,7 b' Setup'
7 Setting up the application
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 to do this
11 to do this
12
12
13 ::
13 ::
@@ -19,8 +19,10 b' to do this'
19 email settings, usage of static files, cache, celery settings and logging.
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 interface will work even without such an access but, when trying to do a
37 interface will work even without such an access but, when trying to do a
36 push it'll eventually fail with permission denied errors.
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
@@ -334,11 +336,19 b' In order to make start using celery run:'
334 paster celeryd <configfile.ini>
336 paster celeryd <configfile.ini>
335
337
336
338
337
338 .. note::
339 .. note::
339 Make sure You run this command from same virtualenv, and with the same user
340 Make sure You run this command from same virtualenv, and with the same user
340 that rhodecode runs.
341 that rhodecode runs.
341
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
351
342
352
343 Nginx virtual host example
353 Nginx virtual host example
344 --------------------------
354 --------------------------
@@ -426,6 +436,29 b' Additional tutorial'
426 http://wiki.pylonshq.com/display/pylonscookbook/Apache+as+a+reverse+proxy+for+Pylons
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 Apache's example FCGI config
462 Apache's example FCGI config
430 ----------------------------
463 ----------------------------
431
464
@@ -462,7 +495,9 b' Troubleshooting'
462
495
463 - make sure You set a proper max_body_size for the http server
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 .. _virtualenv: http://pypi.python.org/pypi/virtualenv
502 .. _virtualenv: http://pypi.python.org/pypi/virtualenv
468 .. _python: http://www.python.org/
503 .. _python: http://www.python.org/
@@ -25,6 +25,11 b' This will display any changes made from '
25 current config. And tries to do an automerge. It's always better to do a backup
25 current config. And tries to do an automerge. It's always better to do a backup
26 of config file and recheck the content after merge.
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 It's also good to rebuild the whoosh index since after upgrading the whoosh
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
General Comments 0
You need to be logged in to leave comments. Login now