several changes including cloning repo instead of file copy fixed cron copy temporary production .env file add importmap and asset-map custom entrypoint
79 lines
2.0 KiB
Docker
79 lines
2.0 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 \
|
|
libsqlite3-dev \
|
|
sqlite3 \
|
|
curl \
|
|
git \
|
|
cron \
|
|
nano
|
|
|
|
|
|
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
|
|
|
|
ARG CACHEBURST=1
|
|
ARG BRANCH=master
|
|
|
|
WORKDIR /var/www/html
|
|
RUN git clone -b ${BRANCH} --single-branch https://gitea.rkprather.com/ryan/sermon-notes.git ./
|
|
RUN git config --global --add safe.directory /var/www/html
|
|
|
|
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 > /proc/1/fd/1 2>&1" > /etc/cron.d/get-audio
|
|
RUN chmod 644 /etc/cron.d/get-audio
|
|
RUN crontab /etc/cron.d/get-audio
|
|
|
|
RUN COMPOSER_ALLOW_SUPERUSER=1 composer install --no-scripts --no-dev --optimize-autoloader
|
|
RUN mkdir /data
|
|
|
|
RUN mkdir -p /var/www/html/var/cache
|
|
RUN mkdir -p /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 a2enmod rewrite setenvif headers
|
|
|
|
COPY prod.env /var/www/html/.env
|
|
RUN /usr/local/bin/php bin/console importmap:install
|
|
RUN /usr/local/bin/php bin/console asset-map:compile
|
|
RUN rm /var/www/html/.env
|
|
RUN chmod +x /var/www/html/bin/entrypoint.sh
|
|
|
|
EXPOSE 80
|
|
|
|
ENTRYPOINT ["/var/www/html/bin/entrypoint.sh"]
|
|
CMD ["apache2-foreground"]
|