##// END OF EJS Templates
docs: updated docs build for 5.0.X
super-admin -
r5344:206a16d7 stable
parent child Browse files
Show More
@@ -1,192 +1,192 b''
1 1 # required for pushd to work..
2 2 SHELL = /bin/bash
3 3
4 4
5 5 # set by: PATH_TO_OUTDATED_PACKAGES=/some/path/outdated_packages.py
6 6 OUTDATED_PACKAGES = ${PATH_TO_OUTDATED_PACKAGES}
7 7
8 8 .PHONY: clean
9 9 ## Cleanup compiled and cache py files
10 10 clean:
11 11 make test-clean
12 12 find . -type f \( -iname '*.c' -o -iname '*.pyc' -o -iname '*.so' -o -iname '*.orig' \) -exec rm '{}' ';'
13 13 find . -type d -name "build" -prune -exec rm -rf '{}' ';'
14 14
15 15
16 16 .PHONY: test
17 17 ## run test-clean and tests
18 18 test:
19 19 make test-clean
20 20 make test-only
21 21
22 22
23 23 .PHONY: test-clean
24 24 ## run test-clean and tests
25 25 test-clean:
26 26 rm -rf coverage.xml htmlcov junit.xml pylint.log result
27 27 find . -type d -name "__pycache__" -prune -exec rm -rf '{}' ';'
28 28 find . -type f \( -iname '.coverage.*' \) -exec rm '{}' ';'
29 29
30 30
31 31 .PHONY: test-only
32 32 ## Run tests only without cleanup
33 33 test-only:
34 34 PYTHONHASHSEED=random \
35 35 py.test -x -vv -r xw -p no:sugar \
36 36 --cov-report=term-missing --cov-report=html \
37 37 --cov=rhodecode rhodecode
38 38
39 39
40 40 .PHONY: test-only-mysql
41 41 ## run tests against mysql
42 42 test-only-mysql:
43 43 PYTHONHASHSEED=random \
44 44 py.test -x -vv -r xw -p no:sugar \
45 45 --cov-report=term-missing --cov-report=html \
46 46 --ini-config-override='{"app:main": {"sqlalchemy.db1.url": "mysql://root:qweqwe@localhost/rhodecode_test?charset=utf8"}}' \
47 47 --cov=rhodecode rhodecode
48 48
49 49
50 50 .PHONY: test-only-postgres
51 51 ## run tests against postgres
52 52 test-only-postgres:
53 53 PYTHONHASHSEED=random \
54 54 py.test -x -vv -r xw -p no:sugar \
55 55 --cov-report=term-missing --cov-report=html \
56 56 --ini-config-override='{"app:main": {"sqlalchemy.db1.url": "postgresql://postgres:qweqwe@localhost/rhodecode_test"}}' \
57 57 --cov=rhodecode rhodecode
58 58
59 59 .PHONY: ruff-check
60 60 ## run a ruff analysis
61 61 ruff-check:
62 62 ruff check --ignore F401 --ignore I001 --ignore E402 --ignore E501 --ignore F841 --exclude rhodecode/lib/dbmigrate --exclude .eggs --exclude .dev .
63 63
64 64
65 65 .PHONY: docs
66 66 ## build docs
67 67 docs:
68 (cd docs; docker run --rm -v $(PWD):/project --workdir=/project/docs sphinx-doc-build-rc make clean html)
68 (cd docs; docker run --rm -v $(PWD):/project --workdir=/project/docs sphinx-doc-build-rc make clean html SPHINXOPTS="-W")
69 69
70 70
71 71 .PHONY: docs-clean
72 72 ## Cleanup docs
73 73 docs-clean:
74 74 (cd docs; docker run --rm -v $(PWD):/project --workdir=/project/docs sphinx-doc-build-rc make clean)
75 75
76 76
77 77 .PHONY: docs-cleanup
78 78 ## Cleanup docs
79 79 docs-cleanup:
80 80 (cd docs; docker run --rm -v $(PWD):/project --workdir=/project/docs sphinx-doc-build-rc make cleanup)
81 81
82 82
83 83 .PHONY: web-build
84 84 ## Build JS packages static/js
85 85 web-build:
86 86 docker run -it --rm -v $(PWD):/project --workdir=/project rhodecode/static-files-build:16 -c "npm install && /project/node_modules/.bin/grunt"
87 87 # run static file check
88 88 ./rhodecode/tests/scripts/static-file-check.sh rhodecode/public/
89 89 rm -rf node_modules
90 90
91 91
92 92 .PHONY: pip-packages
93 93 ## Show outdated packages
94 94 pip-packages:
95 95 python ${OUTDATED_PACKAGES}
96 96
97 97
98 98 .PHONY: build
99 99 ## Build sdist/egg
100 100 build:
101 101 python -m build
102 102
103 103
104 104 .PHONY: dev-sh
105 105 ## make dev-sh
106 106 dev-sh:
107 107 sudo echo "deb [trusted=yes] https://apt.fury.io/rsteube/ /" | sudo tee -a "/etc/apt/sources.list.d/fury.list"
108 108 sudo apt-get update
109 109 sudo apt-get install -y zsh carapace-bin
110 110 rm -rf /home/rhodecode/.oh-my-zsh
111 111 curl https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh
112 112 echo "source <(carapace _carapace)" > /home/rhodecode/.zsrc
113 113 PROMPT='%(?.%F{green}√.%F{red}?%?)%f %B%F{240}%1~%f%b %# ' zsh
114 114
115 115
116 116 .PHONY: dev-cleanup
117 117 ## Cleanup: pip freeze | grep -v "^-e" | grep -v "@" | xargs pip uninstall -y
118 118 dev-cleanup:
119 119 pip freeze | grep -v "^-e" | grep -v "@" | xargs pip uninstall -y
120 120 rm -rf /tmp/*
121 121
122 122
123 123 .PHONY: dev-env
124 124 ## make dev-env based on the requirements files and install develop of packages
125 125 dev-env:
126 126 pip install build virtualenv
127 127 pushd ../rhodecode-vcsserver/ && make dev-env && popd
128 128 pip wheel --wheel-dir=/home/rhodecode/.cache/pip/wheels -r requirements.txt -r requirements_rc_tools.txt -r requirements_test.txt -r requirements_debug.txt
129 129 pip install --no-index --find-links=/home/rhodecode/.cache/pip/wheels -r requirements.txt -r requirements_rc_tools.txt -r requirements_test.txt -r requirements_debug.txt
130 130 pip install -e .
131 131
132 132
133 133 .PHONY: sh
134 134 ## shortcut for make dev-sh dev-env
135 135 sh:
136 136 make dev-env
137 137 make dev-sh
138 138
139 139
140 140 .PHONY: dev-srv
141 141 ## run develop server instance, docker exec -it $(docker ps -q --filter 'name=dev-enterprise-ce') /bin/bash
142 142 dev-srv:
143 143 pserve --reload .dev/dev.ini
144 144
145 145
146 146 .PHONY: dev-srv-g
147 147 ## run gunicorn multi process workers
148 148 dev-srv-g:
149 149 gunicorn --paste .dev/dev.ini --bind=0.0.0.0:10020 --config=.dev/gunicorn_config.py --timeout=120 --reload
150 150
151 151
152 152 # Default command on calling make
153 153 .DEFAULT_GOAL := show-help
154 154
155 155 .PHONY: show-help
156 156 show-help:
157 157 @echo "$$(tput bold)Available rules:$$(tput sgr0)"
158 158 @echo
159 159 @sed -n -e "/^## / { \
160 160 h; \
161 161 s/.*//; \
162 162 :doc" \
163 163 -e "H; \
164 164 n; \
165 165 s/^## //; \
166 166 t doc" \
167 167 -e "s/:.*//; \
168 168 G; \
169 169 s/\\n## /---/; \
170 170 s/\\n/ /g; \
171 171 p; \
172 172 }" ${MAKEFILE_LIST} \
173 173 | LC_ALL='C' sort --ignore-case \
174 174 | awk -F '---' \
175 175 -v ncol=$$(tput cols) \
176 176 -v indent=19 \
177 177 -v col_on="$$(tput setaf 6)" \
178 178 -v col_off="$$(tput sgr0)" \
179 179 '{ \
180 180 printf "%s%*s%s ", col_on, -indent, $$1, col_off; \
181 181 n = split($$2, words, " "); \
182 182 line_length = ncol - indent; \
183 183 for (i = 1; i <= n; i++) { \
184 184 line_length -= length(words[i]) + 1; \
185 185 if (line_length <= 0) { \
186 186 line_length = ncol - indent - length(words[i]) - 1; \
187 187 printf "\n%*s ", -indent, " "; \
188 188 } \
189 189 printf "%s ", words[i]; \
190 190 } \
191 191 printf "\n"; \
192 192 }'
@@ -1,118 +1,118 b''
1 1 .. _increase-gunicorn:
2 2
3 3 Configure Gunicorn Workers
4 4 --------------------------
5 5
6 6
7 7 |RCE| comes with `Gunicorn`_ which is a Python WSGI HTTP Server for UNIX.
8 8
9 9 To improve |RCE| performance you can increase the number of `Gunicorn`_ workers.
10 10 This allows to handle more connections concurrently, and provide better
11 11 responsiveness and performance.
12 12
13 13 By default during installation |RCC| tries to detect how many CPUs are
14 14 available in the system, and set the number workers based on that information.
15 15 However sometimes it's better to manually set the number of workers.
16 16
17 17 To do this, use the following steps:
18 18
19 19 1. Open the :file:`home/{user}/.rccontrol/{instance-id}/rhodecode.ini` file.
20 20 2. In the ``[server:main]`` section, change the number of Gunicorn
21 ``workers`` using the following default formula :math:`(2 * Cores) + 1`.
21 ``workers`` using the following default formula `(2 * Cores) + 1`.
22 22 We however not recommend using more than 8-12 workers per server. It's better
23 23 to start using the :ref:`scale-horizontal-cluster` in case that performance
24 24 with 8-12 workers is not enough.
25 25
26 26 .. code-block:: ini
27 27
28 28 ; Sets the number of process workers. More workers means more concurrent connections
29 29 ; RhodeCode can handle at the same time. Each additional worker also it increases
30 30 ; memory usage as each has it's own set of caches.
31 31 ; Recommended value is (2 * NUMBER_OF_CPUS + 1), eg 2CPU = 5 workers, but no more
32 32 ; than 8-10 unless for really big deployments .e.g 700-1000 users.
33 33 ; `instance_id = *` must be set in the [app:main] section below (which is the default)
34 34 ; when using more than 1 worker.
35 35 workers = 6
36 36
37 37 ; Type of worker class, one of `sync`, `gevent`
38 38 ; Use `gevent` for rhodecode
39 39 worker_class = gevent
40 40
41 41 ; The maximum number of simultaneous clients per worker. Valid only for gevent
42 42 worker_connections = 10
43 43
44 44
45 45 3. In the ``[app:main]`` section, set the ``instance_id`` property to ``*``.
46 46
47 47 .. code-block:: ini
48 48
49 49 # In the [app:main] section
50 50 [app:main]
51 51 # You must set `instance_id = *`
52 52 instance_id = *
53 53
54 54 4. Change the VCSServer workers too. Open the
55 55 :file:`home/{user}/.rccontrol/{instance-id}/vcsserver.ini` file.
56 56
57 57 5. In the ``[server:main]`` section, increase the number of Gunicorn
58 ``workers`` using the following formula :math:`(2 * Cores) + 1`.
58 ``workers`` using the following formula `(2 * Cores) + 1`.
59 59
60 60 .. code-block:: ini
61 61
62 62 ; Sets the number of process workers. More workers means more concurrent connections
63 63 ; RhodeCode can handle at the same time. Each additional worker also it increases
64 64 ; memory usage as each has it's own set of caches.
65 65 ; Recommended value is (2 * NUMBER_OF_CPUS + 1), eg 2CPU = 5 workers, but no more
66 66 ; than 8-10 unless for really big deployments .e.g 700-1000 users.
67 67 ; `instance_id = *` must be set in the [app:main] section below (which is the default)
68 68 ; when using more than 1 worker.
69 69 workers = 8
70 70
71 71 ; Type of worker class, one of `sync`, `gevent`
72 72 ; Use `sync` for vcsserver
73 73 worker_class = sync
74 74
75 75
76 76 6. Save your changes.
77 77 7. Restart your |RCE| instances, using the following command:
78 78
79 79 .. code-block:: bash
80 80
81 81 $ rccontrol restart '*'
82 82
83 83
84 84 Gunicorn Gevent Backend
85 85 -----------------------
86 86
87 87 Gevent is an asynchronous worker type for Gunicorn. It allows accepting multiple
88 88 connections on a single `Gunicorn`_ worker. This means you can handle 100s
89 89 of concurrent clones, or API calls using just few workers. A setting called
90 90 `worker_connections` defines on how many connections each worker can
91 91 handle using `Gevent`.
92 92
93 93
94 94 To enable `Gevent` on |RCE| do the following:
95 95
96 96
97 97 1. Open the :file:`home/{user}/.rccontrol/{instance-id}/rhodecode.ini` file.
98 98 2. In the ``[server:main]`` section, change `worker_class` for Gunicorn.
99 99
100 100
101 101 .. code-block:: ini
102 102
103 103 ; Type of worker class, one of `sync`, `gevent`
104 104 ; Use `gevent` for rhodecode
105 105 worker_class = gevent
106 106
107 107 ; The maximum number of simultaneous clients per worker. Valid only for gevent
108 108 worker_connections = 30
109 109
110 110
111 111 .. note::
112 112
113 113 `Gevent` is currently only supported for Enterprise/Community instances.
114 114 VCSServer doesn't support gevent.
115 115
116 116
117 117
118 118 .. _Gunicorn: http://gunicorn.org/
@@ -1,347 +1,348 b''
1 1 # Configuration file for the Sphinx documentation builder.
2 2 #
3 3 # For the full list of built-in configuration values, see the documentation:
4 4 # https://www.sphinx-doc.org/en/master/usage/configuration.html
5 5
6 6 # -- Project information -----------------------------------------------------
7 7 # https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information
8 8
9 9 import os
10 10 import sys
11 11 import datetime
12 12
13 13 # sphinx injects tags magically during build, we re-define it here to make linters happy
14 14 tags = tags # noqa
15 15
16 16 # If extensions (or modules to document with autodoc) are in another directory,
17 17 # add these directories to sys.path here. If the directory is relative to the
18 18 # documentation root, use os.path.abspath to make it absolute, like shown here.
19 19 sys.path.insert(0, os.path.abspath("."))
20 20
21 21
22 22 def _get_version():
23 23 with open("../rhodecode/VERSION") as f:
24 24 return f.read().strip()
25 25
26 26
27 27 now = datetime.datetime.today()
28 28
29 29 # The full project version, used as the replacement for |release| and e.g. in the HTML templates.
30 30 # For example, for the Python documentation, this may be something like 2.6.0rc1.
31 31 # If you don’t need the separation provided between version and release, just set them both to the same value.
32 32 release = _get_version()
33 33
34 34 # The major project version, used as the replacement for |version|.
35 35 # For example, for the Python documentation, this may be something like 2.6.
36 36 version = ".".join(release.split(".", 2)[:2]) # First two parts of release
37 37
38 38
39 39 # General information about the project.
40 40 project = "RhodeCode Enterprise"
41 41 copyright = f"2010-{now.year}, RhodeCode GmbH"
42 42 author = "RhodeCode GmbH"
43 43
44 44 # -- General configuration ------------------------------------------------
45 45
46 46 # If your documentation needs a minimal Sphinx version, state it here.
47 47 # needs_sphinx = '1.0'
48 48
49 49 # Add any Sphinx extension module names here, as strings. They can be
50 50 # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
51 51 # ones.
52 52 extensions = [
53 53 "sphinx.ext.autodoc",
54 54 "sphinx.ext.intersphinx",
55 55 "sphinx.ext.todo",
56 56 "sphinx.ext.imgmath",
57 57 ]
58 58
59 59 intersphinx_mapping = {
60 60 "enterprise": ("https://docs.rhodecode.com/RhodeCode-Enterprise/", None),
61 61 "rcstack": ("https://docs.rhodecode.com/rcstack/", None),
62 62 "control": ("https://docs.rhodecode.com/RhodeCode-Control/", None),
63 63 }
64 64
65 65 # Add any paths that contain templates here, relative to this directory.
66 66 templates_path = ["_templates"]
67 67
68 68 # The suffix of source filenames.
69 69 source_suffix = ".rst"
70 70
71 71 # The encoding of source files.
72 72 # source_encoding = 'utf-8-sig'
73 73
74 74 # The master toctree document.
75 75 master_doc = "index"
76 76
77 77 # The version info for the project you're documenting, acts as replacement for
78 78 # |version| and |release|, also used in various other places throughout the
79 79 # built documents.
80 80
81 81
82 82 # The language for content autogenerated by Sphinx. Refer to documentation
83 83 # for a list of supported languages.
84 84 # language = None
85 85
86 86 rst_epilog = """
87 87 .. |async| replace:: asynchronous
88 88 .. |AE| replace:: Appenlight
89 89 .. |authtoken| replace:: Authentication Token
90 90 .. |authtokens| replace:: **Auth Tokens**
91 91 .. |RCCEshort| replace:: Community
92 92 .. |RCEEshort| replace:: Enterprise
93 93 .. |git| replace:: Git
94 94 .. |hg| replace:: Mercurial
95 95 .. |svn| replace:: Subversion
96 96 .. |LDAP| replace:: LDAP / Active Directory
97 97 .. |os| replace:: operating system
98 98 .. |OS| replace:: Operating System
99 99 .. |PY| replace:: Python
100 100 .. |pr| replace:: pull request
101 101 .. |prs| replace:: pull requests
102 102 .. |psf| replace:: Python Software Foundation
103 103 .. |repo| replace:: repository
104 104 .. |repos| replace:: repositories
105 105 .. |RCC| replace:: RhodeCode Control
106 .. |RCS| replace:: RhodeCode rcstack
106 107 .. |RCE| replace:: RhodeCode Enterprise
107 108 .. |RCCE| replace:: RhodeCode Community
108 109 .. |RCEE| replace:: RhodeCode Enterprise
109 110 .. |RCX| replace:: RhodeCode Extensions
110 111 .. |RCT| replace:: RhodeCode Tools
111 112 .. |RCEBOLD| replace:: **RhodeCode Enterprise**
112 113 .. |RCEITALICS| replace:: `RhodeCode Enterprise`
113 114 .. |RNS| replace:: Release Notes
114 115 """
115 116
116 117 # There are two options for replacing |today|: either, you set today to some
117 118 # non-false value, then it is used:
118 119 # today = ''
119 120 # Else, today_fmt is used as the format for a strftime call.
120 121 # today_fmt = '%B %d, %Y'
121 122
122 123 # List of patterns, relative to source directory, that match files and
123 124 # directories to ignore when looking for source files.
124 125 exclude_patterns = [
125 126 # Special directories
126 127 "_build",
127 128 "result",
128 129 # Other RST files
129 130 "admin/rhodecode-backup.rst",
130 131 "issue-trackers/redmine.rst",
131 132 "known-issues/error-msg-guide.rst",
132 133 "tutorials/docs-build.rst",
133 134 "integrations/example-ext.py",
134 135 "collaboration/supported-workflows.rst",
135 136 ]
136 137
137 138
138 139 # The reST default role (used for this markup: `text`) to use for all
139 140 # documents.
140 141 # default_role = None
141 142
142 143 # If true, '()' will be appended to :func: etc. cross-reference text.
143 144 # add_function_parentheses = True
144 145
145 146 # If true, the current module name will be prepended to all description
146 147 # unit titles (such as .. function::).
147 148 # add_module_names = True
148 149
149 150 # If true, sectionauthor and moduleauthor directives will be shown in the
150 151 # output. They are ignored by default.
151 152 # show_authors = False
152 153
153 154 # The name of the Pygments (syntax highlighting) style to use.
154 155 pygments_style = "sphinx"
155 156
156 157 # A list of ignored prefixes for module index sorting.
157 158 # modindex_common_prefix = []
158 159
159 160 # If true, keep warnings as "system message" paragraphs in the built documents.
160 161 keep_warnings = tags.has("dev")
161 162
162 163
163 164 # -- Options for HTML output ----------------------------------------------
164 165
165 166 # The theme to use for HTML and HTML Help pages. See the documentation for
166 167 # a list of builtin themes.
167 168 html_theme = "furo"
168 169
169 170 # Theme options are theme-specific and customize the look and feel of a theme
170 171 # further. For a list of options available for each theme, see the
171 172 # documentation.
172 173 # html_theme_options = {}
173 174
174 175
175 176 # Add any paths that contain custom themes here, relative to this directory.
176 177 # html_theme_path = []
177 178
178 179 # The name for this set of Sphinx documents. If None, it defaults to
179 180 # "<project> v<release> documentation".
180 181 # html_title = None
181 182
182 183 # A shorter title for the navigation bar. Default is the same as html_title.
183 184 # html_short_title = None
184 185
185 186 # The name of an image file (relative to this directory) to place at the top
186 187 # of the sidebar.
187 188 # html_logo = None
188 189
189 190
190 191 #html_sidebars = {
191 192 # "**": ["globaltoc.html"],
192 193 #}
193 194
194 195 # The name of an image file (within the static path) to use as favicon of the
195 196 # docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
196 197 # pixels large.
197 198 html_favicon = "images/favicon.ico"
198 199
199 200 # Add any paths that contain custom static files (such as style sheets) here,
200 201 # relative to this directory. They are copied after the builtin static files,
201 202 # so a file named "default.css" will overwrite the builtin "default.css".
202 html_static_path = ["static/css/add.css"]
203 html_static_path = ['_static']
203 204
204 205 # Add any extra paths that contain custom files (such as robots.txt or
205 206 # .htaccess) here, relative to this directory. These files are copied
206 207 # directly to the root of the documentation.
207 208 # html_extra_path = []
208 209
209 210 # If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
210 211 # using the given strftime format.
211 212 html_last_updated_fmt = " %H:%m %b %d, %Y"
212 213
213 214 # If true, SmartyPants will be used to convert quotes and dashes to
214 215 # typographically correct entities.
215 216 # html_use_smartypants = True
216 217
217 218 # Custom sidebar templates, maps document names to template names.
218 219 # html_sidebars = {}
219 220
220 221 # Additional templates that should be rendered to pages, maps page names to
221 222 # template names.
222 223 # html_additional_pages = {}
223 224
224 225 # If false, no module index is generated.
225 226 # html_domain_indices = True
226 227
227 228 # If false, no index is generated.
228 229 # html_use_index = True
229 230
230 231 # If true, the index is split into individual pages for each letter.
231 232 # html_split_index = False
232 233
233 234 # If true, links to the reST sources are added to the pages.
234 235 # html_show_sourcelink = True
235 236
236 237 # If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
237 238 html_show_sphinx = False
238 239
239 240 # If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
240 241 # html_show_copyright = True
241 242
242 243 # If true, an OpenSearch description file will be output, and all pages will
243 244 # contain a <link> tag referring to it. The value of this option must be the
244 245 # base URL from which the finished HTML is served.
245 246 # html_use_opensearch = ''
246 247
247 248 # This is the file name suffix for HTML files (e.g. ".xhtml").
248 249 # html_file_suffix = None
249 250
250 251 # Output file base name for HTML help builder.
251 252 htmlhelp_basename = "rhodecode-enterprise"
252 253
253 254
254 255 # -- Options for LaTeX output ---------------------------------------------
255 256
256 257 latex_elements = {
257 258 "classoptions": ",oneside",
258 259 "babel": "\\usepackage[english]{babel}",
259 260 # The paper size ('letterpaper' or 'a4paper').
260 261 #'papersize': 'letterpaper',
261 262 # The font size ('10pt', '11pt' or '12pt').
262 263 #'pointsize': '10pt',
263 264 # Additional stuff for the LaTeX preamble.
264 265 #'preamble': '',
265 266 }
266 267
267 268 # Grouping the document tree into LaTeX files. List of tuples
268 269 # (source start file, target name, title,
269 270 # author, documentclass [howto, manual, or own class]).
270 271 latex_documents = [
271 272 (
272 273 "index",
273 274 "RhodeCodeEnterprise.tex",
274 275 "RhodeCode Enterprise",
275 276 "RhodeCode GmbH",
276 277 "manual",
277 278 ),
278 279 ]
279 280
280 281 # The name of an image file (relative to this directory) to place at the top of
281 282 # the title page.
282 283 # latex_logo = None
283 284
284 285 # For "manual" documents, if this is true, then toplevel headings are parts,
285 286 # not chapters.
286 287 # latex_use_parts = False
287 288
288 289 # If true, show page references after internal links.
289 290 latex_show_pagerefs = True
290 291
291 292 # If true, show URL addresses after external links.
292 293 latex_show_urls = "footnote"
293 294
294 295 # Documents to append as an appendix to all manuals.
295 296 # latex_appendices = []
296 297
297 298 # If false, no module index is generated.
298 299 # latex_domain_indices = True
299 300
300 301 # Mode for literal blocks wider than the frame. Can be
301 302 # overflow, shrink or truncate
302 303 pdf_fit_mode = "truncate"
303 304
304 305
305 306 # -- Options for manual page output ---------------------------------------
306 307
307 308 # One entry per manual page. List of tuples
308 309 # (source start file, name, description, authors, manual section).
309 310 man_pages = [
310 311 ("index", "rhodecodeenterprise", "RhodeCode Enterprise", ["RhodeCode GmbH"], 1)
311 312 ]
312 313
313 314 # If true, show URL addresses after external links.
314 315 # man_show_urls = False
315 316
316 317
317 318 # -- Options for Texinfo output -------------------------------------------
318 319
319 320 # Grouping the document tree into Texinfo files. List of tuples
320 321 # (source start file, target name, title, author,
321 322 # dir menu entry, description, category)
322 323 texinfo_documents = [
323 324 (
324 325 "index",
325 326 "RhodeCodeEnterprise",
326 327 "RhodeCode Enterprise",
327 328 "RhodeCode Docs Team",
328 329 "RhodeCodeEnterprise",
329 330 "RhodeCode Docs Project",
330 331 "Miscellaneous",
331 332 ),
332 333 ]
333 334
334 335 # Documents to append as an appendix to all manuals.
335 336 # texinfo_appendices = []
336 337
337 338 # If false, no module index is generated.
338 339 # texinfo_domain_indices = True
339 340
340 341 # How to display URL addresses: 'footnote', 'no', or 'inline'.
341 342 # texinfo_show_urls = 'footnote'
342 343
343 344 # If true, do not generate a @detailmenu in the "Top" node's menu.
344 345 # texinfo_no_detailmenu = False
345 346
346 347 # We want to see todo notes in case of a pre-release build of the documentation
347 348 todo_include_todos = tags.has("dev")
@@ -1,93 +1,92 b''
1 1 |RCE|
2 2 =====
3 3
4 4 |RCE| is a high-performance source code management and collaboration system.
5 5 It enables you to develop projects securely behind the firewall while
6 6 providing collaboration tools that work with |git|, |hg|,
7 7 and |svn| |repos|. The user interface allows you to create, edit,
8 8 and commit files and |repos| while managing their security permissions.
9 9
10 10 |RCE| provides the following features:
11 11
12 12 * Source code management.
13 13 * Extended permissions management.
14 14 * Integrated code collaboration tools.
15 15 * Integrated code review and notifications.
16 16 * Scalability provided by multi-node setup.
17 17 * Fully programmable automation API.
18 18 * Web-based hook management.
19 19 * Native |svn| support.
20 20 * Migration from existing databases.
21 21 * |RCE| SDK.
22 22 * Built-in analytics
23 23 * Built in integrations including: Slack, Webhooks (used for Jenkins/TeamCity and other CIs), Jira, Redmine, Hipchat
24 24 * Pluggable authentication system.
25 25 * Support for AD, |LDAP|, Crowd, CAS, PAM.
26 26 * Support for external authentication via Oauth Google, Github, Bitbucket, Twitter.
27 27 * Debug modes of operation.
28 28 * Private and public gists.
29 29 * Gists with limited lifetimes and within instance only sharing.
30 30 * Fully integrated code search function.
31 31 * Always on SSL connectivity.
32 32
33 33 .. only:: html
34 34
35 35 Table of Contents
36 36 -----------------
37 37
38 38 .. toctree::
39 39 :maxdepth: 1
40 40 :caption: Admin Documentation
41 41
42 42 install/quick-start
43 43 install/install-database
44 44 install/install-steps
45 45 admin/system-overview
46 nix/default-env
47 46 admin/system-admin
48 47 admin/user-admin
49 48 admin/repo-admin
50 49 admin/security-tips
51 50 auth/auth
52 51 issue-trackers/issue-trackers
53 52 admin/lab-settings
54 53
55 54 .. toctree::
56 55 :maxdepth: 1
57 56 :caption: Feature Documentation
58 57
59 58 collaboration/collaboration
60 59 collaboration/review-notifications
61 60 collaboration/pull-requests
62 61 code-review/code-review
63 62 integrations/integrations
64 63
65 64 .. toctree::
66 65 :maxdepth: 1
67 66 :caption: User Documentation
68 67
69 68 usage/basic-usage
70 69 tutorials/tutorials
71 70
72 71 .. toctree::
73 72 :maxdepth: 1
74 73 :caption: Developer Documentation
75 74
76 75 api/api
77 76 tools/rhodecode-tools
78 77 extensions/extensions-hooks
79 78 contributing/contributing
80 79
81 80 .. toctree::
82 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 Installer <https://docs.rhodecode.com/rcstack/>
86 85
87 86 .. toctree::
88 87 :maxdepth: 1
89 88 :caption: About
90 89
90 release-notes/release-notes
91 91 known-issues/known-issues
92 release-notes/release-notes
93 92 admin/glossary
@@ -1,14 +1,13 b''
1 .. _rhodecode-post-instal-ref:
1 .. _rhodecode-post-install-ref:
2 2
3 3 Post Installation Tasks
4 4 =======================
5 5
6 6 The following tasks are the most common post installation requirements. Use
7 7 the information in these sections to configure your instance of |RCE|.
8 8
9 9 .. toctree::
10 10
11 11 setup-email
12 database-string
13 12 configure-celery
14 13 migrate-repos
@@ -1,122 +1,92 b''
1 1 .. _quick-start:
2 2
3 3 Quick Start Installation Guide
4 4 ==============================
5 5
6 6 .. important::
7 7
8 8 These are quick start instructions. To optimize your |RCE|,
9 9 |RCC|, and |RCT| usage, read the more detailed instructions in our guides.
10 10 For detailed installation instructions, see
11 :ref:`RhodeCode Control Documentation <control:rcc>`
12
13 .. tip::
11 :ref:`RhodeCode rcstack Documentation <rcstack:installation>`
14 12
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.
13
19 14
20 15 To get |RCE| up and running, run through the below steps:
21 16
22 1. Download the latest |RCC| installer from `rhodecode.com/download`_.
17 1. Register to get the latest |RCC| installer instruction from `rhodecode.com/download`_.
23 18 If you don't have an account, sign up at `rhodecode.com/register`_.
24 19
25 2. Run the |RCC| installer and accept the End User Licence using the
20 2. Run the |RCS| installer and start init process.
26 21 following example:
27 22
28 23 .. code-block:: bash
29 24
30 $ chmod +x RhodeCode-installer-linux-*
31 $ ./RhodeCode-installer-linux-*
25 mkdir docker-rhodecode && cd docker-rhodecode
26 curl -L -s -o rcstack https://dls.rhodecode.com/get-rcstack && chmod +x rcstack
32 27
33 Do you accept the RhodeCode Control license?
34 Press [Y] to accept license and [V] to view license text: y
28 ./rcstack init
35 29
36 30
37 31 .. important::
38 32
39 33 We recommend running RhodeCode as a non-root user, such as `rhodecode`;
40 this user must have a proper home directory.
34 this user must have a proper home directory and sudo permissions (to start Docker)
41 35 Either log in as that user to install the software, or do it as root
42 with `sudo -i -u rhodecode ./RhodeCode-installer-linux-*`
36 with `sudo -i -u rhodecode ./rcstack init`
43 37
44 38
45 3. Install a VCS Server, and configure it to start at boot.
39 3. Follow instructions on |RCS| documentation pages
40
41 :ref:`Quick install tutorial <rcstack:quick_installation>`
42
43 4. Check stack status
44
45 .. code-block:: bash
46
47 ./rcstack status
48
49
50 Output should look similar to this:
46 51
47 52 .. code-block:: bash
48 53
49 $ rccontrol install VCSServer
50
51 Agree to the licence agreement? [y/N]: y
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
54 ---
55 CONTAINER ID IMAGE STATUS NAMES PORTS
56 ef54fc528e3a traefik:v2.9.5 Up 2 hours rc_cluster_router-traefik-1 0.0.0.0:80->80/tcp, :::80->80/tcp
57 f3ea0539e8b0 rhodecode/rhodecode-ee:4.28.0 Up 2 hours (healthy) rc_cluster_apps-rhodecode-1 0.0.0.0:10020->10020/tcp, :::10020->10020/tcp
58 2be52ba58ffe rhodecode/rhodecode-ee:4.28.0 Up 2 hours (healthy) rc_cluster_apps-vcsserver-1
59 7cd730ad3263 rhodecode/rhodecode-ee:4.28.0 Up 2 hours (healthy) rc_cluster_apps-celery-1
60 dfa231342c87 rhodecode/rhodecode-ee:4.28.0 Up 2 hours (healthy) rc_cluster_apps-celery-beat-1
61 d3d76ce2de96 rhodecode/rhodecode-ee:4.28.0 Up 2 hours (healthy) rc_cluster_apps-sshd-1
62 daaac329414b rhodecode/rhodecode-ee:4.28.0 Up 2 hours (healthy) rc_cluster_apps-svn-1
63 7b8504fb9acb nginx:1.23.2 Up 2 hours (healthy) rc_cluster_services-nginx-1 80/tcp
64 7279c25feb6b elasticsearch:6.8.23 Up 2 hours (healthy) rc_cluster_services-elasticsearch-1 9200/tcp, 9300/tcp
65 19fb93587493 redis:7.0.5 Up 2 hours (healthy) rc_cluster_services-redis-1 6379/tcp
66 fb77fb6496c6 channelstream/channelstream:0.7.1 Up 2 hours (healthy) rc_cluster_services-channelstream-1 8000/tcp
67 cb6c5c022f5b postgres:14.6 Up 2 hours (healthy) rc_cluster_services-database-1 5432/tcp
74 68
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
69 At this point you should be able to access:
89 70
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
71 - RhodeCode instance at your domain entered, e.g http://rhodecode.local, the default access
72 credentials are generated and stored inside .runtime.env.
73 For example::
96 74
97 - NAME: enterprise-1
98 - STATUS: RUNNING
99 - TYPE: Enterprise
100 - VERSION: 4.1.0
101 - URL: http://127.0.0.1:10003
75 RHODECODE_USER_NAME=admin
76 RHODECODE_USER_PASS=super-secret-password
102 77
103 - NAME: vcsserver-1
104 - STATUS: RUNNING
105 - TYPE: VCSServer
106 - VERSION: 4.1.0
107 - URL: http://127.0.0.1:10001
108 78
109 79 .. note::
110 80
111 81 Recommended post quick start install instructions:
112 82
113 83 * Read the documentation
114 * Carry out the :ref:`rhodecode-post-instal-ref`
84 * Carry out the :ref:`rhodecode-post-install-ref`
115 85 * Set up :ref:`indexing-ref`
116 86 * Familiarise yourself with the :ref:`rhodecode-admin-ref` section.
117 87
118 88 .. _rhodecode.com/download/: https://rhodecode.com/download/
119 89 .. _rhodecode.com: https://rhodecode.com/
120 90 .. _rhodecode.com/register: https://rhodecode.com/register/
121 91 .. _rhodecode.com/download: https://rhodecode.com/download/
122 92
1 NO CONTENT: file was removed
1 NO CONTENT: file was removed
1 NO CONTENT: file was removed
1 NO CONTENT: file was removed
General Comments 0
You need to be logged in to leave comments. Login now