Install RhodeCode Community or RhodeCode Enterprise

Note

  • The RhodeCode Control command line is case sensitive
  • RhodeCode Enterprise and RhodeCode Community requires a VCS Server for full functionality
  • For MySQL, specify the IP Address and not localhost during setup

To install RhodeCode Enterprise using only the command line, use the following steps.

  1. Download and run the latest RhodeCode Control package as described in the Install RhodeCode Control on Linux or Install RhodeCode Control on Windows sections.
  2. Once downloaded and installed, open a new terminal, and run through the example below. RhodeCode Enterprise/RhodeCode Community will be running on the URL and Port set during installation.

See the Change VCS Server Settings section if you need to manually adjust the VCS Server settings.

Install the VCS Server

# 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 RhodeCode Enterprise or RhodeCode Enterprise

# 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:

$ 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 /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

# 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 RhodeCode Enterprise or VCS Server instance, use the following example. For more information about managing your instances, see the RhodeCode Control CLI Guide section.

# 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.