annotate README.rst @ 564:ba7e24cd4786

refactor codes and setup for python 2.5 readme update
author Marcin Kuzminski <marcin@python-works.com>
date Sat, 09 Oct 2010 16:05:14 +0200
parents 2642f128ad46
children a60cd29ba7e2
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
564
ba7e24cd4786 refactor codes and setup for python 2.5
Marcin Kuzminski <marcin@python-works.com>
parents: 552
diff changeset
1 ------------------------------------------------
ba7e24cd4786 refactor codes and setup for python 2.5
Marcin Kuzminski <marcin@python-works.com>
parents: 552
diff changeset
2 Pylons based repository management for mercurial
ba7e24cd4786 refactor codes and setup for python 2.5
Marcin Kuzminski <marcin@python-works.com>
parents: 552
diff changeset
3 ------------------------------------------------
254
85cbe7ad3402 doc fix
Marcin Kuzminski <marcin@python-works.com>
parents: 253
diff changeset
4
85cbe7ad3402 doc fix
Marcin Kuzminski <marcin@python-works.com>
parents: 253
diff changeset
5 **Overview**
85cbe7ad3402 doc fix
Marcin Kuzminski <marcin@python-works.com>
parents: 253
diff changeset
6
564
ba7e24cd4786 refactor codes and setup for python 2.5
Marcin Kuzminski <marcin@python-works.com>
parents: 552
diff changeset
7 - Has it's own middleware to handle mercurial protocol request. Each request can
ba7e24cd4786 refactor codes and setup for python 2.5
Marcin Kuzminski <marcin@python-works.com>
parents: 552
diff changeset
8 be logged and authenticated. Runs on threads unlikely to hgweb You can make
ba7e24cd4786 refactor codes and setup for python 2.5
Marcin Kuzminski <marcin@python-works.com>
parents: 552
diff changeset
9 multiple pulls/pushes simultaneous
ba7e24cd4786 refactor codes and setup for python 2.5
Marcin Kuzminski <marcin@python-works.com>
parents: 552
diff changeset
10 - Full permissions and authentication per project private/read/write/admin.
ba7e24cd4786 refactor codes and setup for python 2.5
Marcin Kuzminski <marcin@python-works.com>
parents: 552
diff changeset
11 One account for web interface and mercurial push/pull/clone.
ba7e24cd4786 refactor codes and setup for python 2.5
Marcin Kuzminski <marcin@python-works.com>
parents: 552
diff changeset
12 - Mako templates let's you customize look and feel of application.
ba7e24cd4786 refactor codes and setup for python 2.5
Marcin Kuzminski <marcin@python-works.com>
parents: 552
diff changeset
13 - Beautiful diffs, annotations and source codes all colored by pygments.
ba7e24cd4786 refactor codes and setup for python 2.5
Marcin Kuzminski <marcin@python-works.com>
parents: 552
diff changeset
14 - Mercurial branch graph and yui-flot powered graphs with zooming and statistics
ba7e24cd4786 refactor codes and setup for python 2.5
Marcin Kuzminski <marcin@python-works.com>
parents: 552
diff changeset
15 - Admin interface with user/permission management. User activity journal logs
ba7e24cd4786 refactor codes and setup for python 2.5
Marcin Kuzminski <marcin@python-works.com>
parents: 552
diff changeset
16 pulls, pushes, forks,registrations. Possible to disable built in hooks
ba7e24cd4786 refactor codes and setup for python 2.5
Marcin Kuzminski <marcin@python-works.com>
parents: 552
diff changeset
17 - Server side forks, it's possible to fork a project and hack it free without
549
f99075170eb4 more renames for rhode code !!
Marcin Kuzminski <marcin@python-works.com>
parents: 547
diff changeset
18 breaking the main.
564
ba7e24cd4786 refactor codes and setup for python 2.5
Marcin Kuzminski <marcin@python-works.com>
parents: 552
diff changeset
19 - Full text search on source codes, search on file names. All powered by whoosh
ba7e24cd4786 refactor codes and setup for python 2.5
Marcin Kuzminski <marcin@python-works.com>
parents: 552
diff changeset
20 and build in indexing daemons
498
6aa7db1c083a version bump, small readme update
Marcin Kuzminski <marcin@python-works.com>
parents: 402
diff changeset
21 (no external search servers required all in one application)
564
ba7e24cd4786 refactor codes and setup for python 2.5
Marcin Kuzminski <marcin@python-works.com>
parents: 552
diff changeset
22 - Rss / atom feeds, gravatar support, download sources as zip/tarballs
ba7e24cd4786 refactor codes and setup for python 2.5
Marcin Kuzminski <marcin@python-works.com>
parents: 552
diff changeset
23 - Async tasks for speed and performance using celery (works without them too)
ba7e24cd4786 refactor codes and setup for python 2.5
Marcin Kuzminski <marcin@python-works.com>
parents: 552
diff changeset
24 - Backup scripts can do backup of whole app and send it over scp to desired
ba7e24cd4786 refactor codes and setup for python 2.5
Marcin Kuzminski <marcin@python-works.com>
parents: 552
diff changeset
25 location
ba7e24cd4786 refactor codes and setup for python 2.5
Marcin Kuzminski <marcin@python-works.com>
parents: 552
diff changeset
26 - Setup project descriptions and info inside built in db for easy, non
290
702c7e565c56 docs update, version bump
Marcin Kuzminski <marcin@python-works.com>
parents: 254
diff changeset
27 file-system operations
564
ba7e24cd4786 refactor codes and setup for python 2.5
Marcin Kuzminski <marcin@python-works.com>
parents: 552
diff changeset
28 - Added cache with invalidation on push/repo management for high performance and
540
efbab97c3aca fixed some spelling mistakes
Marcin Kuzminski <marcin@python-works.com>
parents: 523
diff changeset
29 always up to date data.
564
ba7e24cd4786 refactor codes and setup for python 2.5
Marcin Kuzminski <marcin@python-works.com>
parents: 552
diff changeset
30 - Based on pylons 1.0 / sqlalchemy 0.6 / sqlite
0
564e40829f80 initial commit.
Marcin Kuzminski
parents:
diff changeset
31
254
85cbe7ad3402 doc fix
Marcin Kuzminski <marcin@python-works.com>
parents: 253
diff changeset
32 **Incoming**
253
7effcce03192 docs update, developments serves statics as default
Marcin Kuzminski <marcin@python-works.com>
parents: 244
diff changeset
33
325
d8d471cfa093 Updated readme
Marcin Kuzminski <marcin@python-works.com>
parents: 290
diff changeset
34 - code review based on hg-review (when it's stable)
498
6aa7db1c083a version bump, small readme update
Marcin Kuzminski <marcin@python-works.com>
parents: 402
diff changeset
35 - git support (when vcs can handle it - almost there !)
6aa7db1c083a version bump, small readme update
Marcin Kuzminski <marcin@python-works.com>
parents: 402
diff changeset
36 - commit based wikis
549
f99075170eb4 more renames for rhode code !!
Marcin Kuzminski <marcin@python-works.com>
parents: 547
diff changeset
37 - clonning from remote repositories into rhodecode (git/mercurial)
498
6aa7db1c083a version bump, small readme update
Marcin Kuzminski <marcin@python-works.com>
parents: 402
diff changeset
38 - other cools stuff that i can figure out (or You can help me figure out)
253
7effcce03192 docs update, developments serves statics as default
Marcin Kuzminski <marcin@python-works.com>
parents: 244
diff changeset
39
564
ba7e24cd4786 refactor codes and setup for python 2.5
Marcin Kuzminski <marcin@python-works.com>
parents: 552
diff changeset
40 ------------
ba7e24cd4786 refactor codes and setup for python 2.5
Marcin Kuzminski <marcin@python-works.com>
parents: 552
diff changeset
41 Installation
ba7e24cd4786 refactor codes and setup for python 2.5
Marcin Kuzminski <marcin@python-works.com>
parents: 552
diff changeset
42 ------------
241
48727add84c9 Made repos path config configurable from pylons app configs. update Readme
Marcin Kuzminski <marcin@python-works.com>
parents: 224
diff changeset
43
564
ba7e24cd4786 refactor codes and setup for python 2.5
Marcin Kuzminski <marcin@python-works.com>
parents: 552
diff changeset
44 **quick setup**
552
2642f128ad46 removed egg info, update files for distutils build
Marcin Kuzminski <marcin@python-works.com>
parents: 549
diff changeset
45
564
ba7e24cd4786 refactor codes and setup for python 2.5
Marcin Kuzminski <marcin@python-works.com>
parents: 552
diff changeset
46 - pip install -E rhodecode-venv rhodecode
552
2642f128ad46 removed egg info, update files for distutils build
Marcin Kuzminski <marcin@python-works.com>
parents: 549
diff changeset
47 - activate virtualenv
2642f128ad46 removed egg info, update files for distutils build
Marcin Kuzminski <marcin@python-works.com>
parents: 549
diff changeset
48 - run `paster make-config RhodeCode production.ini`
2642f128ad46 removed egg info, update files for distutils build
Marcin Kuzminski <marcin@python-works.com>
parents: 549
diff changeset
49 - run `paster setup-app production.ini`
2642f128ad46 removed egg info, update files for distutils build
Marcin Kuzminski <marcin@python-works.com>
parents: 549
diff changeset
50 - run `paster runserver production.ini`
2642f128ad46 removed egg info, update files for distutils build
Marcin Kuzminski <marcin@python-works.com>
parents: 549
diff changeset
51
2642f128ad46 removed egg info, update files for distutils build
Marcin Kuzminski <marcin@python-works.com>
parents: 549
diff changeset
52 You're ready to go.
2642f128ad46 removed egg info, update files for distutils build
Marcin Kuzminski <marcin@python-works.com>
parents: 549
diff changeset
53
564
ba7e24cd4786 refactor codes and setup for python 2.5
Marcin Kuzminski <marcin@python-works.com>
parents: 552
diff changeset
54 **MORE DETAILED INSTRUCTIONS**
552
2642f128ad46 removed egg info, update files for distutils build
Marcin Kuzminski <marcin@python-works.com>
parents: 549
diff changeset
55
549
f99075170eb4 more renames for rhode code !!
Marcin Kuzminski <marcin@python-works.com>
parents: 547
diff changeset
56 - I highly recommend to install new virtualenv for rhodecode see
552
2642f128ad46 removed egg info, update files for distutils build
Marcin Kuzminski <marcin@python-works.com>
parents: 549
diff changeset
57 http://pypi.python.org/pypi/virtualenv for more details.
549
f99075170eb4 more renames for rhode code !!
Marcin Kuzminski <marcin@python-works.com>
parents: 547
diff changeset
58 - Create new virtualenv using `virtualenv --no-site-packages /var/www/rhodecode-venv`
f99075170eb4 more renames for rhode code !!
Marcin Kuzminski <marcin@python-works.com>
parents: 547
diff changeset
59 this will install new virtual env into /var/www/rhodecode-venv.
523
d64a3ab18845 Readme update
Marcin Kuzminski <marcin@python-works.com>
parents: 498
diff changeset
60 Activate the virtualenv by running
549
f99075170eb4 more renames for rhode code !!
Marcin Kuzminski <marcin@python-works.com>
parents: 547
diff changeset
61 `source activate /var/www/rhodecode-venv/bin/activate`
f99075170eb4 more renames for rhode code !!
Marcin Kuzminski <marcin@python-works.com>
parents: 547
diff changeset
62 - Make a folder for rhodecode somewhere on the filesystem for example /var/www/rhodecode
564
ba7e24cd4786 refactor codes and setup for python 2.5
Marcin Kuzminski <marcin@python-works.com>
parents: 552
diff changeset
63 - Run easy_install rhodecode
552
2642f128ad46 removed egg info, update files for distutils build
Marcin Kuzminski <marcin@python-works.com>
parents: 549
diff changeset
64 - Run `paster make-config RhodeCode production.inii` in order to install
2642f128ad46 removed egg info, update files for distutils build
Marcin Kuzminski <marcin@python-works.com>
parents: 549
diff changeset
65 the application config. You can play with the app settings later
523
d64a3ab18845 Readme update
Marcin Kuzminski <marcin@python-works.com>
parents: 498
diff changeset
66 - Run `paster setup-app production.ini` it should create all needed tables
498
6aa7db1c083a version bump, small readme update
Marcin Kuzminski <marcin@python-works.com>
parents: 402
diff changeset
67 and an admin account make sure You specify correct path to repositories.
523
d64a3ab18845 Readme update
Marcin Kuzminski <marcin@python-works.com>
parents: 498
diff changeset
68 - Remember that the given path for mercurial repositories must be write
327
0e87466a117e updated installation instruction, made more user friendly way of creating all needed configs. All is done now from paster setup-app
Marcin Kuzminski <marcin@python-works.com>
parents: 325
diff changeset
69 accessible for the application
552
2642f128ad46 removed egg info, update files for distutils build
Marcin Kuzminski <marcin@python-works.com>
parents: 549
diff changeset
70 - Run paster serve production.ini - or you can use sample init.d scripts.
254
85cbe7ad3402 doc fix
Marcin Kuzminski <marcin@python-works.com>
parents: 253
diff changeset
71 the app should be available at the 127.0.0.1:5000
523
d64a3ab18845 Readme update
Marcin Kuzminski <marcin@python-works.com>
parents: 498
diff changeset
72 - Use admin account you created to login.
d64a3ab18845 Readme update
Marcin Kuzminski <marcin@python-works.com>
parents: 498
diff changeset
73 - Default permissions on each repository is read, and owner is admin. So remember
402
757c7eef0dcd implemented gravatars into main bar.
Marcin Kuzminski <marcin@python-works.com>
parents: 392
diff changeset
74 to update these.
523
d64a3ab18845 Readme update
Marcin Kuzminski <marcin@python-works.com>
parents: 498
diff changeset
75 - In order to use full power of async tasks, You must install message broker
549
f99075170eb4 more renames for rhode code !!
Marcin Kuzminski <marcin@python-works.com>
parents: 547
diff changeset
76 preferably rabbitmq and start celeryd daemon together with rhodecode.
523
d64a3ab18845 Readme update
Marcin Kuzminski <marcin@python-works.com>
parents: 498
diff changeset
77 The app should gain a lot of speed and become much more responsible.
d64a3ab18845 Readme update
Marcin Kuzminski <marcin@python-works.com>
parents: 498
diff changeset
78 For installation instructions You can visit:
d64a3ab18845 Readme update
Marcin Kuzminski <marcin@python-works.com>
parents: 498
diff changeset
79 http://ask.github.com/celery/getting-started/index.html.
564
ba7e24cd4786 refactor codes and setup for python 2.5
Marcin Kuzminski <marcin@python-works.com>
parents: 552
diff changeset
80 - All needed configs are inside rhodecode sources ie. celeryconfig.py,
ba7e24cd4786 refactor codes and setup for python 2.5
Marcin Kuzminski <marcin@python-works.com>
parents: 552
diff changeset
81 development.ini, production.ini You can configure the email, ports, loggers,
ba7e24cd4786 refactor codes and setup for python 2.5
Marcin Kuzminski <marcin@python-works.com>
parents: 552
diff changeset
82 workers from there.
523
d64a3ab18845 Readme update
Marcin Kuzminski <marcin@python-works.com>
parents: 498
diff changeset
83 - For full text search You can either put crontab entry for
549
f99075170eb4 more renames for rhode code !!
Marcin Kuzminski <marcin@python-works.com>
parents: 547
diff changeset
84 `python /var/www/rhodecode/rhodecode/lib/indexers/daemon.py incremental <path_to_repos>`
523
d64a3ab18845 Readme update
Marcin Kuzminski <marcin@python-works.com>
parents: 498
diff changeset
85 or run indexer from admin panel. This will scann the repos given in the
d64a3ab18845 Readme update
Marcin Kuzminski <marcin@python-works.com>
parents: 498
diff changeset
86 application setup or given path for daemon.py and each scann in incremental
564
ba7e24cd4786 refactor codes and setup for python 2.5
Marcin Kuzminski <marcin@python-works.com>
parents: 552
diff changeset
87 mode will scann only changed files.