index.rst
219 lines
| 5.2 KiB
| text/x-rst
|
RstLexer
r279 | Welcome to RhodeCode rcstack documentation! | ||
=========================================== | |||
r276 | |||
r279 | ================= | ||
RhodeCode rcstack | |||
================= | |||
r276 | |||
r279 | RhodeCode rcstack is a multi-node highly-scalable setup to run RhodeCode services. | ||
r276 | It consists of all RhodeCode services required with additionally | ||
Edge Router(Traefik with optional SSL) and Metrics Stack (Prometheus, Loki, Grafana) in single environment using Docker. | |||
r325 | .. only:: html | ||
Latest Version | |||
-------------- | |||
The latest version of rcstack is |release|. | |||
r286 | |||
r328 | Overview | ||
-------- | |||
r286 | To quickly get and install rcstack run this command | ||
.. code-block:: bash | |||
mkdir docker-rhodecode && cd docker-rhodecode | |||
r307 | curl -L -s -o rcstack https://dls.rhodecode.com/get-rcstack && chmod +x rcstack | ||
r286 | ./rcstack get-started | ||
r435 | |||
r448 | Using a docker-compose this setup creates following services for RhodeCode: | ||
**Router (mandatory to run):** | |||
r435 | |||
r278 | .. code-block:: bash | ||
r435 | ./rcstack stack router up -d | ||
starts service[s] called: | |||
- rc_cluster_router-traefik-N | |||
r278 | |||
`Traefik <https://doc.traefik.io/traefik/>`_ aka Edge Router is responsible for handling all outgoing and incoming traffic to whole stack. | |||
r276 | It can do SSL termination, and handle SSL traffic with certificate management. | ||
Traefik listens to few defaults ports and | |||
handles all incoming/outgoing traffic to the stack | |||
r278 | - 80 (HTTP) | ||
- 443 (HTTPS) | |||
r320 | - 9022 (SSH for RhodeCode traffic) | ||
r278 | - 3100 (Loki log aggregation) | ||
r417 | See :ref:`custom-traefik-ports` to change the defaults ports if those are already taken | ||
r278 | |||
**Services (mandatory to run):** | |||
r276 | |||
r278 | .. code-block:: bash | ||
r276 | |||
r435 | ./rcstack stack services up -d | ||
starts service[s] called: | |||
- rc_cluster_services-database-N | |||
- rc_cluster_services-database-mysql-N | |||
- rc_cluster_services-redis-N | |||
- rc_cluster_services-channelstream-N | |||
- rc_cluster_services-elasticsearch-N | |||
- rc_cluster_services-nginx-errors-N | |||
- rc_cluster_services-nginx-statics-N | |||
r276 | |||
- Database (defaults to PostgreSQL) Optionally can be replaced by MySQL, or own external database if needed. | |||
- Redis, acts as cache and queue exchange | |||
- ChannelStream - live websocket communications | |||
- Elasticsearch (full text search backend) | |||
r435 | - Nginx (static file service/ error reporting) proxy serving RhodeCode static files | ||
r276 | |||
r278 | **RhodeCode (mandatory to run):** | ||
.. code-block:: bash | |||
r435 | ./rcstack stack rhodecode up -d | ||
starts service[s] called: | |||
- rc_cluster_apps-rhodecode-N | |||
- rc_cluster_apps-vcsserver-N | |||
- rc_cluster_apps-sshd-N | |||
- rc_cluster_apps-svn-N | |||
- rc_cluster_apps-celery-N | |||
- rc_cluster_apps-celery-beat-N | |||
r276 | |||
- RhodeCode CE/EE web app | |||
- VCSServer for GIT/SVN/HG support | |||
r435 | - SSH server node for cloning over SSH | ||
r278 | - SVN webserver for SVN protocol support | ||
r276 | - Celery workers for asynchronous tasks | ||
r278 | - Celery beat for scheduler and automation tasks | ||
**Metrics (Optional)** | |||
r276 | |||
r278 | .. code-block:: bash | ||
r276 | |||
r435 | ./rcstack stack metrics up -d | ||
starts service[s] called: | |||
- Container rc_cluster_metrics-grafana-N | |||
- Container rc_cluster_metrics-loki-N | |||
- Container rc_cluster_metrics-promtail-N | |||
- Container rc_cluster_metrics-statsd-exporter-N | |||
- Container rc_cluster_metrics-node-exporter-N | |||
- Container rc_cluster_metrics-prometheus-N | |||
r276 | |||
- Grafana, metrics Dashboard | |||
r435 | - Loki, logs aggregation | ||
- Promtail - log scraping | |||
r276 | - Statsd-exporter - statsd to Prometheus bridge | ||
r435 | - Statsd-exporter - statsd to Prometheus metrics scraping from hostmachine | ||
- Prometheus, metrics time-series | |||
r276 | - Node-exporter - machine stats and usage | ||
r335 | System Requirements | ||
------------------- | |||
Hardware | |||
++++++++ | |||
2 CPU cores and 2GB RAM is typically sufficient for small teams/projects. | |||
We recommend 2-4 CPU cores and 4-8GB of RAM to unlock full potential of all services running in the | |||
RhodeCode Stack. | |||
r303 | OS Support | ||
++++++++++ | |||
r328 | rcstack works on any linux distribution, and has a beta support for MacOS. | ||
r303 | There are two requirements for OS to be able to run whole rcstack. | ||
- Ability to run Docker daemon | |||
- Ability to run a certain standard unix tools like: | |||
- curl | |||
- tar | |||
- find | |||
- gzip | |||
r276 | .. toctree:: | ||
:maxdepth: 1 | |||
:hidden: | |||
:caption: Installation | |||
install/installation.rst | |||
install/upgrade.rst | |||
r407 | install/rollback-an-upgrade.rst | ||
install/custom-database-use.rst | |||
install/install-advanced.rst | |||
r276 | |||
.. toctree:: | |||
:maxdepth: 1 | |||
:hidden: | |||
:caption: Configuration | |||
configuration/configuration-overview.rst | |||
r286 | configuration/configuration-of-components.rst | ||
r276 | configuration/scaling-rhodecode.rst | ||
configuration/enable-ssl-on-traefik.rst | |||
r312 | configuration/ssl-certificates.rst | ||
r417 | configuration/custom-traefik-ports.rst | ||
r276 | configuration/set-license-file.rst | ||
r280 | configuration/set-specific-install-version.rst | ||
r417 | configuration/data-volumes.rst | ||
r276 | |||
.. toctree:: | |||
:maxdepth: 1 | |||
:hidden: | |||
r306 | :caption: Usage | ||
usage/monitoring-unhealthy-containers.rst | |||
r389 | usage/full-text-search-setup.rst | ||
r306 | |||
.. toctree:: | |||
:maxdepth: 1 | |||
:hidden: | |||
r276 | :caption: Migration | ||
migration/migration-to-docker.rst | |||
.. toctree:: | |||
:maxdepth: 1 | |||
:hidden: | |||
:caption: Builds & Images | |||
builds/build-new-image.rst | |||
builds/building-images.rst | |||
r359 | dev/dev-setup.rst | ||
r361 | dev/step-by-step-example.rst | ||
r359 | |||
r276 | |||
.. toctree:: | |||
:maxdepth: 1 | |||
:hidden: | |||
:caption: Changelog | |||
changes.rst |