# Ensure apt doesn't ask questions when installing stuff
ENV DEBIAN_FRONTEND=noninteractive
-# Install Ondrej repos for Ubuntu jammy, PHP, composer and selected extensions - better selection than
-# the distro's packages
-RUN apt-get update && apt-get install -y --no-install-recommends gnupg \
- && echo "deb http://ppa.launchpad.net/ondrej/php/ubuntu jammy main" > /etc/apt/sources.list.d/ondrej-php.list \
- && apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 4F4EA0AAE5267A6C \
- && apt-get update \
- && apt-get -y --no-install-recommends install \
- ca-certificates \
- curl \
- unzip \
+# Compile NSISbi
+RUN apt update && apt -y --no-install-recommends install build-essential scons mingw-w64 zlib1g-dev curl unzip ca-certificates wget gnupg
+RUN cd /root && curl -L https://master.dl.sourceforge.net/project/nsisbi/nsisbi3.08.1/nsis-code-7336-1-NSIS-trunk.zip -o /root/nsis.zip && unzip -o /root/nsis.zip && cd /root/nsis-code-7336-1-NSIS-trunk && scons SKIPUTILS="zip2exe","NSIS Menu" && scons install SKIPUTILS="zip2exe","NSIS Menu"
+
+# Add additional repositories
+RUN curl -fsSL https://deb.nodesource.com/setup_18.x | bash -
+RUN sh -c 'echo "deb [arch=amd64] https://dl.google.com/linux/chrome/deb/ stable main" > /etc/apt/sources.list.d/google-chrome.list'
+RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -
+RUN echo "deb http://ppa.launchpad.net/ondrej/php/ubuntu jammy main" > /etc/apt/sources.list.d/ondrej-php.list \
+ && apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 4F4EA0AAE5267A6C
+
+RUN apt-get update && apt-get -y --no-install-recommends install \
git \
+ php8.1-fpm \
php8.1-apcu \
php8.1-cli \
php8.1-curl \
less nano wget bash lynx
COPY --from=composer:2 /usr/bin/composer /usr/bin/composer
-
-CMD ["php", "-a"]
-
-# If you'd like to be able to use this container on a docker-compose environment as a quiescent PHP CLI container
-# you can /bin/bash into, override CMD with the following - bear in mind that this will make docker-compose stop
-# slow on such a container, docker-compose kill might do if you're in a hurry
-# CMD ["tail", "-f", "/dev/null"]
-
-FROM cli AS fpm
-
-# Install FPM
-RUN apt-get update \
- && apt-get -y --no-install-recommends install php8.1-fpm
-
STOPSIGNAL SIGQUIT
# Toolbox
-RUN curl -fsSL https://deb.nodesource.com/setup_18.x | bash -
-RUN sh -c 'echo "deb [arch=amd64] https://dl.google.com/linux/chrome/deb/ stable main" > /etc/apt/sources.list.d/google-chrome.list'
-RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -
-
-RUN apt-get update
-
-# Compile NSISbi
-RUN apt-get -y --no-install-recommends install build-essential scons mingw-w64 zlib1g-dev
-RUN cd /root && curl -L https://master.dl.sourceforge.net/project/nsisbi/nsisbi3.08.1/nsis-code-7336-1-NSIS-trunk.zip -o /root/nsis.zip && unzip -o /root/nsis.zip && cd /root/nsis-code-7336-1-NSIS-trunk && scons SKIPUTILS="zip2exe","NSIS Menu" && scons install SKIPUTILS="zip2exe","NSIS Menu"
-
RUN apt-get -y --no-install-recommends install nodejs google-chrome-stable
RUN apt-get -y --no-install-recommends install sudo
RUN apt-get -y --no-install-recommends install supervisor ssh rsync
RUN groupadd sudo;useradd -d /application -g www-data -G sudo -s /bin/bash -u 1001 toolbox
ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD true
-RUN npm install --unsafe-perm --global uglify-js less sass puppeteer favicons-compiled-cli
+RUN npm install --unsafe-perm --global uglify-js less sass puppeteer
# PHP-FPM packages need a nudge to make them docker-friendly
COPY overrides.conf /etc/php/8.1/fpm/pool.d/z-overrides.conf