2026-03-04 22:45:28 +00:00
|
|
|
|
FROM wordpress:php8.2-apache
|
|
|
|
|
|
|
|
|
|
|
|
# -------------------------------------------------
|
2026-03-05 07:11:01 +00:00
|
|
|
|
# 1️⃣ Remove bundled themes (keep only core)
|
2026-03-04 22:45:28 +00:00
|
|
|
|
# -------------------------------------------------
|
|
|
|
|
|
RUN rm -rf /usr/src/wordpress/wp-content/themes/*
|
|
|
|
|
|
|
|
|
|
|
|
# -------------------------------------------------
|
2026-03-05 07:11:01 +00:00
|
|
|
|
# 2️⃣ Custom PHP config
|
2026-03-04 22:45:28 +00:00
|
|
|
|
# -------------------------------------------------
|
|
|
|
|
|
COPY config/php.ini /usr/local/etc/php/conf.d/custom.ini
|
|
|
|
|
|
|
|
|
|
|
|
# -------------------------------------------------
|
2026-03-05 07:11:01 +00:00
|
|
|
|
# 3️⃣ System utilities + Composer
|
2026-03-04 22:45:28 +00:00
|
|
|
|
# -------------------------------------------------
|
|
|
|
|
|
RUN apt-get update && \
|
2026-03-05 07:11:01 +00:00
|
|
|
|
apt-get install -y --no-install-recommends unzip && \
|
2026-03-04 22:45:28 +00:00
|
|
|
|
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️⃣ WP‑CLI
|
2026-03-04 22:45:28 +00:00
|
|
|
|
# -------------------------------------------------
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
|
|
# -------------------------------------------------
|
2026-03-05 07:11:01 +00:00
|
|
|
|
# 5️⃣ Copy WordPress core (triggered by official entrypoint later)
|
2026-03-04 22:45:28 +00:00
|
|
|
|
# -------------------------------------------------
|
|
|
|
|
|
WORKDIR /var/www/html
|
|
|
|
|
|
|
|
|
|
|
|
# -------------------------------------------------
|
2026-03-05 07:11:01 +00:00
|
|
|
|
# 6️⃣ Theme archive → proper theme folder
|
2026-03-04 22:45:28 +00:00
|
|
|
|
# -------------------------------------------------
|
2026-03-05 07:11:01 +00:00
|
|
|
|
COPY indy-wp/indywp.zip /tmp/indywp.zip
|
|
|
|
|
|
RUN unzip /tmp/indywp.zip -d /tmp && \
|
|
|
|
|
|
mv /tmp/indywp /var/www/html/wp-content/themes/indywp && \
|
|
|
|
|
|
rm /tmp/indywp.zip && \
|
|
|
|
|
|
chown -R www-data:www-data /var/www/html/wp-content/themes/indywp && \
|
|
|
|
|
|
chmod -R 755 /var/www/html/wp-content/themes/indywp
|
2026-03-05 00:12:31 +00:00
|
|
|
|
|
2026-03-04 22:45:28 +00:00
|
|
|
|
# -------------------------------------------------
|
2026-03-05 07:11:01 +00:00
|
|
|
|
# 7️⃣ Preset assets (optional)
|
2026-03-04 22:45:28 +00:00
|
|
|
|
# -------------------------------------------------
|
2026-03-05 07:11:01 +00:00
|
|
|
|
COPY theme-assets/indywp/assets/ /var/www/html/wp-content/themes/indywp/assets/
|
|
|
|
|
|
RUN chown -R www-data:www-data /var/www/html/wp-content/themes/indywp/assets && \
|
|
|
|
|
|
chmod -R 644 /var/www/html/wp-content/themes/indywp/assets
|
2026-03-04 22:45:28 +00:00
|
|
|
|
|
|
|
|
|
|
# -------------------------------------------------
|
2026-03-05 07:11:01 +00:00
|
|
|
|
# 8️⃣ Writable uploads folder
|
2026-03-04 22:45:28 +00:00
|
|
|
|
# -------------------------------------------------
|
|
|
|
|
|
RUN mkdir -p /var/www/html/wp-content/uploads && \
|
|
|
|
|
|
chown -R www-data:www-data /var/www/html/wp-content && \
|
|
|
|
|
|
chmod -R 775 /var/www/html/wp-content
|
|
|
|
|
|
|
|
|
|
|
|
# -------------------------------------------------
|
2026-03-05 07:11:01 +00:00
|
|
|
|
# 9️⃣ Install plugins via Composer **after** core is present
|
2026-03-04 22:45:28 +00:00
|
|
|
|
# -------------------------------------------------
|
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 /var/www/html/wp-content/plugins && \
|
|
|
|
|
|
chmod -R 755 /var/www/html/wp-content/plugins
|
2026-03-04 22:45:28 +00:00
|
|
|
|
|
|
|
|
|
|
# -------------------------------------------------
|
2026-03-05 07:11:01 +00:00
|
|
|
|
# 🔟 Healthcheck
|
2026-03-04 22:45:28 +00:00
|
|
|
|
# -------------------------------------------------
|
2026-03-05 00:12:31 +00:00
|
|
|
|
HEALTHCHECK --interval=30s --timeout=5s \
|
|
|
|
|
|
CMD curl -f http://localhost/wp-admin/install.php || exit 1
|
|
|
|
|
|
|
2026-03-04 22:45:28 +00:00
|
|
|
|
EXPOSE 80
|
|
|
|
|
|
|
|
|
|
|
|
# -------------------------------------------------
|
2026-03-05 07:11:01 +00:00
|
|
|
|
# 📜 Custom entrypoint (calls official one first)
|
2026-03-04 22:45:28 +00:00
|
|
|
|
# -------------------------------------------------
|
2026-03-05 07:11:01 +00:00
|
|
|
|
COPY entrypoint.sh /usr/local/bin/
|
|
|
|
|
|
RUN chmod +x /usr/local/bin/entrypoint.sh
|
|
|
|
|
|
|
|
|
|
|
|
ENTRYPOINT ["entrypoint.sh"]
|
2026-03-04 22:45:28 +00:00
|
|
|
|
CMD ["apache2-foreground"]
|