.. _multi-instance: Running Parallel Instances -------------------------- If you wish to upgrade |RCEE| but retain your old instance before switching over, use the following information. .. note:: It is better to contact us before you upgrade so that you have a matching licence token/key pair. Otherwise upgrading from a 1x or 2x version to a |RCEE| 3.x version could result in down time. For license inquiries, see the :ref:`Licence Management ` section. Overview ^^^^^^^^ Creating a parallel instance involves the following steps: * Copying the original |RCEE| configuration :file:`.ini` file. * Copying the database used by |RCEE|. * Importing and upgrading the copied assets to create a |RCEE| 3.x version. .. important:: The database contents of the original and copied version will diverge once any more work is carried out on either. This makes these steps useful for setting up an evaluation scenario, but does not mean that the new instance is being kept up to date with changes on the original instance. Creating a Parallel Instance ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1. Install |RCC| using the instructions in :ref:`rcc-linux-ref` or :ref:`rcc-windows-ref`. 2. You need to make a copy of the database used by |RCEE|. See the relevant information for your database type to copy safely. 3. Copy your |RCEE| :file:`production.ini` file. The default location for older |RCEE| versions is :file:`/home/{user}/rhodecode/data/production.ini`. 4. Open the copied :file:`production.ini` file and configure the database connection string to point to your copied database. .. code-block:: bash ######################################################### ### DB CONFIGS - EACH DB WILL HAVE IT'S OWN CONFIG ### ######################################################### sqlalchemy.db1.url = sqlite:////home/user/.rccontrol/instance-id/rhodecode.db # Do not use localhost with MySQL DBs sqlalchemy.db1.url = mysql://root:qweqwe@127.0.0.1/rhodecode 5. You can now use |RCC| to import and upgrade |RCEE| using the copied :file:`.ini` and database. You also need a VCS Server to run with |RCEE| 3.x versions. Use the following example to upgrade to the latest version. .. code-block:: bash # Install the latest VCS Server $ rccontrol install VCSServer # Import original instance $ rccontrol import /path/to/copied/production.ini # Check the details of your instance and VCS Server $ rccontrol status - NAME: enterprise-1 - STATUS: RUNNING - TYPE: Enterprise - VERSION: 1.5.0 - URL: http://127.0.0.1:10002 - NAME: vcsserver-1 - STATUS: RUNNING - TYPE: VCSServer - VERSION: 3.5.0 - URL: http://127.0.0.1:10004 # Upgrade Enterprise 1.5.0 to the latest version $ rccontrol upgrade enterprise-1 Checking for available update for enterprise-1 @ 1.5.0 Stopped enterprise-1 Initiating upgrade to version 3.5.0 ... Upgrade of RhodeCode Enterprise successful. Starting instance: enterprise-1 6. The new instance will still point to your repositories, to have |RCEE| pick up that data remap and rescan the repositories. For more information, see the :ref:`Remap and Rescan ` section. .. note:: After upgrading |RCEE|, all users except the *Admin* will be locked out because the licence token and key in the database won't match. You need to contact us for a new licence key.