aboutsummaryrefslogtreecommitdiff
path: root/INSTALL
diff options
context:
space:
mode:
Diffstat (limited to 'INSTALL')
-rw-r--r--INSTALL59
1 files changed, 51 insertions, 8 deletions
diff --git a/INSTALL b/INSTALL
index 5036301..b77cb1c 100644
--- a/INSTALL
+++ b/INSTALL
@@ -29,7 +29,7 @@ To use that script, these are the steps:
--assume-yes --rabbitmq-pwd $RABBIT_PWD --postgres-role-pwd $DB_PWD \
--apache-conf config/rhodecode
- Changing $RABBIT_PWD with tha password written in 'broker.password', and
+ Changing $RABBIT_PWD with the password written in 'broker.password', and
$DB_PWD with the one set up on the database configuration line. Fill in also
the other values: $EMAIL and $ADMIN_PWD for the RhodeCode administration.
@@ -70,6 +70,10 @@ Dependencies
The package git-core can also be installed via the Ubuntu Git Maintainers PPA
that usually has more updated versions of git. The PPA is: ppa:git-core/ppa
+The pip installed packages are handled automatically by the RhodeCode install
+steps, and will be installed in the home directory of the user running the
+installation, not in the whole system.
+
Users Configuration
-------------------
@@ -82,20 +86,23 @@ The RhodeCode installation will be done with a dedicated system user and group.
Necessary Directories
---------------------
-The following directories need to created and be writable at least by the
+The following directories need to be created and be writable at least by the
'rhodecode' user and/or group:
* /var/log/celery
* /var/log/rhodecode
* /opt/rhodecode
- * /opt/git_repos
+ * /opt/rhodecode/git_repos
The '/opt/rhodecode' directory is where RhodeCode will store its local data and
caches.
-The '/opt/git_repos' directory is where RhodeCode will store the git
+The '/opt/rhodecode/git_repos' directory is where RhodeCode will store the git
repositories directories.
+If some of these directories need to be changed, it is necessary to update also
+the RhodeCode configuration files.
+
PostgreSQL Configuration
------------------------
@@ -186,7 +193,7 @@ under the 'rhodecode' home directoy, with the user 'rhodecode'.
* $EMAIL: the email of the administrator
* $PWD: the password for the administrator
* $REPOS: the path of the directory where the git repositories will be saved,
- that for these instructions should be '/opt/git_repos'
+ that for these instructions should be '/opt/rhodecode/git_repos'
* Install RhodeCode, using the 'rhodecode' user home directory as the base:
python setup.py install --user
@@ -206,18 +213,19 @@ To use that configuration it is necessary to enable two Apache modules:
Disable also the 'default' Apache module.
If the directory where git repositories will be stored, is different than
-'/opt/git_repos', modify the Apache RhodeCode virtual host accordingly.
+'/opt/rhodecode/git_repos', modify the Apache RhodeCode virtual host
+accordingly.
Copy the file 'config/rhodecode' into the appropriate Apache directory and
reload the configuration.
-Start the services
+Start the Services
------------------
In order to be able to start the services when the server boots, there are two
upstart configuration files that can be used.
-They are located in the 'config/' directory:
+They are located in the 'scripts/' directory:
* celeryd-upstart.conf
* rhodecode-upstart.conf
@@ -260,3 +268,38 @@ Configuration
All RhodeCode configuration, like creating groups and modifying some of its
setting, happens from the web interface when logged in as the admin user.
+
+
+RhodeCode Staging Instance
+==========================
+
+In order to have staging instance as similar as possible to the production one,
+we need to clone git.linaro.org repositories, mirror them and update them from
+time to time.
+
+In order to mirror all hosted repositories, we need a list of all the '.git'
+directories in git.linaro.org, and clone those.
+
+Once we have the mirrored clones, we need to set up a cron job to update them.
+
+In the 'scripts/' directory there are two Python scripts to automate the clone
+and update operations. They are respectively:
+
+ mirror-repos
+ update-repos
+
+In the 'config' directory there is also a file with all the '.git' directories
+from git.linaro.org. The file is:
+
+ git_repos.txt
+
+This file has to be passed on the command line when cloning the repositories.
+To clone all git.linaro.org repositories:
+
+ python scripts/mirror-repos --repos-list config/git_repos.txt \
+ --checkout-dir /opt/rhodecode/git_repos --user rhodecode
+
+The script will mirror the repositories maintaining their directory structures.
+To update the repositories, as a cron job for the 'rhodecode' user, run:
+
+ python scripts/update-repos --repos-dir /opt/rhodecode/git_repos