Files
sermon-notes/Dockerfile
Ryan Prather 323e668ac9 upd: dockerfile
install logrotate and cron to accomplish scripting to retrieve audio recording links for sermon
2026-02-16 14:12:09 -05:00

77 lines
1.7 KiB
Docker

FROM php:8.5-apache
RUN apt update && \
apt upgrade -y && \
apt install -y \
libzip-dev \
unzip \
libonig-dev \
libxml2-dev \
libpng-dev \
libjpeg-dev \
libicu-dev \
libpq-dev \
sqlite3 \
curl \
git \
cron \
logrotate \
nano
RUN service start cron
RUN service enable cron
RUN docker-php-ext-configure gd --with-jpeg
RUN docker-php-ext-configure zip
RUN docker-php-ext-install \
zip \
mbstring \
exif \
pcntl \
bcmath \
xml \
intl \
pdo_mysql \
pdo_pgsql
RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" && \
php composer-setup.php --install-dir=/usr/local/bin --filename=composer && \
php -r "unlink('composer-setup.php');"
RUN curl -sS https://get.symfony.com/cli/installer | bash && \
mv /root/.symfony5/bin/symfony /usr/local/bin/symfony
COPY . /var/www/html/
RUN mv 000-default.conf /etc/apache2/sites-available/
RUN rm /var/www/html/.env*
RUN rm -rf /var/www/html/var/*
RUN rm -rf /var/www/html/vendor
RUN rm -rf /var/www/html/tests
RUN rm -rf /var/www/html/translations
RUN echo "20 1 * * 6 root cd /var/www/html && /usr/local/bin/php bin/console app:get-audio > /var/log/sermon-notes.log 2>&1" > /etc/cron.d/get-audio
RUN chmod 644 /etc/cron.d/get-audio
RUN echo "/var/log/sermon-notes.log {
monthly
rotate 12
compress
delaycompress
missingok
notifempty
create 644 root root
}" > /etc/logrotate.d/sermon-notes
RUN COMPOSER_ALLOW_SUPERUSER=1 composer install --no-scripts --no-dev --optimize-autoloader
RUN mkdir /data
RUN mkdir /var/www/html/var/cache
RUN mkdir /var/www/html/var/log
RUN chown -R 33:33 /var/www/html /data
RUN chmod -R 755 /var/www/html /data
EXPOSE 80