index.rst
185 lines
| 4.0 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 | ||
r276 | Using a docker-compose this setup creates following services for RhodeCode: | ||
r278 | **Router (mandatory to run):** | ||
.. code-block:: bash | |||
./rcstack router --help | |||
`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) | ||
**Services (mandatory to run):** | |||
r276 | |||
r278 | .. code-block:: bash | ||
r276 | |||
r278 | ./rcstack services --help | ||
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) | |||
- Nginx (static file service) proxy serving RhodeCode static files | |||
r278 | **RhodeCode (mandatory to run):** | ||
.. code-block:: bash | |||
./rcstack rhodecode --help | |||
r276 | |||
- RhodeCode CE/EE web app | |||
- VCSServer for GIT/SVN/HG support | |||
- SSH server 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 | |||
r278 | ./rcstack metrics --help | ||
r276 | |||
- Loki, logs aggregation | |||
- Grafana, metrics Dashboard | |||
- Prometheus, metrics time-series | |||
- Statsd-exporter - statsd to Prometheus bridge | |||
- Node-exporter - machine stats and usage | |||
- Promtail - log scraping | |||
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 | ||
r276 | configuration/data-volumes.rst | ||
configuration/set-license-file.rst | |||
r280 | configuration/set-specific-install-version.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 |