Server Software Requirements
Requirements for the software parameters of the host on which Rox.Chat Server is installed. Requirements are described for the current version of Rox.Chat.
General Requirements
Software | Version | Features |
---|---|---|
Application server OS | Debian GNU/Linux 11.05.x (Bullseye) | |
Web server | nginx 1.14.2 | |
Python | 3.9.18 | |
Python Interpreter | CPython 3.9.18 | pip , setuptools , buildtools , and wheel are required. |
Relational DBMS | MySQL 5.7 | |
Analytic DBMS | ClickHouse 22.2.2 | |
Resident DBMS | Redis 7.2.4 | Used for delta-proxy server |
Search engine | Elasticsearch 8.5.3 |
There is software that is in principle compatible with Rox.Chat, but it is not used in testing updates. You can try using the software shown in the table below, but there is no guarantee that the system will be fully compatible with it.
Software | Versions and modifications | Features |
---|---|---|
App server OS | Red Hat Enterprise Linux (RHEL) 7.9 (Maipo) Ubuntu [Server] 18.04.x LTS Debian GNU/Linux 10.10 (Buster) Docker container |
In theory, Rox.Chat Server can be installed on almost any UNIX/Linux-based system that is compatible with the more specific parameters listed in the following rows of this table. However, testing is carried out only on the specified versions and modifications, therefore, system performance and technical support are provided only if Rox.Chat is used on one of these OSs. Using Debian is preferable due to the fact that this system is actively supported, developed and tested , has the best performance as a server OS. They are extensively tested by the Rox.Chat team and meet the specifications below. The remaining supported operating systems are partially tested and are suitable for most characteristics. |
Python Interpreter | PyPy 7.3.9 | |
Web server | nginx: 1.10 1.12 1.14 1.16 openresty: 1.21 |
|
Relational DBMS | PostgreSQL 14.2, MariaDB 10.2 |
Requirements for a Relational DBMS Server
When using MySQL version 5.7, the following operating systems can be used (see MySQL documentation):
- Oracle Linux 7 / Red Hat Enterprise Linux 7 / CentOS 7
- Oracle Linux 6 / Red Hat Enterprise Linux 6 / CentOS 6
- Solaris 11 (Update 4+)
- Ubuntu 18.04 LTS
- SUSE Enterprise Linux 12 (12.5+)
- Debian GNU/Linux 10
- Microsoft Windows 2016 Server
- Microsoft Windows 2012 Server R2
- Microsoft Windows 10
- Other Linux based operating systems
When using PostgreSQL 14.2, the following operating systems can be used:
- All LTS Linux distributions
- Microsoft Windows (XP onwards)
- FreeBSD
- OpenBSD
- NetBSD
- macOS
- AIX
- HP/UX
- Solaris
Requirements for an Analytical (Column) DBMS Server
According to official documentation, ClickHouse can be installed on any Linux, FreeBSD or Mac OS X based OS with CPU -architecture x86_64, ARM or PowerPC64LE.
Requirements for a Resident DBMS Server
According to official documentation, Redis can be installed on the following OS:
- Ubuntu 20.04
- RHEL & CentOS 8.0 and higher
- Oracle Linux 8
- Rocky Linux 8
- Amazon Linux 2
Search Engine Requirements
In theory, Elasticsearch can be installed and run on any OS that supports JDK (Java Development Kit) version 17 and higher. More detailed requirements can be found in the official documentation.
Other Requirements
Rox.Chat Server depends on and includes with its code the modules, libraries and additional programs described below.
OS Packages
- nginx
- Browscap
- python-virtualenv
- python3
- python3-pip
- python3-venv
- python3-dev
- gcc
- g++
- supervisor
- gpg
- gpg-agent
- apt-utils
- build-essential
- ca-certificates
- software-properties-common
- net-tools
- tcl8.6-dev
- tk8.6-dev
- curl
- dialog
- locales
- locales-all
- language-pack-ru-base
- language-pack-en
- tzdata
- run-one
- iputils-ping
- wget
- nano
- telnet
- zip
- git
- libpq-dev
- openssl1.0
- dpkg-dev
- libpcre3-dev
- libgd-dev
- libssl1.0-dev
- libssl-dev
- libxml2-dev
- libxslt-dev
- libgeoip-dev
- libreadline-dev
- libfreetype6-dev
- libharfbuzz-dev
- libfribidi-dev
- libxcb1-dev
- libbz2-dev
- libunwind-dev
- lsof
- libreoffice
- libreoffice-java-common
- make
- perl
- zlib1g-dev
- imagemagick
- libmagick-dev
- libmagic1
- libtiff5-dev
- libopenjp2-7-dev
- libjpeg-dev
- libwebp-dev
- libmysqlclient-dev
- libffi-dev
- libsqlite3-dev
- liblzma-dev
- liblcms2-dev
- libkrb5-dev
- libncurses5-dev
- libaspell-dev
- unixodbc-dev
- libbz2-dev
- gnupg2
- aspell-en
- aspell-ru
- libhunspell-dev
- hunspell-ru
- hunspell-en-us
- openssh-server
Python 3.9 Libraries
- httpx[http2]==0.19.*
- cryptography==38.0.1
- pysyge==1.2.0
- python-dateutil==2.8.1
- pillow==9.3.0
- tornado==6.1.0
- jinja2==3.1.2
- pytz==2020.1
- tzlocal==4.2
- requests==2.28.0
- idna==2.8
- pycryptodome==3.9.8
- ua-parser==0.16.1
- transliterate==1.10.2
- aspell-python-py3==1.15
- markupsafe==2.0.1
- suds-py3==1.4.1.0
- pyopenssl==22.1.0
- ndg-httpsclient==0.5.1
- pyasn1==0.4.8
- python-magic==0.4.18
- rsa==4.9
- elasticsearch==8.3.0
- pyfcm==1.4.5
- sqlalchemy==1.3.20
- pymysql==0.10.1
- psycopg2cffi==2.8.1
- xmltodict==0.12.0
- pyjwt==2.5.0
- pika==1.1.0
- domain2idna==1.12.0
- clickhouse-driver==0.2.2
- clickhouse-sqlalchemy==0.1.8
- alembic==1.8.0
- objgraph==3.5.0
- distro==1.7.0
- prometheus-client==0.16.0
- tornado-prometheus==0.1.2
- orjson==3.8.0
Rox.Chat Libraries
- apns_http2==0.1.0
- wm_hyper==0.7.0
- wm_crypto==0.1.0
- wm_types==0.1.0
- helpers==0.1.2
- observer==1.0.10
- settings==1.0.17
- specification==0.1.0
- saext==1.1.6
- wmdb==0.3.10
- wm_db_metadata==1.11.14
- validation_rules==0.1.3
- error_objects==0.1.0
- abac==0.2.1
- abac_expressions==0.2.1
- validate==0.0.2
Additional system requirements for versions of Rox.Chat that contain PHP
Below is a list of additional packages required for Rox.Chat Server to work with PHP components.
OS Packages:
- PHP Composer
- php5.6
- php5.6-mysql
- php5.6-curl
- php5.6-fpm
- php5.6-imagick
- php5.6-mbstring
- php5.6-xml
- php5.6-zip
- php5.6-json
- php5.6-redis
PHP Libraries:
- ua-parser/uap-php 3.4
- smarty/smarty 3.1
- swiftmailer/swiftmailer 5.4.5
- phpoffice/phpexcel 1.8.1
- smi2/phpclickhouse 0.16.10
- enshrined/svg-sanitize 0.7.1