Files
islandpferde-site/Dockerfile
Joseph Kisler 11fc7cff27 Fix: Entrypoint muss als root laufen für S6-overlay
- USER root am Ende des Dockerfile für /init
- set -e für bessere Fehlerbehandlung
- chmod 600 für .env Sicherheit

🤖 Generated with Claude Code
2025-12-17 12:59:22 +01:00

48 lines
1.3 KiB
Docker

# WordPress Bedrock - Production
FROM serversideup/php:8.4-fpm-nginx
LABEL org.opencontainers.image.title="Kurs-Booking WordPress"
LABEL org.opencontainers.image.vendor="webideas24"
# Environment
ENV WEB_DOCUMENT_ROOT=/var/www/html/web
ENV PHP_OPCACHE_ENABLE=1
ENV PHP_MEMORY_LIMIT=512M
ENV PHP_UPLOAD_MAX_FILE_SIZE=64M
ENV PHP_POST_MAX_SIZE=64M
# Install dependencies + WP-CLI
USER root
RUN apt-get update && apt-get install -y --no-install-recommends \
git \
unzip \
curl \
less \
mariadb-client \
&& rm -rf /var/lib/apt/lists/* \
&& curl -o /usr/local/bin/wp https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar \
&& chmod +x /usr/local/bin/wp
# Copy entrypoint script
COPY docker-entrypoint.sh /usr/local/bin/
RUN chmod +x /usr/local/bin/docker-entrypoint.sh
# Copy application (as www-data for composer)
USER www-data
WORKDIR /var/www/html
COPY --chown=www-data:www-data . .
# Install Composer dependencies (production)
RUN composer install --no-dev --optimize-autoloader --no-interaction
# Switch back to root for S6-overlay /init
USER root
# Kein eigener Health Check - Coolify/Traefik übernimmt das
HEALTHCHECK NONE
EXPOSE 80
ENTRYPOINT ["docker-entrypoint.sh"]
CMD ["/init"]