Show More
@@ -0,0 +1,23 b'' | |||||
|
1 | .. _custom-traefik-ports: | |||
|
2 | ||||
|
3 | ============================= | |||
|
4 | Change traefik defaults ports | |||
|
5 | ============================= | |||
|
6 | ||||
|
7 | ||||
|
8 | In rcstack the router component by default listens on ports 443 and 80. Those could be already taken in your | |||
|
9 | current setup. To change those ports edit the :file:`docker-compose-router.override.yaml` and edit the ports section | |||
|
10 | In the example below, we changed port 80 to 8000 and 443 to 8443 | |||
|
11 | ||||
|
12 | .. code-block:: yaml | |||
|
13 | ||||
|
14 | services: | |||
|
15 | ||||
|
16 | traefik: | |||
|
17 | # NOTE: the '!override' replaces the original values defined, avail on docker-compose 2.24.2+ | |||
|
18 | # don't use it if your compose doesn't allow this syntax | |||
|
19 | ports: !override | |||
|
20 | # The HTTP port, exposed as http entrypoint | |||
|
21 | - "8000:80" | |||
|
22 | # The HTTPS port, exposed as https entrypoint | |||
|
23 | - "8443:443" |
@@ -1,186 +1,188 b'' | |||||
1 | Welcome to RhodeCode rcstack documentation! |
|
1 | Welcome to RhodeCode rcstack documentation! | |
2 | =========================================== |
|
2 | =========================================== | |
3 |
|
3 | |||
4 |
|
4 | |||
5 | ================= |
|
5 | ================= | |
6 | RhodeCode rcstack |
|
6 | RhodeCode rcstack | |
7 | ================= |
|
7 | ================= | |
8 |
|
8 | |||
9 | RhodeCode rcstack is a multi-node highly-scalable setup to run RhodeCode services. |
|
9 | RhodeCode rcstack is a multi-node highly-scalable setup to run RhodeCode services. | |
10 | It consists of all RhodeCode services required with additionally |
|
10 | It consists of all RhodeCode services required with additionally | |
11 | Edge Router(Traefik with optional SSL) and Metrics Stack (Prometheus, Loki, Grafana) in single environment using Docker. |
|
11 | Edge Router(Traefik with optional SSL) and Metrics Stack (Prometheus, Loki, Grafana) in single environment using Docker. | |
12 |
|
12 | |||
13 | .. only:: html |
|
13 | .. only:: html | |
14 |
|
14 | |||
15 | Latest Version |
|
15 | Latest Version | |
16 | -------------- |
|
16 | -------------- | |
17 |
|
17 | |||
18 | The latest version of rcstack is |release|. |
|
18 | The latest version of rcstack is |release|. | |
19 |
|
19 | |||
20 |
|
20 | |||
21 | Overview |
|
21 | Overview | |
22 | -------- |
|
22 | -------- | |
23 |
|
23 | |||
24 | To quickly get and install rcstack run this command |
|
24 | To quickly get and install rcstack run this command | |
25 |
|
25 | |||
26 | .. code-block:: bash |
|
26 | .. code-block:: bash | |
27 |
|
27 | |||
28 | mkdir docker-rhodecode && cd docker-rhodecode |
|
28 | mkdir docker-rhodecode && cd docker-rhodecode | |
29 | curl -L -s -o rcstack https://dls.rhodecode.com/get-rcstack && chmod +x rcstack |
|
29 | curl -L -s -o rcstack https://dls.rhodecode.com/get-rcstack && chmod +x rcstack | |
30 | ./rcstack get-started |
|
30 | ./rcstack get-started | |
31 |
|
31 | |||
32 |
|
32 | |||
33 | Using a docker-compose this setup creates following services for RhodeCode: |
|
33 | Using a docker-compose this setup creates following services for RhodeCode: | |
34 |
|
34 | |||
35 |
|
35 | |||
36 |
|
36 | |||
37 | **Router (mandatory to run):** |
|
37 | **Router (mandatory to run):** | |
38 |
|
38 | |||
39 |
|
39 | |||
40 | .. code-block:: bash |
|
40 | .. code-block:: bash | |
41 |
|
41 | |||
42 | ./rcstack router --help |
|
42 | ./rcstack router --help | |
43 |
|
43 | |||
44 |
|
44 | |||
45 | `Traefik <https://doc.traefik.io/traefik/>`_ aka Edge Router is responsible for handling all outgoing and incoming traffic to whole stack. |
|
45 | `Traefik <https://doc.traefik.io/traefik/>`_ aka Edge Router is responsible for handling all outgoing and incoming traffic to whole stack. | |
46 | It can do SSL termination, and handle SSL traffic with certificate management. |
|
46 | It can do SSL termination, and handle SSL traffic with certificate management. | |
47 |
|
47 | |||
48 | Traefik listens to few defaults ports and |
|
48 | Traefik listens to few defaults ports and | |
49 | handles all incoming/outgoing traffic to the stack |
|
49 | handles all incoming/outgoing traffic to the stack | |
50 |
|
50 | |||
51 | - 80 (HTTP) |
|
51 | - 80 (HTTP) | |
52 | - 443 (HTTPS) |
|
52 | - 443 (HTTPS) | |
53 | - 9022 (SSH for RhodeCode traffic) |
|
53 | - 9022 (SSH for RhodeCode traffic) | |
54 | - 3100 (Loki log aggregation) |
|
54 | - 3100 (Loki log aggregation) | |
55 |
|
55 | |||
|
56 | See :ref:`custom-traefik-ports` to change the defaults ports if those are already taken | |||
56 |
|
57 | |||
57 | **Services (mandatory to run):** |
|
58 | **Services (mandatory to run):** | |
58 |
|
59 | |||
59 | .. code-block:: bash |
|
60 | .. code-block:: bash | |
60 |
|
61 | |||
61 | ./rcstack services --help |
|
62 | ./rcstack services --help | |
62 |
|
63 | |||
63 |
|
64 | |||
64 | - Database (defaults to PostgreSQL) Optionally can be replaced by MySQL, or own external database if needed. |
|
65 | - Database (defaults to PostgreSQL) Optionally can be replaced by MySQL, or own external database if needed. | |
65 | - Redis, acts as cache and queue exchange |
|
66 | - Redis, acts as cache and queue exchange | |
66 | - ChannelStream - live websocket communications |
|
67 | - ChannelStream - live websocket communications | |
67 | - Elasticsearch (full text search backend) |
|
68 | - Elasticsearch (full text search backend) | |
68 | - Nginx (static file service) proxy serving RhodeCode static files |
|
69 | - Nginx (static file service) proxy serving RhodeCode static files | |
69 |
|
70 | |||
70 |
|
71 | |||
71 | **RhodeCode (mandatory to run):** |
|
72 | **RhodeCode (mandatory to run):** | |
72 |
|
73 | |||
73 | .. code-block:: bash |
|
74 | .. code-block:: bash | |
74 |
|
75 | |||
75 | ./rcstack rhodecode --help |
|
76 | ./rcstack rhodecode --help | |
76 |
|
77 | |||
77 |
|
78 | |||
78 | - RhodeCode CE/EE web app |
|
79 | - RhodeCode CE/EE web app | |
79 | - VCSServer for GIT/SVN/HG support |
|
80 | - VCSServer for GIT/SVN/HG support | |
80 | - SSH server for cloning over SSH |
|
81 | - SSH server for cloning over SSH | |
81 | - SVN webserver for SVN protocol support |
|
82 | - SVN webserver for SVN protocol support | |
82 | - Celery workers for asynchronous tasks |
|
83 | - Celery workers for asynchronous tasks | |
83 | - Celery beat for scheduler and automation tasks |
|
84 | - Celery beat for scheduler and automation tasks | |
84 |
|
85 | |||
85 |
|
86 | |||
86 | **Metrics (Optional)** |
|
87 | **Metrics (Optional)** | |
87 |
|
88 | |||
88 | .. code-block:: bash |
|
89 | .. code-block:: bash | |
89 |
|
90 | |||
90 | ./rcstack metrics --help |
|
91 | ./rcstack metrics --help | |
91 |
|
92 | |||
92 | - Loki, logs aggregation |
|
93 | - Loki, logs aggregation | |
93 | - Grafana, metrics Dashboard |
|
94 | - Grafana, metrics Dashboard | |
94 | - Prometheus, metrics time-series |
|
95 | - Prometheus, metrics time-series | |
95 | - Statsd-exporter - statsd to Prometheus bridge |
|
96 | - Statsd-exporter - statsd to Prometheus bridge | |
96 | - Node-exporter - machine stats and usage |
|
97 | - Node-exporter - machine stats and usage | |
97 | - Promtail - log scraping |
|
98 | - Promtail - log scraping | |
98 |
|
99 | |||
99 |
|
100 | |||
100 | System Requirements |
|
101 | System Requirements | |
101 | ------------------- |
|
102 | ------------------- | |
102 |
|
103 | |||
103 | Hardware |
|
104 | Hardware | |
104 | ++++++++ |
|
105 | ++++++++ | |
105 |
|
106 | |||
106 | 2 CPU cores and 2GB RAM is typically sufficient for small teams/projects. |
|
107 | 2 CPU cores and 2GB RAM is typically sufficient for small teams/projects. | |
107 | We recommend 2-4 CPU cores and 4-8GB of RAM to unlock full potential of all services running in the |
|
108 | We recommend 2-4 CPU cores and 4-8GB of RAM to unlock full potential of all services running in the | |
108 | RhodeCode Stack. |
|
109 | RhodeCode Stack. | |
109 |
|
110 | |||
110 |
|
111 | |||
111 | OS Support |
|
112 | OS Support | |
112 | ++++++++++ |
|
113 | ++++++++++ | |
113 |
|
114 | |||
114 |
|
115 | |||
115 | rcstack works on any linux distribution, and has a beta support for MacOS. |
|
116 | rcstack works on any linux distribution, and has a beta support for MacOS. | |
116 | There are two requirements for OS to be able to run whole rcstack. |
|
117 | There are two requirements for OS to be able to run whole rcstack. | |
117 |
|
118 | |||
118 | - Ability to run Docker daemon |
|
119 | - Ability to run Docker daemon | |
119 | - Ability to run a certain standard unix tools like: |
|
120 | - Ability to run a certain standard unix tools like: | |
120 |
|
121 | |||
121 | - curl |
|
122 | - curl | |
122 | - tar |
|
123 | - tar | |
123 | - find |
|
124 | - find | |
124 | - gzip |
|
125 | - gzip | |
125 |
|
126 | |||
126 |
|
127 | |||
127 |
|
128 | |||
128 | .. toctree:: |
|
129 | .. toctree:: | |
129 | :maxdepth: 1 |
|
130 | :maxdepth: 1 | |
130 | :hidden: |
|
131 | :hidden: | |
131 | :caption: Installation |
|
132 | :caption: Installation | |
132 |
|
133 | |||
133 | install/installation.rst |
|
134 | install/installation.rst | |
134 | install/upgrade.rst |
|
135 | install/upgrade.rst | |
135 | install/rollback-an-upgrade.rst |
|
136 | install/rollback-an-upgrade.rst | |
136 | install/custom-database-use.rst |
|
137 | install/custom-database-use.rst | |
137 | install/install-advanced.rst |
|
138 | install/install-advanced.rst | |
138 |
|
139 | |||
139 |
|
140 | |||
140 | .. toctree:: |
|
141 | .. toctree:: | |
141 | :maxdepth: 1 |
|
142 | :maxdepth: 1 | |
142 | :hidden: |
|
143 | :hidden: | |
143 | :caption: Configuration |
|
144 | :caption: Configuration | |
144 |
|
145 | |||
145 | configuration/configuration-overview.rst |
|
146 | configuration/configuration-overview.rst | |
146 | configuration/configuration-of-components.rst |
|
147 | configuration/configuration-of-components.rst | |
147 | configuration/scaling-rhodecode.rst |
|
148 | configuration/scaling-rhodecode.rst | |
148 | configuration/enable-ssl-on-traefik.rst |
|
149 | configuration/enable-ssl-on-traefik.rst | |
149 | configuration/ssl-certificates.rst |
|
150 | configuration/ssl-certificates.rst | |
150 |
configuration/ |
|
151 | configuration/custom-traefik-ports.rst | |
151 | configuration/set-license-file.rst |
|
152 | configuration/set-license-file.rst | |
152 | configuration/set-specific-install-version.rst |
|
153 | configuration/set-specific-install-version.rst | |
|
154 | configuration/data-volumes.rst | |||
153 |
|
155 | |||
154 | .. toctree:: |
|
156 | .. toctree:: | |
155 | :maxdepth: 1 |
|
157 | :maxdepth: 1 | |
156 | :hidden: |
|
158 | :hidden: | |
157 | :caption: Usage |
|
159 | :caption: Usage | |
158 |
|
160 | |||
159 | usage/monitoring-unhealthy-containers.rst |
|
161 | usage/monitoring-unhealthy-containers.rst | |
160 | usage/full-text-search-setup.rst |
|
162 | usage/full-text-search-setup.rst | |
161 |
|
163 | |||
162 | .. toctree:: |
|
164 | .. toctree:: | |
163 | :maxdepth: 1 |
|
165 | :maxdepth: 1 | |
164 | :hidden: |
|
166 | :hidden: | |
165 | :caption: Migration |
|
167 | :caption: Migration | |
166 |
|
168 | |||
167 | migration/migration-to-docker.rst |
|
169 | migration/migration-to-docker.rst | |
168 |
|
170 | |||
169 |
|
171 | |||
170 | .. toctree:: |
|
172 | .. toctree:: | |
171 | :maxdepth: 1 |
|
173 | :maxdepth: 1 | |
172 | :hidden: |
|
174 | :hidden: | |
173 | :caption: Builds & Images |
|
175 | :caption: Builds & Images | |
174 |
|
176 | |||
175 | builds/build-new-image.rst |
|
177 | builds/build-new-image.rst | |
176 | builds/building-images.rst |
|
178 | builds/building-images.rst | |
177 | dev/dev-setup.rst |
|
179 | dev/dev-setup.rst | |
178 | dev/step-by-step-example.rst |
|
180 | dev/step-by-step-example.rst | |
179 |
|
181 | |||
180 |
|
182 | |||
181 | .. toctree:: |
|
183 | .. toctree:: | |
182 | :maxdepth: 1 |
|
184 | :maxdepth: 1 | |
183 | :hidden: |
|
185 | :hidden: | |
184 | :caption: Changelog |
|
186 | :caption: Changelog | |
185 |
|
187 | |||
186 | changes.rst No newline at end of file |
|
188 | changes.rst |
General Comments 0
You need to be logged in to leave comments.
Login now