Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
122 changes: 121 additions & 1 deletion docs/getting_started/requirements.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ The following server requirements cover both running the software on-premise and
For running on [[[= product_name_cloud =]]](https://www.ibexa.co/products/ibexa-cloud), where recommended configuration and support is provided out of the box, see separate [[[= product_name_cloud =]] section](#ibexa-cloud-requirements-and-setup) for further reading on its requirements.

The minimal setup requires PHP, MySQL/MariaDB, Apache/Nginx, Node.js and `yarn`.
Recommendation for production setups is to use Varnish/Fastly, Redis/Memcached, NFS/EFS/S3 and Solr/Elasticsearch in a [clustered setup](clustering.md).
For production setups it's recommended that you use Varnish/Fastly, Redis, NFS/EFS/S3 and Solr/Elasticsearch in a [clustered setup](clustering.md).

!!! caution "Recommended versions"

Expand All @@ -30,6 +30,17 @@ Recommendation for production setups is to use Varnish/Fastly, Redis/Memcached,

## Operating system

=== "[[= product_name =]] v5.0"

|Name|Version|
|---|---|
|Debian 11 "Bullseye"|11.0-11.7+|
|Ubuntu "Noble Numbat"| 24.04 |
|RHEL / CentOS / CentOS Stream | 8.1-9.5+ |

If you see a "+" next to the product version, it indicates a recommended version or higher within the same major release.
For example, "1.18+" means any 1.x version equal to or higher than 1.18, but not 2.x.

=== "[[= product_name =]] v4.6"

|Name|Version|
Expand Down Expand Up @@ -59,6 +70,15 @@ Recommendation for production setups is to use Varnish/Fastly, Redis/Memcached,

## Web server

=== "[[= product_name =]] v5.0"

- Nginx 1.27+
- Apache 2.4 (with required modules `mod_rewrite`, `mod_env` and recommended: `mod_setenvif`, `mod_expires`;
event MPM is recommended, if you need to use prefork you also need the `mod_php` module)

If you see a "+" next to the product version, it indicates a recommended version or higher within the same major release.
For example, "1.18+" means any 1.x version equal to or higher than 1.18, but not 2.x.

=== "[[= product_name =]] v4.6"

- Nginx 1.18-1.25+
Expand All @@ -76,6 +96,15 @@ Recommendation for production setups is to use Varnish/Fastly, Redis/Memcached,

## DBMS

=== "[[= product_name =]] v5.0"

- MariaDB 10.11+
- MySQL 8.4
- PostgreSQL 14

If you see a "+" next to the product version, it indicates a recommended version or higher within the same major release.
For example, "1.18+" means any 1.x version equal to or higher than 1.18, but not 2.x.

=== "[[= product_name =]] v4.6"

- MariaDB 10.3-10.11+
Expand Down Expand Up @@ -115,6 +144,21 @@ Recommendation for production setups is to use Varnish/Fastly, Redis/Memcached,

### PHP extensions

=== "[[= product_name =]] v5.0"

- `php-cli`
- `php-fpm`
- `php-mysql` (`php-mysqlnd`) or `php-pgsql`
- `php-xml`
- `php-mbstring`
- `php-process` (on RHEL/CentOS)
- `php-intl`
- `php-curl`
- `php-pear` (optional, provides pecl)
- `php-gd` or `php-imagick` (via pecl on RHEL/CentOS)
- `php-sodium`
- `php-bcmath`

=== "[[= product_name =]] v4.6"

- `php-cli`
Expand Down Expand Up @@ -148,6 +192,10 @@ Recommendation for production setups is to use Varnish/Fastly, Redis/Memcached,

### Cluster PHP extensions

=== "[[= product_name =]] v5.0"

- `php-redis`

=== "[[= product_name =]] v4.6"

- `php-redis` or `php-memcached`
Expand All @@ -158,6 +206,11 @@ Recommendation for production setups is to use Varnish/Fastly, Redis/Memcached,

## Search

=== "[[= product_name =]] v5.0"

- For content search, Solr 8.11.1 or higher.
Alternatively, Elasticsearch 7.16.2 or higher 7.x version.

=== "[[= product_name =]] v4.6"

- For content search, Solr 7.7 LTS or Solr 8, recommended 8.11.1 or higher.
Expand Down Expand Up @@ -206,6 +259,15 @@ Recommendation for production setups is to use Varnish/Fastly, Redis/Memcached,

## [Clustering](clustering.md)

=== "[[= product_name =]] v5.0"

- Linux NFS or S3/EFS (for IO, aka binary files stored in content repository, not supported with legacy)
- Redis 7.2+ (separate instances for session and cache, both using a `volatile-*` [eviction policy](https://redis.io/docs/latest/develop/reference/eviction/), session instance configured for persistence)
- [Varnish](http://varnish-cache.org/) 6.0LTS or 7.1 with [varnish-modules](https://github.com/varnish/varnish-modules/blob/master/README.md) or [Fastly](https://www.fastly.com/) using [the provided bundle](http_cache.md) (for HTTP Cache)

If you see a "+" next to the product version, it indicates a recommended version or higher within the same major release.
For example, "1.18+" means any 1.x version equal to or higher than 1.18, but not 2.x.

=== "[[= product_name =]] v4.6"

- Linux NFS or S3/EFS (for IO, aka binary files stored in content repository, not supported with legacy)
Expand Down Expand Up @@ -236,6 +298,10 @@ Recommendation for production setups is to use Varnish/Fastly, Redis/Memcached,

## Package manager

=== "[[= product_name =]] v5.0"

- Composer: recent 2.8 version

=== "[[= product_name =]] v4.6"

- Composer: recent 2.7 version
Expand All @@ -246,6 +312,14 @@ Recommendation for production setups is to use Varnish/Fastly, Redis/Memcached,

## Asset manager

=== "[[= product_name =]] v5.0"

- `Node.js` 22+
- `yarn` 1.15.2+

If you see a "+" next to the product version, it indicates a recommended version or higher within the same major release.
For example, "1.18+" means any 1.x version equal to or higher than 1.18, but not 2.x.

=== "[[= product_name =]] v4.6"

- `Node.js` 18+, 20+, 22+
Expand Down Expand Up @@ -287,6 +361,52 @@ Recommendation for production setups is to use Varnish/Fastly, Redis/Memcached,

## [[= product_name_cloud =]] requirements and setup

=== "[[= product_name =]] v5.0"

### Cloud hosting with [[= product_name_cloud =]] and Platform.sh

In general, [[= product_name_cloud =]] supports all features and services of [Platform.sh](https://platform.sh/marketplace/ibexa/) that are compatible and supported by the [[= product_name =]] version you use.

For example:

- Platform.sh provides Redis support for versions 7.2, 7.0, and 6.2. [[= product_name =]] supports Redis version 7.2.
As a result, Redis is supported on [[= product_name_cloud =]] in versions 7.2.

Features or services supported by [[= product_name =]] but not covered by Platform.sh may be possible by means of a [custom integration](#custom-integrations).

### [[= product_name_cloud =]] Setup support matrix

All [[= product_name =]] features are supported in accordance with the example above.

!!! note

As Platform.sh doesn't support a configuration with multiple PostgreSQL databases, for [[= product_name_cloud =]] / Platform.sh it's impossible to have a DFS table in a separate database.

### Recommended [[= product_name_cloud =]] setup

For more details on recommended setup configuration see bundled `.platform.app.yaml` and `.platform/` configuration files.

These files are kept up-to-date with latest recommendations and can be improved through contributions.

### Supported [[= product_name_cloud =]] setup

Because of the large range of possible configurations of [[= product_name =]], there are many possibilities beyond what is provided in the default recommended configuration.

Make sure to set aside time and budget for:

- Verifying your requirements and ensuring they're supported by Platform.sh
- Additional time for adaptation and configuration work, and testing by your development team
- Additional consulting/onboarding time with Platform.sh, Ibexa technical services, and/or one of the many partners with prior experience in using Platform.sh with [[= product_name =]]

The cost and effort of this isn't included in [[= product_name_cloud =]] subscription and is vary depending on the project.

### Custom integrations

Features supported by [[= product_name =]], but not natively by Platform.sh, can in many cases be used by means of custom integrations with external services.

For example, you can create an integration with S3 by means of setting up your own S3 bucket and configuring the relevant parts of [[= product_name =]].
We recommend giving the development team working on the project access to the bucket to ensure work is done in a DevOps way without depending on external teams when changes are needed.

=== "[[= product_name =]] v4.6"

### Cloud hosting with [[= product_name_cloud =]] and Platform.sh
Expand Down
Loading