##// END OF EJS Templates
docs: removed mentions of Nix manager, replaced some occurences of legacy rccontrol mentions, reworked quickstart
andverb -
r5498:15c21823 default
parent child Browse files
Show More
@@ -147,10 +147,6 b' Peer-to-peer Failover Support'
147
147
148 * Yes
148 * Yes
149
149
150 Additional Binaries
151 -------------------
152
153 * Yes, see :ref:`rhodecode-nix-ref` for full details.
154
150
155 Remote Connectivity
151 Remote Connectivity
156 -------------------
152 -------------------
@@ -4,237 +4,7 b''
4 Development setup
4 Development setup
5 ===================
5 ===================
6
6
7
7 #TODO
8 RhodeCode Enterprise runs inside a Nix managed environment. This ensures build
9 environment dependencies are correctly declared and installed during setup.
10 It also enables atomic upgrades, rollbacks, and multiple instances of RhodeCode
11 Enterprise running with isolation.
12
13 To set up RhodeCode Enterprise inside the Nix environment, use the following steps:
14
15
16
17 Setup Nix Package Manager
18 -------------------------
19
20 To install the Nix Package Manager, please run::
21
22 $ curl https://releases.nixos.org/nix/nix-2.3.4/install | sh
23
24 or go to https://nixos.org/nix/ and follow the installation instructions.
25 Once this is correctly set up on your system, you should be able to use the
26 following commands:
27
28 * `nix-env`
29
30 * `nix-shell`
31
32
33 .. tip::
34
35 Update your channels frequently by running ``nix-channel --update``.
36
37 .. note::
38
39 To uninstall nix run the following:
40
41 remove the . "$HOME/.nix-profile/etc/profile.d/nix.sh" line in your ~/.profile or ~/.bash_profile
42 rm -rf $HOME/{.nix-channels,.nix-defexpr,.nix-profile,.config/nixpkgs}
43 sudo rm -rf /nix
44
45 Switch nix to the latest STABLE channel
46 ---------------------------------------
47
48 run::
49
50 nix-channel --add https://nixos.org/channels/nixos-20.03 nixpkgs
51
52 Followed by::
53
54 nix-channel --update
55 nix-env -i nix-2.3.4
56
57
58 Install required binaries
59 -------------------------
60
61 We need some handy tools first.
62
63 run::
64
65 nix-env -i nix-prefetch-hg
66 nix-env -i nix-prefetch-git
67
68
69 Speed up JS build by installing PhantomJS
70 -----------------------------------------
71
72 PhantomJS will be downloaded each time nix-shell is invoked. To speed this by
73 setting already downloaded version do this::
74
75 nix-env -i phantomjs-2.1.1
76
77 # and set nix bin path
78 export PATH=$PATH:~/.nix-profile/bin
79
80
81 Clone the required repositories
82 -------------------------------
83
84 After Nix is set up, clone the RhodeCode Enterprise Community Edition and
85 RhodeCode VCSServer repositories into the same directory.
86 RhodeCode currently is using Mercurial Version Control System, please make sure
87 you have it installed before continuing.
88
89 To obtain the required sources, use the following commands::
90
91 mkdir rhodecode-develop && cd rhodecode-develop
92 hg clone -u default https://code.rhodecode.com/rhodecode-enterprise-ce
93 hg clone -u default https://code.rhodecode.com/rhodecode-vcsserver
94
95 .. note::
96
97 If you cannot clone the repository, please contact us via support@rhodecode.com
98
99
100 Install some required libraries
101 -------------------------------
102
103 There are some required drivers and dev libraries that we need to install to
104 test RhodeCode under different types of databases. For example in Ubuntu we
105 need to install the following.
106
107 required libraries::
108
109 # svn related
110 sudo apt-get install libapr1-dev libaprutil1-dev
111 sudo apt-get install libsvn-dev
112 # libcurl required too
113 sudo apt-get install libcurl4-openssl-dev
114 # mysql/pg server for development, optional
115 sudo apt-get install mysql-server libmysqlclient-dev
116 sudo apt-get install postgresql postgresql-contrib libpq-dev
117
118
119
120 Enter the Development Shell
121 ---------------------------
122
123 The final step is to start the development shells. To do this, run the
124 following command from inside the cloned repository::
125
126 # first, the vcsserver
127 cd ~/rhodecode-vcsserver
128 nix-shell
129
130 # then enterprise sources
131 cd ~/rhodecode-enterprise-ce
132 nix-shell
133
134 .. note::
135
136 On the first run, this will take a while to download and optionally compile
137 a few things. The following runs will be faster. The development shell works
138 fine on both MacOS and Linux platforms.
139
140
141 Create config.nix for development
142 ---------------------------------
143
144 In order to run proper tests and setup linking across projects, a config.nix
145 file needs to be setup::
146
147 # create config
148 mkdir -p ~/.nixpkgs
149 touch ~/.nixpkgs/config.nix
150
151 # put the below content into the ~/.nixpkgs/config.nix file
152 # adjusts, the path to where you cloned your repositories.
153
154 {
155 rc = {
156 sources = {
157 rhodecode-vcsserver = "/home/dev/rhodecode-vcsserver";
158 rhodecode-enterprise-ce = "/home/dev/rhodecode-enterprise-ce";
159 rhodecode-enterprise-ee = "/home/dev/rhodecode-enterprise-ee";
160 };
161 };
162 }
163
164
165
166 Creating a Development Configuration
167 ------------------------------------
168
169 To create a development environment for RhodeCode Enterprise,
170 use the following steps:
171
172 1. Create a copy of vcsserver config:
173 `cp ~/rhodecode-vcsserver/configs/development.ini ~/rhodecode-vcsserver/configs/dev.ini`
174 2. Create a copy of rhodocode config:
175 `cp ~/rhodecode-enterprise-ce/configs/development.ini ~/rhodecode-enterprise-ce/configs/dev.ini`
176 3. Adjust the configuration settings to your needs if needed.
177
178 .. note::
179
180 It is recommended to use the name `dev.ini` since it's included in .hgignore file.
181
182
183 Setup the Development Database
184 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
185
186 To create a development database, use the following example. This is a one
187 time operation executed from the nix-shell of rhodecode-enterprise-ce sources ::
188
189 rc-setup-app dev.ini \
190 --user=admin --password=secret \
191 --email=admin@example.com \
192 --repos=~/my_dev_repos
193
194
195 Compile CSS and JavaScript
196 ^^^^^^^^^^^^^^^^^^^^^^^^^^
197
198 To use the application's frontend and prepare it for production deployment,
199 you will need to compile the CSS and JavaScript with Grunt.
200 This is easily done from within the nix-shell using the following command::
201
202 make web-build
203
204 When developing new features you will need to recompile following any
205 changes made to the CSS or JavaScript files when developing the code::
206
207 grunt watch
208
209 This prepares the development (with comments/whitespace) versions of files.
210
211 Start the Development Servers
212 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
213
214 From the rhodecode-vcsserver directory, start the development server in another
215 nix-shell, using the following command::
216
217 pserve configs/dev.ini
218
219 In the adjacent nix-shell which you created for your development server, you may
220 now start CE with the following command::
221
222
223 pserve --reload configs/dev.ini
224
225 .. note::
226
227 `--reload` flag will automatically reload the server when source file changes.
228
229
230 Run the Environment Tests
231 ^^^^^^^^^^^^^^^^^^^^^^^^^
232
233 Please make sure that the tests are passing to verify that your environment is
234 set up correctly. RhodeCode uses py.test to run tests.
235 While your instance is running, start a new nix-shell and simply run
236 ``make test`` to run the basic test suite.
237
238
8
239 Need Help?
9 Need Help?
240 ^^^^^^^^^^
10 ^^^^^^^^^^
@@ -43,7 +43,6 b' and commit files and |repos| while manag'
43 install/install-database
43 install/install-database
44 install/install-steps
44 install/install-steps
45 admin/system-overview
45 admin/system-overview
46 nix/default-env
47 admin/system-admin
46 admin/system-admin
48 admin/user-admin
47 admin/user-admin
49 admin/repo-admin
48 admin/repo-admin
@@ -80,9 +79,9 b' and commit files and |repos| while manag'
80
79
81 .. toctree::
80 .. toctree::
82 :maxdepth: 2
81 :maxdepth: 2
83 :caption: RhodeCode Control Documentation
82 :caption: RhodeCode RCstack Documentation
84
83
85 RhodeCode Installer <https://docs.rhodecode.com/RhodeCode-Control/>
84 RhodeCode RCstack Installer <https://docs.rhodecode.com/rcstack/>
86
85
87 .. toctree::
86 .. toctree::
88 :maxdepth: 1
87 :maxdepth: 1
@@ -3,108 +3,11 b''
3 Quick Start Installation Guide
3 Quick Start Installation Guide
4 ==============================
4 ==============================
5
5
6 .. important::
6 Since version 5.0.0 Rhodecode runs in Docker, and to get |RCE| up and running,
7
7 you need to use RCstack installer - <https://docs.rhodecode.com/rcstack/install/installation.html/>
8 These are quick start instructions. To optimize your |RCE|,
9 |RCC|, and |RCT| usage, read the more detailed instructions in our guides.
10 For detailed installation instructions, see
11 :ref:`RhodeCode Control Documentation <control:rcc>`
12
13 .. tip::
14
15 If using a non-SQLite database, install and configure the database, create
16 a new user, and grant permissions. You will be prompted for this user's
17 credentials during |RCE| installation. See the relevant database
18 documentation for more details.
19
20 To get |RCE| up and running, run through the below steps:
21
22 1. Download the latest |RCC| installer from `rhodecode.com/download`_.
23 If you don't have an account, sign up at `rhodecode.com/register`_.
24
25 2. Run the |RCC| installer and accept the End User Licence using the
26 following example:
27
28 .. code-block:: bash
29
30 $ chmod +x RhodeCode-installer-linux-*
31 $ ./RhodeCode-installer-linux-*
32
33 Do you accept the RhodeCode Control license?
34 Press [Y] to accept license and [V] to view license text: y
35
36
37 .. important::
38
39 We recommend running RhodeCode as a non-root user, such as `rhodecode`;
40 this user must have a proper home directory.
41 Either log in as that user to install the software, or do it as root
42 with `sudo -i -u rhodecode ./RhodeCode-installer-linux-*`
43
44
45 3. Install a VCS Server, and configure it to start at boot.
46
47 .. code-block:: bash
48
49 $ rccontrol install VCSServer
50
8
51 Agree to the licence agreement? [y/N]: y
9 Please refer to RCstack documentation for
52 IP to start the server on [127.0.0.1]:
53 Port for the server to start [10005]:
54 Creating new instance: vcsserver-1
55 Installing RhodeCode VCSServer
56 Configuring RhodeCode VCS Server ...
57 Supervisord state is: RUNNING
58 Added process group vcsserver-1
59
60
61 4. Install |RCEE| or |RCCE|. If using MySQL or PostgreSQL, during
62 installation you'll be asked for your database credentials, so have them at hand.
63 Mysql or Postgres needs to be running and a new database needs to be created.
64 You don't need any credentials or to create a database for SQLite.
65
66 .. code-block:: bash
67 :emphasize-lines: 11-16
68
69 $ rccontrol install Community
70
71 or
72
73 $ rccontrol install Enterprise
74
10
75 Username [admin]: username
76 Password (min 6 chars):
77 Repeat for confirmation:
78 Email: your@mail.com
79 Respositories location [/home/brian/repos]:
80 IP to start the Enterprise server on [127.0.0.1]:
81 Port for the Enterprise server to use [10004]:
82 Database type - [s]qlite, [m]ysql, [p]ostresql:
83 PostgreSQL selected
84 Database host [127.0.0.1]:
85 Database port [5432]:
86 Database username: db-user-name
87 Database password: somepassword
88 Database name: example-db-name
89
90 5. Check the status of your installation. You |RCEE|/|RCCE| instance runs
91 on the URL displayed in the status message.
92
93 .. code-block:: bash
94
95 $ rccontrol status
96
97 - NAME: enterprise-1
98 - STATUS: RUNNING
99 - TYPE: Enterprise
100 - VERSION: 4.1.0
101 - URL: http://127.0.0.1:10003
102
103 - NAME: vcsserver-1
104 - STATUS: RUNNING
105 - TYPE: VCSServer
106 - VERSION: 4.1.0
107 - URL: http://127.0.0.1:10001
108
11
109 .. note::
12 .. note::
110
13
General Comments 0
You need to be logged in to leave comments. Login now