Files
sermon-notes/Dockerfile
Ryan Prather 5e6d63ef26 upd: Dockerfile
remove logrotate functionality in favor of docker native logging
2026-03-26 19:57:59 -04:00

68 lines
1.6 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 \
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 \
pdo_sqlite
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
RUN cd /var/www/html
RUN git clone https://gitea.rkprather.com/ryan/sermon-notes.git ./
RUN mv 000-default.conf /etc/apache2/sites-available/
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 COMPOSER_ALLOW_SUPERUSER=1 composer install --no-scripts --no-dev --optimize-autoloader
RUN /usr/local/bin/php bin/console asset-map:compile
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 find /var/www/html -type d -exec chmod 755 '{}' \;
RUN find /var/www/html -type f -exec chmod 644 '{}' \;
RUN chmod 755 /data
RUN chmod 644 /data/*
RUN a2enmod rewrite setenvif headers
EXPOSE 80