diff --git a/config/docker-files/7.2-Dockerfile b/config/docker-files/7.2-Dockerfile index 8c86e1278fbce95d056570b0afa9aac28379bbb9..886db6f273c07677817d2ff84c936459f486c607 100644 --- a/config/docker-files/7.2-Dockerfile +++ b/config/docker-files/7.2-Dockerfile @@ -20,8 +20,10 @@ RUN apt update && apt install -y --no-install-recommends \ vim \ && rm -rf /var/lib/apt/lists/* -# Install de_DE locale -RUN locale-gen de_DE.UTF-8 \ +# Install locales +RUN sed -i -e 's/# en_GB.UTF-8 UTF-8/en_GB.UTF-8 UTF-8/' /etc/locale.gen \ + && sed -i -e 's/# de_DE.UTF-8 UTF-8/de_DE.UTF-8 UTF-8/' /etc/locale.gen \ + && dpkg-reconfigure --frontend=noninteractive locales \ && update-locale # Install php extensions diff --git a/config/docker-files/7.3-Dockerfile b/config/docker-files/7.3-Dockerfile index 2355daa49c33e2d26f8b0a7f10c3985104a2c7db..bd4720b5e83d0f165d807481a720afb9ebb8cf5c 100644 --- a/config/docker-files/7.3-Dockerfile +++ b/config/docker-files/7.3-Dockerfile @@ -20,8 +20,10 @@ RUN apt update && apt install -y --no-install-recommends \ vim \ && rm -rf /var/lib/apt/lists/* -# Install de_DE locale -RUN locale-gen de_DE.UTF-8 \ +# Install locales +RUN sed -i -e 's/# en_GB.UTF-8 UTF-8/en_GB.UTF-8 UTF-8/' /etc/locale.gen \ + && sed -i -e 's/# de_DE.UTF-8 UTF-8/de_DE.UTF-8 UTF-8/' /etc/locale.gen \ + && dpkg-reconfigure --frontend=noninteractive locales \ && update-locale # Install php extensions diff --git a/config/docker-files/7.4-Dockerfile b/config/docker-files/7.4-Dockerfile index 2e01471193a70bcecc0f69e4c861bb032771cbc3..2838589653b3264936c741539151e96d43740a26 100644 --- a/config/docker-files/7.4-Dockerfile +++ b/config/docker-files/7.4-Dockerfile @@ -20,8 +20,10 @@ RUN apt update && apt install -y --no-install-recommends \ vim \ && rm -rf /var/lib/apt/lists/* -# Install de_DE locale -RUN locale-gen de_DE.UTF-8 \ +# Install locales +RUN sed -i -e 's/# en_GB.UTF-8 UTF-8/en_GB.UTF-8 UTF-8/' /etc/locale.gen \ + && sed -i -e 's/# de_DE.UTF-8 UTF-8/de_DE.UTF-8 UTF-8/' /etc/locale.gen \ + && dpkg-reconfigure --frontend=noninteractive locales \ && update-locale # Install php extensions diff --git a/config/docker-files/8.0-Dockerfile b/config/docker-files/8.0-Dockerfile index 3d56102537771a808df51bc963724c864b08f282..4cddac9ec3648a3402192f224dce5b54018772d2 100644 --- a/config/docker-files/8.0-Dockerfile +++ b/config/docker-files/8.0-Dockerfile @@ -20,8 +20,10 @@ RUN apt update && apt install -y --no-install-recommends \ vim \ && rm -rf /var/lib/apt/lists/* -# Install de_DE locale -RUN locale-gen de_DE.UTF-8 \ +# Install locales +RUN sed -i -e 's/# en_GB.UTF-8 UTF-8/en_GB.UTF-8 UTF-8/' /etc/locale.gen \ + && sed -i -e 's/# de_DE.UTF-8 UTF-8/de_DE.UTF-8 UTF-8/' /etc/locale.gen \ + && dpkg-reconfigure --frontend=noninteractive locales \ && update-locale # Install php extensions diff --git a/config/docker-files/8.1-Dockerfile b/config/docker-files/8.1-Dockerfile index 52544cbf1bb00b1576d163918ded8f75a582b887..4861cd685d80ccf82022a6fcdba0f772b1c38a1b 100644 --- a/config/docker-files/8.1-Dockerfile +++ b/config/docker-files/8.1-Dockerfile @@ -20,8 +20,10 @@ RUN apt update && apt install -y --no-install-recommends \ vim \ && rm -rf /var/lib/apt/lists/* -# Install de_DE locale -RUN locale-gen de_DE.UTF-8 \ +# Install locales +RUN sed -i -e 's/# en_GB.UTF-8 UTF-8/en_GB.UTF-8 UTF-8/' /etc/locale.gen \ + && sed -i -e 's/# de_DE.UTF-8 UTF-8/de_DE.UTF-8 UTF-8/' /etc/locale.gen \ + && dpkg-reconfigure --frontend=noninteractive locales \ && update-locale # Install php extensions diff --git a/config/docker-files/8.2-Dockerfile b/config/docker-files/8.2-Dockerfile index 27a735b0fa33f27071c9dd482fdc0e5e2cbb7033..efd288f90a7ed2684c86c26ca0870e23d00b009a 100644 --- a/config/docker-files/8.2-Dockerfile +++ b/config/docker-files/8.2-Dockerfile @@ -20,8 +20,10 @@ RUN apt update && apt install -y --no-install-recommends \ vim \ && rm -rf /var/lib/apt/lists/* -# Install de_DE locale -RUN locale-gen de_DE.UTF-8 \ +# Install locales +RUN sed -i -e 's/# en_GB.UTF-8 UTF-8/en_GB.UTF-8 UTF-8/' /etc/locale.gen \ + && sed -i -e 's/# de_DE.UTF-8 UTF-8/de_DE.UTF-8 UTF-8/' /etc/locale.gen \ + && dpkg-reconfigure --frontend=noninteractive locales \ && update-locale # Install php extensions diff --git a/config/docker-files/8.3-Dockerfile b/config/docker-files/8.3-Dockerfile index 16821dd10791dc738318a12919d139e3475d742b..cf2ba3cd3705407ec604df8c30b8121363e95031 100644 --- a/config/docker-files/8.3-Dockerfile +++ b/config/docker-files/8.3-Dockerfile @@ -5,6 +5,7 @@ RUN apt update \ && apt install -y --no-install-recommends \ default-mysql-client \ default-libmysqlclient-dev \ + git \ imagemagick ghostscript \ zlib1g-dev \ libjpeg-dev \ @@ -21,8 +22,10 @@ RUN apt update \ vim \ && rm -rf /var/lib/apt/lists/* -# Install de_DE locale -RUN locale-gen de_DE.UTF-8 \ +# Install locales +RUN sed -i -e 's/# en_GB.UTF-8 UTF-8/en_GB.UTF-8 UTF-8/' /etc/locale.gen \ + && sed -i -e 's/# de_DE.UTF-8 UTF-8/de_DE.UTF-8 UTF-8/' /etc/locale.gen \ + && dpkg-reconfigure --frontend=noninteractive locales \ && update-locale # Install php extensions diff --git a/config/docker-files/8.4-Dockerfile b/config/docker-files/8.4-Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..8fb001da670e28486a54020d33822f042a2bc35d --- /dev/null +++ b/config/docker-files/8.4-Dockerfile @@ -0,0 +1,47 @@ +FROM php:8.4.0alpha2-fpm + +# Install system requirements +RUN apt update \ + && apt install -y --no-install-recommends \ + default-mysql-client \ + default-libmysqlclient-dev \ + git \ + imagemagick ghostscript \ + zlib1g-dev \ + libjpeg-dev \ + libpng-dev \ + libpq-dev \ + libwebp-dev \ + libonig-dev \ + libzip-dev \ + libicu-dev \ + libfreetype6-dev \ + libxml2-dev \ + locales \ + libmemcached11 libmemcachedutil2 build-essential libmemcached-dev libz-dev \ + vim \ + && rm -rf /var/lib/apt/lists/* + +# Install locales +RUN sed -i -e 's/# en_GB.UTF-8 UTF-8/en_GB.UTF-8 UTF-8/' /etc/locale.gen \ + && sed -i -e 's/# de_DE.UTF-8 UTF-8/de_DE.UTF-8 UTF-8/' /etc/locale.gen \ + && dpkg-reconfigure --frontend=noninteractive locales \ + && update-locale + +# Install php extensions +RUN docker-php-ext-configure gd --with-jpeg --with-freetype --with-webp +RUN docker-php-ext-install -j$(nproc) gd gettext intl mysqli opcache pdo_mysql pdo_pgsql soap zip + +# Install Memcached and redis +# RUN pecl install memcached redis \ +# && docker-php-ext-enable memcached redis +RUN pecl install memcached \ + && docker-php-ext-enable memcached + +# Cleanup +RUN docker-php-source delete \ + && apt-get autoremove --purge -y && apt-get autoclean -y && apt-get clean -y + +# Enable PS in gs +RUN sed -r -i_bak 's/rights="none" pattern="([EX]?PS[23]*|PDF)"/rights="read | write" pattern="\1"/' \ + /etc/ImageMagick-6/policy.xml diff --git a/lib/Commands/Compile.php b/lib/Commands/Compile.php index 01fe7e522e5daa80fbc98ade7d62123a33438b07..51843e4c1434bbfe8a82595d32c308306db97aaf 100644 --- a/lib/Commands/Compile.php +++ b/lib/Commands/Compile.php @@ -278,11 +278,13 @@ final class Compile extends Command foreach ($servers as [$index, $port, $sslPort]) { $creator->addServer([ 'listen ' . $port . ' default_server', + 'client_max_body_size 64M', 'set $fastcgi_backend ' . $index . '_backend', ]); $creator->addServer([ 'listen ' . $sslPort . ' default_server ssl', + 'client_max_body_size 64M', 'set $fastcgi_backend ' . $index . '_backend', 'ssl_certificate /etc/nginx/ssl.crt', diff --git a/lib/Commands/PHP/Enable.php b/lib/Commands/PHP/Enable.php index 67eac9b3cbf01cebecba474269f1898a0ad29d0e..8b7a8010d8ac08fc39b91311f8a3ec8d034161f3 100644 --- a/lib/Commands/PHP/Enable.php +++ b/lib/Commands/PHP/Enable.php @@ -42,7 +42,7 @@ final class Enable extends Command $php[$version] = $port; $config->set('php', $php); - $io->success("PHP version {$version} has been enabled on port {$port}"); + $io->success("PHP version {$version} has been enabled on ports {$port[0]} and {$port[1]}"); $enabled += 1; } diff --git a/lib/DockerComposeCommand.php b/lib/DockerComposeCommand.php index f6cf4669dcbfb448982cadf307916bf88a14da42..4df4518dbb125eaebba6f4bc056742a9aa1e1f3c 100644 --- a/lib/DockerComposeCommand.php +++ b/lib/DockerComposeCommand.php @@ -22,11 +22,13 @@ abstract class DockerComposeCommand extends Command protected function createDockerComposeCommand(array $command): Process { - return new Process([ + $process = new Process([ 'docker', 'compose', '-f', self::GetCompiledPath() . '/docker-compose.yml', ...$command, ]); + $process->setTimeout(null); + return $process; } diff --git a/lib/SupportedPHPVersions.php b/lib/SupportedPHPVersions.php index 7b9ac39509c079a2f0a2ebd09b14dc3d28761948..8f985017c6f259504c5777771a5ed8d73da7908c 100644 --- a/lib/SupportedPHPVersions.php +++ b/lib/SupportedPHPVersions.php @@ -11,6 +11,7 @@ final class SupportedPHPVersions '8.1' => [8081, 8881], '8.2' => [8082, 8882], '8.3' => [8083, 8883], + '8.4' => [8084, 8884], ]; private const DEFAULT = ['7.4', '8.1', '8.3']; diff --git a/web/assets/style.css b/web/assets/style.css index 07e712f055275f6cb7daee31379c3ee1d5e01acd..55ac7677f9c72c4dbf3f2022374bc86b6543d3c1 100644 --- a/web/assets/style.css +++ b/web/assets/style.css @@ -1,5 +1,24 @@ +:root { + --background-color: #ffffff; + --hover-background-color: #ffeecc; + --text-color: #000000; +} + +@media (prefers-color-scheme: dark) { + :root { + --background-color: #000000; + --hover-background-color: #001133; + --text-color: #ffffff; + } +} + +body { + background-color: var(--background-color); + color: var(--text-color); +} + .tabs { - background-color: #fff; + background-color: inherit; border-bottom: 1px solid #ccc; font-size: 1.5em; line-height: 1.5em; @@ -32,5 +51,5 @@ th { text-align: left; } tr:hover td { - background-color: #fec; + background-color: var(--hover-background-color); }