Skip to content

Commit 32d4904

Browse files
docs: update requirements documentation
1 parent fd40cb8 commit 32d4904

1 file changed

Lines changed: 52 additions & 3 deletions

File tree

docs/REQUIREMENTS.md

Lines changed: 52 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,12 @@ The default settings can be found within the [set.php](../deployer/requirements/
1212
$ dep requirements:check [host]
1313
```
1414

15+
To display a human-readable list of all requirements (without running remote checks):
16+
17+
```bash
18+
$ dep requirements:list [host]
19+
```
20+
1521
## Checks
1622

1723
### Locales
@@ -20,7 +26,15 @@ Verifies that required system locales are available (default: `de_DE.utf8`, `en_
2026

2127
### System packages
2228

23-
Checks for required CLI tools: rsync, curl, graphicsmagick, ghostscript, git, gzip, mariadb-client, unzip, patch, exiftool, composer.
29+
Checks for required CLI tools: rsync, curl, ghostscript, git, gzip, mariadb-client, unzip, patch, exiftool, composer (with version validation >= 2.1.0).
30+
31+
### Image processing
32+
33+
Checks for GraphicsMagick (>= 1.3, recommended) or ImageMagick (>= 6.0) with version validation. Either one is sufficient.
34+
35+
### PHP version
36+
37+
Validates the PHP version against the configured minimum (TYPO3: >= 8.2.0, default: >= 8.1.0).
2438

2539
### PHP extensions
2640

@@ -35,14 +49,15 @@ Checks PHP CLI configuration values against expected minimums:
3549
| max_execution_time | >= 240 |
3650
| memory_limit | >= 512M |
3751
| max_input_vars | >= 1500 |
52+
| pcre.jit | >= 1 |
3853
| date.timezone | Europe/Berlin |
3954
| post_max_size | >= 31M |
4055
| upload_max_filesize | >= 30M |
4156
| opcache.memory_consumption | >= 256 |
4257

4358
### Database client
4459

45-
Checks for the availability of the `mariadb` or `mysql` client and validates the version against client-specific minimums (MariaDB: >= 10.2.7, MySQL: >= 8.0.0).
60+
Checks for the availability of the `mariadb` or `mysql` client and validates the version against client-specific minimums (MariaDB: >= 10.4.3, MySQL: >= 8.0.17).
4661

4762
### User and permissions
4863

@@ -52,16 +67,34 @@ Validates that the SSH user belongs to the expected web server group (default: `
5267

5368
Checks that the `.env` file exists in the shared directory and that all required environment variables are present. The required variables adapt automatically based on `app_type`.
5469

70+
### End-of-life (EOL)
71+
72+
Checks installed PHP and database (MariaDB/MySQL) versions against the [endoflife.date](https://endoflife.date) API. The API call runs locally from the deployer machine.
73+
74+
| Condition | Status | Example |
75+
|-----------|--------|---------|
76+
| End of Life | FAIL | `End of Life since 2024-12-31` |
77+
| EOL approaching | WARN | `EOL in 3 month(s) (2026-06-30)` |
78+
| Security support only | WARN | `Security support only, EOL 2027-12-31` |
79+
| Fully maintained | OK | `Maintained until 2028-12-31` |
80+
| API unreachable | SKIP | `Could not reach endoflife.date API` |
81+
82+
The warning threshold is configurable (default: 6 months before EOL).
83+
5584
## Configuration
5685

5786
All settings use the `requirements_` prefix and can be overridden in the consuming project:
5887

5988
```php
6089
// Disable specific checks
6190
set('requirements_check_database_enabled', false);
91+
set('requirements_check_image_processing_enabled', false);
92+
93+
// Override PHP minimum version
94+
set('requirements_php_min_version', '8.3.0');
6295

6396
// Override PHP extensions list
64-
set('requirements_php_extensions', ['curl', 'gd', 'mbstring', 'xml', 'intl']);
97+
set('requirements_php_extensions', ['pdo', 'session', 'xml', 'mbstring', 'intl']);
6598

6699
// Override PHP settings thresholds
67100
set('requirements_php_settings', [
@@ -76,6 +109,17 @@ set('requirements_packages', [
76109
'composer' => 'composer',
77110
]);
78111

112+
// Override database minimum versions
113+
set('requirements_mariadb_min_version', '10.6.0');
114+
set('requirements_mysql_min_version', '8.0.30');
115+
116+
// Override image processing minimum versions
117+
set('requirements_graphicsmagick_min_version', '1.3.30');
118+
set('requirements_imagemagick_min_version', '7.0');
119+
120+
// Override composer minimum version
121+
set('requirements_composer_min_version', '2.6.0');
122+
79123
// Override locales
80124
set('requirements_locales', ['de_DE.utf8', 'en_US.utf8', 'fr_FR.utf8']);
81125

@@ -84,6 +128,11 @@ set('requirements_user_group', 'apache');
84128

85129
// Override required env variables
86130
set('requirements_env_vars', ['DATABASE_URL', 'APP_SECRET']);
131+
132+
// EOL check configuration
133+
set('requirements_check_eol_enabled', true);
134+
set('requirements_eol_warn_months', 6); // Warn X months before EOL
135+
set('requirements_eol_api_timeout', 5); // API timeout in seconds
87136
```
88137

89138
## Extending with custom checks

0 commit comments

Comments
 (0)