Files
eletter/Dockerfile
2024-06-11 11:55:53 +07:00

64 lines
2.8 KiB
Docker

FROM php:8.2-fpm-alpine
# FROM alpine:latest
ENV ACCEPT_EULA=Y
WORKDIR /app
# Essentials
RUN echo "Asia/Jakarta" > /etc/timezone
# Install nginx
RUN apk add --no-cache nginx supervisor
# Install prerequisites required for tools and extensions installed later on.
# RUN apk add --update bash gnupg less libpng-dev libzip-dev su-exec unzip
# # Install prerequisites for the sqlsrv and pdo_sqlsrv PHP extensions.
# RUN curl -O https://download.microsoft.com/download/3/5/5/355d7943-a338-41a7-858d-53b259ea33f5/msodbcsql18_18.3.2.1-1_amd64.apk \
# && curl -O https://download.microsoft.com/download/3/5/5/355d7943-a338-41a7-858d-53b259ea33f5/mssql-tools18_18.3.1.1-1_amd64.apk \
# && curl -O https://download.microsoft.com/download/3/5/5/355d7943-a338-41a7-858d-53b259ea33f5/msodbcsql18_18.3.2.1-1_amd64.sig \
# && curl -O https://download.microsoft.com/download/3/5/5/355d7943-a338-41a7-858d-53b259ea33f5/mssql-tools18_18.3.1.1-1_amd64.sig \
# && curl https://packages.microsoft.com/keys/microsoft.asc | gpg --import - \
# && gpg --verify msodbcsql18_18.3.2.1-1_amd64.sig msodbcsql18_18.3.2.1-1_amd64.apk \
# && gpg --verify mssql-tools18_18.3.1.1-1_amd64.sig mssql-tools18_18.3.1.1-1_amd64.apk \
# && apk add --allow-untrusted msodbcsql18_18.3.2.1-1_amd64.apk mssql-tools18_18.3.1.1-1_amd64.apk \
# && rm *.apk *.sig
# # Retrieve the script used to install PHP extensions from the source container.
# COPY --from=mlocati/php-extension-installer /usr/bin/install-php-extensions /usr/bin/install-php-extensions
# # Install required PHP extensions and all their prerequisites available via apt.
# RUN chmod uga+x /usr/bin/install-php-extensions \
# && sync \
# && install-php-extensions bcmath ds exif gd intl opcache pcntl pdo_sqlsrv redis sqlsrv zip
# Install PHP Extensions
RUN set -ex && apk --no-cache add icu-dev postgresql-dev
RUN docker-php-ext-install opcache pdo mysqli pdo_mysql pgsql pdo_pgsql\
&& docker-php-ext-enable pdo_mysql pdo_pgsql
RUN docker-php-ext-configure intl && docker-php-ext-install intl
# Copy php-fpm configs
COPY ./_docker/php-fpm/www.conf /usr/local/etc/php-fpm.d/www.conf
COPY ./_docker/php-fpm/php.ini /usr/local/etc/php/conf.d
COPY ./_docker/php-fpm/opcache.ini /usr/local/etc/php/conf.d/opcache.ini
# Copy nginx-configs
COPY ./_docker/nginx/app.conf /etc/nginx/conf.d/default.conf
COPY ./_docker/nginx/nginx.conf /etc/nginx/nginx.conf
# Copy supervisord config
COPY ./_docker/supervisord/supervisord.conf /etc/supervisord.conf
# COPY --chown=www-data:www-data ./src/ .
# RUN mkdir /mnt/media
# RUN chown -R www-data:www-data /mnt/media
# RUN mkdir /mnt/media/ris
# RUN chown -R www-data:www-data /mnt/media/ris
# COPY --chown=www-data:www-data ./media/ .
EXPOSE 80 443
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisord.conf"]