From 3d034e421b3c1522f27902618262c3df98544db4 Mon Sep 17 00:00:00 2001 From: Jan-Hendrik Willms <tleilax+github@gmail.com> Date: Tue, 6 Aug 2024 10:46:16 +0200 Subject: [PATCH] wip --- config/docker-files/7.2-Dockerfile | 6 ++-- config/docker-files/7.3-Dockerfile | 6 ++-- config/docker-files/7.4-Dockerfile | 6 ++-- config/docker-files/8.0-Dockerfile | 6 ++-- config/docker-files/8.1-Dockerfile | 6 ++-- config/docker-files/8.2-Dockerfile | 6 ++-- config/docker-files/8.3-Dockerfile | 7 +++-- config/docker-files/8.4-Dockerfile | 47 ++++++++++++++++++++++++++++++ lib/Commands/Compile.php | 2 ++ lib/Commands/PHP/Enable.php | 2 +- lib/DockerComposeCommand.php | 4 ++- lib/SupportedPHPVersions.php | 1 + web/assets/style.css | 23 +++++++++++++-- 13 files changed, 104 insertions(+), 18 deletions(-) create mode 100644 config/docker-files/8.4-Dockerfile diff --git a/config/docker-files/7.2-Dockerfile b/config/docker-files/7.2-Dockerfile index 8c86e12..886db6f 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 2355daa..bd4720b 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 2e01471..2838589 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 3d56102..4cddac9 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 52544cb..4861cd6 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 27a735b..efd288f 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 16821dd..cf2ba3c 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 0000000..8fb001d --- /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 01fe7e5..51843e4 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 67eac9b..8b7a801 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 f6cf466..4df4518 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 7b9ac39..8f98501 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 07e712f..55ac767 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); } -- GitLab