47 lines
1.4 KiB
Docker
47 lines
1.4 KiB
Docker
FROM php:8.3-fpm
|
|
|
|
# syntax=docker/dockerfile:1.3-labs
|
|
|
|
RUN apt-get update && apt-get install -y \
|
|
libzip-dev \
|
|
libpng-dev \
|
|
postgresql-client \
|
|
libpq-dev \
|
|
&& apt-get clean \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
COPY --from=composer:latest /usr/bin/composer /usr/local/bin/composer
|
|
ENV COMPOSER_ALLOW_SUPERUSER=1
|
|
RUN docker-php-ext-install pdo pgsql pdo_pgsql gd bcmath zip \
|
|
&& pecl install redis \
|
|
&& docker-php-ext-enable redis
|
|
|
|
WORKDIR /usr/share/nginx/html/
|
|
|
|
# Combine multiple ADD commands into one
|
|
COPY api/composer.json api/composer.lock api/artisan ./
|
|
COPY api/app ./app
|
|
COPY api/bootstrap ./bootstrap
|
|
COPY api/config ./config
|
|
COPY api/database ./database
|
|
COPY api/public ./public
|
|
COPY api/routes ./routes
|
|
COPY api/tests ./tests
|
|
COPY api/resources ./resources
|
|
COPY api/storage ./storage
|
|
|
|
RUN sed 's_@php artisan package:discover_/bin/true_;' -i composer.json \
|
|
&& composer install --ignore-platform-req=php --no-dev --optimize-autoloader \
|
|
&& composer clear-cache \
|
|
&& php artisan package:discover --ansi \
|
|
&& chmod -R 775 storage \
|
|
&& chown -R www-data:www-data storage \
|
|
&& mkdir -p storage/framework/sessions storage/framework/views storage/framework/cache \
|
|
&& chown -R www-data:www-data storage \
|
|
&& chmod -R 775 storage
|
|
|
|
COPY docker/php-fpm-entrypoint /usr/local/bin/opnform-entrypoint
|
|
RUN chmod a+x /usr/local/bin/*
|
|
|
|
ENTRYPOINT ["/usr/local/bin/opnform-entrypoint"]
|
|
CMD ["php-fpm"] |