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.
- Download and run the latest RhodeCode Control package as described in the Install RhodeCode Control on Linux or Install RhodeCode Control on Windows sections.
- Once downloaded and installed, open a new terminal, and run through the
example below. RhodeCode Enterprise/RhodeCode Community will be running on the
URL
andPort
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.