Nach Dokumentation recherchiert:
- Kein ENTRYPOINT override (serversideup hat eigenen)
- Scripts nach /etc/entrypoint.d/ mit 755
- Port 8080 statt 80
- Healthcheck auf /healthcheck Endpoint
- USER www-data am Ende (serversideup Standard)
Quelle: serversideup.net/open-source/docker-php/docs
🤖 Generated with Claude Code
33 lines
1011 B
Docker
33 lines
1011 B
Docker
# WordPress Bedrock - Production
|
|
# Basierend auf serversideup/php Dokumentation
|
|
FROM serversideup/php:8.4-fpm-nginx
|
|
|
|
LABEL org.opencontainers.image.title="Kurs-Booking WordPress"
|
|
LABEL org.opencontainers.image.vendor="webideas24"
|
|
|
|
# Environment (serversideup spezifisch)
|
|
ENV WEB_DOCUMENT_ROOT=/var/www/html/web
|
|
ENV PHP_OPCACHE_ENABLE=1
|
|
ENV PHP_MEMORY_LIMIT=512M
|
|
ENV PHP_UPLOAD_MAX_FILESIZE=64M
|
|
ENV PHP_POST_MAX_SIZE=64M
|
|
|
|
# Install WP-CLI (als root)
|
|
USER root
|
|
RUN 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
|
|
|
|
# Startup-Script in /etc/entrypoint.d/ (serversideup Standard)
|
|
COPY --chmod=755 entrypoint.d/ /etc/entrypoint.d/
|
|
|
|
# Copy application
|
|
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
|
|
|
|
# serversideup verwendet Port 8080 (nicht 80!)
|
|
EXPOSE 8080
|