71 lines
1.4 KiB
Docker
71 lines
1.4 KiB
Docker
# 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
|
|
|
|
RUN docker-php-ext-install \
|
|
exif \
|
|
pcntl \
|
|
bcmath \
|
|
ctype \
|
|
curl \
|
|
pcntl \
|
|
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 existing application directory contents
|
|
COPY ./src /var/www/html
|
|
|
|
# Copy existing application directory permissions
|
|
COPY --chown=www:www ./src /var/www/html
|
|
|
|
# Change current user to www
|
|
USER www
|
|
|
|
# Set port for application
|
|
EXPOSE 8000
|