mirror of
https://github.com/FOSSBilling/FOSSBilling.git
synced 2026-11-09 05:24:58 +09:00
28 lines
1.2 KiB
Docker
28 lines
1.2 KiB
Docker
FROM php:8.5-apache@sha256:11a145bc831dee8ff6f22a1726bad35a0d0f2b4e77df4a9f8c79c3e6e96d6f12
|
|
|
|
# Install required packages, configure Apache, install PHP extensions, and clean-up.
|
|
RUN apt-get update \
|
|
&& apt-get install -y --no-install-recommends zlib1g-dev libpng-dev libicu-dev libbz2-dev cron \
|
|
&& a2enmod rewrite \
|
|
&& docker-php-ext-configure bz2 \
|
|
&& docker-php-ext-install -j$(nproc) bz2 \
|
|
&& docker-php-ext-configure gd \
|
|
&& docker-php-ext-install -j$(nproc) gd \
|
|
&& docker-php-ext-configure intl \
|
|
&& docker-php-ext-install -j$(nproc) intl \
|
|
&& docker-php-ext-configure pdo_mysql \
|
|
&& docker-php-ext-install -j$(nproc) pdo_mysql \
|
|
&& apt-get clean \
|
|
&& rm -rf /var/lib/apt/lists/* /var/cache/apt/*
|
|
|
|
# Copy files and set required permissions.
|
|
COPY --chown=www-data:www-data ./src/. /var/www/html
|
|
|
|
# Configure cron job for www-data in a dedicated crontab file for clarity.
|
|
RUN echo '*/5 * * * * /usr/local/bin/php /var/www/html/cron.php >> /var/log/cron.log 2>&1' > /tmp/www-data.cron \
|
|
&& crontab -u www-data /tmp/www-data.cron \
|
|
&& rm /tmp/www-data.cron
|
|
|
|
# Start cron in the background and then run Apache in the foreground when the container starts.
|
|
CMD ["sh", "-c", "cron & exec apache2-foreground"]
|