FROM php:8.2-fpm # Set working directory WORKDIR /var/www/html # Install dependencies RUN apt-get update \ && apt-get install -y \ apt-utils \ man \ curl \ git \ bash \ vim \ zip unzip \ acl \ iproute2 \ dnsutils \ fonts-freefont-ttf \ fontconfig \ dbus \ openssh-client \ sendmail \ libfreetype6-dev \ libjpeg62-turbo-dev \ icu-devtools \ libicu-dev \ libmcrypt4 \ libmcrypt-dev \ libpng-dev \ zlib1g-dev \ libxml2-dev \ libzip-dev \ libonig-dev \ graphviz \ libcurl4-openssl-dev \ pkg-config \ libldap2-dev \ libpq-dev \ libbz2-dev \ libwebp-dev RUN curl -sL https://deb.nodesource.com/setup_16.x | bash - RUN apt-get -y install nodejs # Clear cache RUN apt-get clean && rm -rf /var/lib/apt/lists/* # Install extensions RUN docker-php-ext-configure intl --enable-intl && \ docker-php-ext-configure bcmath --enable-bcmath && \ docker-php-ext-configure gd --with-freetype --with-jpeg --with-webp && \ docker-php-ext-install -j$(nproc) gd && \ docker-php-ext-install bcmath &&\ docker-php-ext-install pdo \ pgsql pdo_pgsql \ mysqli pdo_mysql \ intl iconv mbstring \ zip pcntl \ exif opcache bz2 \ calendar \ && pecl install -o -f redis \ && rm -rf /tmp/pear \ && docker-php-ext-enable redis \ && docker-php-source delete # Install composer RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer # Add user for laravel application RUN groupadd -g 1000 www RUN useradd -u 1000 -ms /bin/bash -g www www # Copy existing application directory contents COPY . /var/www # Copy existing application directory permissions COPY --chown=www:www . /var/www # Change current user to www USER www COPY start.sh /usr/local/bin/start CMD ["/usr/local/bin/start"]