indy-wp/Dockerfile

75 lines
2.7 KiB
Docker
Raw Normal View History

FROM wordpress:php8.2-apache AS base
# -------------------------------------------------
2026-03-05 07:11:01 +00:00
# 1⃣ Remove bundled themes (keep only core)
# -------------------------------------------------
RUN rm -rf /usr/src/wordpress/wp-content/themes/*
# -------------------------------------------------
2026-03-05 07:11:01 +00:00
# 2⃣ Custom PHP config
# -------------------------------------------------
COPY config/php.ini /usr/local/etc/php/conf.d/custom.ini
# -------------------------------------------------
2026-03-05 07:11:01 +00:00
# 3⃣ System utilities + Composer
# -------------------------------------------------
RUN apt-get update && \
2026-03-05 07:11:01 +00:00
apt-get install -y --no-install-recommends unzip && \
rm -rf /var/lib/apt/lists/* && \
curl -sS https://getcomposer.org/installer | \
php -- --install-dir=/usr/local/bin --filename=composer
# -------------------------------------------------
2026-03-05 07:11:01 +00:00
# 4⃣ WPCLI
# -------------------------------------------------
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
WORKDIR /var/www/html
# -------------------------------------------------
# Give www-data ownership of WPCLI cache folder
# -------------------------------------------------
RUN mkdir -p /var/www/.wp-cli && chown -R www-data:www-data /var/www/.wp-cli
# -------------------------------------------------
# 5⃣ (Removed) themeinstall step that caused the error
# -------------------------------------------------
# -------------------------------------------------
# 6⃣ Writable uploads folder
# -------------------------------------------------
RUN mkdir -p wp-content/uploads && \
chown -R www-data:www-data wp-content && \
chmod -R 775 wp-content
# -------------------------------------------------
# 7⃣ Composerbased plugins (same as before)
# -------------------------------------------------
2026-03-05 07:11:01 +00:00
COPY composer.json composer.lock ./
RUN composer install --no-dev --optimize-autoloader && \
rm composer.json composer.lock && \
chown -R www-data:www-data wp-content/plugins && \
chmod -R 755 wp-content/plugins
# -------------------------------------------------
# 8⃣ Healthcheck
# -------------------------------------------------
HEALTHCHECK --interval=30s --timeout=5s \
CMD curl -f http://localhost/wp-admin/install.php || exit 1
EXPOSE 80
# -------------------------------------------------
2026-03-05 07:11:01 +00:00
# 📜 Custom entrypoint (calls official one first)
# -------------------------------------------------
2026-03-05 07:11:01 +00:00
COPY entrypoint.sh /usr/local/bin/
RUN chmod +x /usr/local/bin/entrypoint.sh
COPY entrypoint-theme.sh /usr/local/bin/
RUN chmod +x /usr/local/bin/entrypoint-theme.sh
2026-03-05 07:11:01 +00:00
ENTRYPOINT ["entrypoint.sh"]
CMD ["apache2-foreground"]