# PHP-FPM is a FastCGI implementation for PHP. # Read more here: https://hub.docker.com/_/php FROM php:8.2-fpm RUN apt-get update # Install useful tools RUN apt-get -y install apt-utils nano wget dialog vim # Install system dependencies RUN apt-get -y install --fix-missing \ apt-utils \ build-essential \ git \ curl \ libcurl4 \ libcurl4-openssl-dev \ zlib1g-dev \ libzip-dev \ zip \ libbz2-dev \ locales \ libmcrypt-dev \ libicu-dev \ libonig-dev \ libxml2-dev \ libfreetype6-dev \ libjpeg62-turbo-dev \ libpng-dev \ libwebp-dev \ libxpm-dev # Install PHP extensions RUN docker-php-ext-configure gd \ --with-freetype \ --with-jpeg \ --with-webp \ --with-xpm \ && docker-php-ext-install gd \ && docker-php-ext-install \ exif \ pcntl \ bcmath \ ctype \ curl \ zip # Install Postgre PDO RUN apt-get install -y libpq-dev \ && docker-php-ext-configure pgsql -with-pgsql=/usr/local/pgsql \ && docker-php-ext-install pdo pdo_pgsql pgsql # Install NPM RUN curl -fsSL https://deb.nodesource.com/setup_lts.x | bash - RUN apt-get install -y nodejs # Clear cache RUN apt-get clean && rm -rf /var/lib/apt/lists/* # Install Composer COPY --from=composer:2.3 /usr/bin/composer /usr/bin/composer # Set working directory WORKDIR /var/www/html # Add user for laravel application RUN groupadd -g 1000 www RUN useradd -u 1000 -ms /bin/bash -g www www COPY --chown=www:www ./src /var/www/html # Change current user to www USER www # Set port for application EXPOSE 8000