.. _rce-cli-install-ref: Install |RCCE| or |RCEE| ======================== .. note:: * The |RCC| command line is case sensitive * |RCEE| and |RCCE| requires a |VCS| for full functionality * For MySQL, specify the IP Address and not ``localhost`` during setup To install |RCEE| using only the command line, use the following steps. 1. Download and run the latest |RCC| package as described in the :ref:`rcc-linux-ref` or :ref:`rcc-windows-ref` sections. 2. Once downloaded and installed, open a new terminal, and run through the example below. |RCEE|/|RCCE| will be running on the ``URL`` and ``Port`` set during installation. See the :ref:`manually-vcsserver-ini` section if you need to manually adjust the |VCS| settings. Install the |VCS| ----------------- .. code-block:: bash # Install a VCS Server for your instance $ rccontrol install VCSServer Agree to the licence agreement? [y/N]: y IP to start the server on [127.0.0.1]: Port for the server to start [10000]: Creating new instance: vcsserver-1 Installing RhodeCode VCSServer Configuring RhodeCode VCS Server ... Supervisord state is: RUNNING Added process group vcsserver-1 Install |RCEE| or |RCEE| ------------------------ .. code-block:: bash # Install the latest RhodeCode Enterprise. # The VCS server will be auto-detected and used but can later be changed. # There are two editions available, Community and Enterprise. $ rccontrol install Community or $ rccontrol install Enterprise # Alternatively specify a specific version to install with # rccontrol install Enterprise --version 3.5.0 # there's also -- force flag available to force re-installation Agree to the licence agreement? [y/N]: y Username [admin]: username Password (min 6 chars): Repeat for confirmation: Email: user@mail.com Respositories location [/home/user/repos]: IP to start the Enterprise server on [127.0.0.1]: Port for the Enterprise server to use [10001]: Database type - [s]qlite, [m]ysql, [p]ostresql: MySQL selected Database host [127.0.0.1]: 127.0.0.1 # For MySQL do not use localhost Database port [3306]: 3306 Database username: rhodecode Database password: somepassword Database name: rhodecode Creating new instance: enterprise-1 Installing RhodeCode Enterprise Configuring RhodeCode Enterprise ... ... Configuration of RhodeCode Enterprise passed. Supervisord state is: RUNNING Added process group enterprise-1 Unattended installation ----------------------- There is an option to pass most of the cli arguments via a JSON string into the install command. The example call would be: .. code-block:: bash $ rccontrol install --accept-license VCSServer '{"host":"127.0.0.1", "port":10005}' $ rccontrol install --accept-license Enterprise '{"host":"127.0.0.1", "port":10006, "username":"admin", "password":"secret", "email":"support@rhodecode.com", "repo_dir":"/tmp", "database": "sqlite"}' $ rccontrol install --accept-license Community '{"host":"127.0.0.1", "port":10007, "username":"admin", "password":"secret", "email":"support@rhodecode.com", "repo_dir":"/tmp", "database": "postgresql://postgres:secret@localhost/rhodecode"}' $ rccontrol install --accept-license Community '{"host":"127.0.0.1", "port":10008, "username":"admin", "password":"secret", "email":"support@rhodecode.com", "repo_dir":"/tmp", "database": "mysql://root:qweqwe@localhost/rhodecode"}' This currently works only with sqlite database type. After the installation the :file:`/home/{user}/.rccontrol/{instance-id}/rhodecode.ini` can be changed to use different database type. Proxy and custom SSL certificates --------------------------------- By default there's a strict check for SSL certificates. In order to provide your own custom certificate users need to export an enviroment variable called `REQUESTS_CA_BUNDLE` for example:: export REQUESTS_CA_BUNDLE=/path/to/custom/bundle/ca-bundle.crt rccontrol self-update In addition in users use an intermediate HTTP proxy setting those is also possible and supported. For example in case of authentication proxy:: export HTTP_PROXY="http://user:pass@server:PORT" export HTTPS_PROXY="http://user:pass@server:PORT" rccontrol self-update Check the Status ---------------- .. code-block:: bash # Once installation is complete you can check on the instances $ rccontrol status - NAME: enterprise-1 - STATUS: RUNNING - TYPE: Enterprise - VERSION: 2.2.8 - URL: http://[127.0.0.1]:10004 - NAME: community-1 - STATUS: RUNNING - TYPE: Enterprise - VERSION: 4.1.0 - VCS: vcsserver-1 - URL: http://[127.0.0.1]:10002 - NAME: vcsserver-1 - STATUS: RUNNING - TYPE: VCSServer - VERSION: 3.5.0 - URL: http://[127.0.0.1]:10001 Uninstalling ------------ To uninstall a |RCEE| or |VCS| instance, use the following example. For more information about managing your instances, see the :ref:`rcc-cli` section. .. code-block:: bash # Remove the RhodeCode Enterprise instance $ rccontrol uninstall enterprise-1 Successfully uninstalled enterprise-1. # Remove the VCS Server instance $ rccontrol uninstall vcsserver-1 Successfully uninstalled vcsserver-1. # See that they are both removed $ rccontrol status No instances exist.