Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- FROM php:8.2-fpm-alpine3.16
- RUN echo "Europe/Madrid" > /etc/timezone
- # 2 Set working directory
- WORKDIR /usr/src/app
- # 3 Install Additional dependencies
- RUN apk update && apk add --no-cache \
- build-base shadow vim curl bash \
- zip libzip-dev \
- libicu-dev \
- libjpeg-turbo-dev \
- libpng-dev \
- libwebp-dev \
- freetype-dev \
- git\
- autoconf
- # 4 Add and Enable PHP-PDO Extenstions
- RUN docker-php-ext-install pdo pdo_mysql mysqli
- RUN docker-php-ext-enable pdo_mysql opcache
- RUN docker-php-ext-install zip
- RUN docker-php-ext-enable zip
- RUN docker-php-ext-configure gd --with-jpeg --with-webp --with-freetype
- RUN docker-php-ext-install gd
- RUN docker-php-ext-configure intl && docker-php-ext-install intl
- RUN docker-php-ext-enable gd intl
- # ldap
- RUN apk add --update --no-cache \
- libldap && \
- # Build dependancy for ldap \
- apk add --update --no-cache --virtual .docker-php-ldap-dependancies \
- openldap-dev && \
- docker-php-ext-configure ldap && \
- docker-php-ext-install ldap && \
- apk del .docker-php-ldap-dependancies && \
- php -m;
- RUN pecl install -o -f redis apcu \
- && rm -rf /tmp/pear \
- && docker-php-ext-enable redis apcu
- RUN apk --no-cache add nodejs yarn npm --repository=http://dl-cdn.alpinelinux.org/alpine/edge/community
- WORKDIR /usr/src/app/var/keys
- RUN openssl genrsa -out private.key 2048
- RUN openssl rsa -in private.key -pubout -out public.key
- WORKDIR /usr/src/app
- # 5 Install PHP Composer
- RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
- # 6 Remove Cache
- RUN rm -rf /var/cache/apk/*
- WORKDIR /usr/src/app
- # 8 Copy existing application directory permissions
- COPY . /usr/src/app
- RUN composer install --no-scripts --prefer-dist --no-interaction --optimize-autoloader --env=prod
- RUN php bin/console cache:clear --env=prod
- RUN rm -fr node_modules && yarn install && yarn build
- # 9 Change current user
- USER www-data
- # 10 Expose port 9000 and start php-fpm server
- EXPOSE 9000
- CMD ["php-fpm"]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement