Implement a minimal, dependency-free publishing tool to manage news and articles. The app includes: - A Markdown-based block editor with rich-text capabilities. - Image upload and resizing using GD. - Support for drafts, scheduled publishing, and a trash system. - Integrated Basic Auth protection via PHP and .htpasswd. - A global plugin for automatic execution of scheduled posts. The tool reuses core site logic in custom/plugins/publiser-lib.php to ensure consistency between the editor and the live site.
23 lines
1.1 KiB
Docker
23 lines
1.1 KiB
Docker
FROM php:8.4.14-apache
|
|
|
|
# Enable Apache modules and custom config as root during build
|
|
RUN a2enmod rewrite headers
|
|
|
|
# GD extension - used by /publiser to resize/recompress uploaded images
|
|
RUN apt-get update \
|
|
&& apt-get install -y --no-install-recommends libjpeg62-turbo-dev libpng-dev libwebp-dev \
|
|
&& docker-php-ext-configure gd --with-jpeg --with-webp \
|
|
&& docker-php-ext-install gd \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
COPY apache.conf /etc/apache2/conf-available/custom.conf
|
|
RUN a2enconf custom
|
|
|
|
# Override default security.conf settings
|
|
RUN sed -i 's/^ServerTokens OS/ServerTokens Prod/' /etc/apache2/conf-available/security.conf \
|
|
&& sed -i 's/^ServerSignature On/ServerSignature Off/' /etc/apache2/conf-available/security.conf
|
|
|
|
# Log to /proc/self/fd for container output
|
|
RUN sed -i 's|ErrorLog.*|ErrorLog /proc/self/fd/2|' /etc/apache2/sites-available/000-default.conf \
|
|
&& sed -i 's|CustomLog.*|CustomLog /proc/self/fd/1 combined|' /etc/apache2/sites-available/000-default.conf \
|
|
&& sed -i 's|ErrorLog.*|ErrorLog /proc/self/fd/2|' /etc/apache2/apache2.conf
|