Inception/srcs/requirements/wordpress/Dockerfile

50 lines
1.3 KiB
Docker

FROM alpine:3.20
ARG HOST_UID
# Install WordPress and its dependencies
RUN apk add --no-cache \
php83 \
php83-phar \
php83-fpm \
php83-mysqli \
php83-mbstring \
php83-json \
php83-curl \
php83-xml \
php83-zip \
php83-gd \
php83-session \
php83-tokenizer \
mariadb-client \
curl \
busybox-extras &&\
rm -rf /var/cache/apk/*
# Add a new user and group
# Create group with GID = HOST_UID, then user with UID = HOST_UID and GID = HOST_UID
RUN addgroup -g ${HOST_UID} wordpress && \
adduser -D -u ${HOST_UID} -G wordpress wordpress
# Set ownership of the working directory
RUN mkdir -p /var/www/html && \
chown -R wordpress:wordpress /var/www/html
# Install WP-CLI
RUN curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar && \
chmod +x wp-cli.phar && \
mv wp-cli.phar /usr/local/bin/wp
COPY ./conf/www.conf /etc/php83/php-fpm.d/www.conf
RUN echo "memory_limit = 512M" >> /etc/php83/php.ini && \
echo 'sendmail_path = "/usr/sbin/sendmail -S mailhog:1025"' >> /etc/php83/php.ini
COPY ./tools/install.sh /usr/local/bin/install.sh
RUN chmod +x /usr/local/bin/install.sh
ENTRYPOINT ["/usr/local/bin/install.sh"]
CMD ["php-fpm83", "-F"]
HEALTHCHECK --interval=10s --timeout=3s --start-period=5s --retries=3 \
CMD nc -z 127.0.0.1 9000 || exit 1