################################################################################ # Use known working image to pull in working wkhtmltopdf libraries ################################################################################ FROM surnet/alpine-wkhtmltopdf:3.16.2-0.12.6-full as wkhtmltopdf FROM php:8.2-fpm-alpine3.17 AS app # wkhtmltopdf install dependencies RUN apk add --no-cache \ libstdc++ \ libx11 \ libxrender \ libxext \ libssl1.1 \ ca-certificates \ fontconfig \ freetype \ ttf-droid \ ttf-freefont \ ttf-liberation \ # more fonts ; # wkhtmltopdf copy bins from ext image COPY --from=wkhtmltopdf /bin/wkhtmltopdf /bin/wkhtmltoimage /bin/libwkhtmltox.so /usr/bin/ ################################################################################ # Copied from previous Streamline Dockerfile ################################################################################ # Install necessary packages and cleanup RUN set -ex; \ apk update && \ apk add --no-cache curl gnupg mysql mysql-client pwgen && \ docker-php-ext-install pdo pdo_mysql && \ rm -rf /var/cache/apk/* # Install Composer RUN curl -sS https://getcomposer.org/installer | \ php -- --install-dir=/usr/bin/ --filename=composer # Set the working directory and copy the application code COPY streamline-src /var/www/html COPY my.cnf /etc/mysql/my.cnf WORKDIR /var/www/html # Create the 'streamline' user and adjust permissions RUN addgroup -g 1000 streamline && adduser -G streamline -g streamline -s /bin/sh -D streamline && \ composer install && \ chmod -R 777 /var/www/html/storage/ && \ chown -R streamline:streamline /var/www/html && \ mkdir -p /docker-entrypoint-initdb.d/ # Initialize MySQL COPY streamline_initial.sql /docker-entrypoint-initdb.d/ RUN mkdir /scripts && \ mkdir /scripts/pre-exec.d && \ mkdir /scripts/pre-init.d && \ chmod -R 755 /scripts VOLUME ["/var/lib/mysql"] # Set the startup script as executable RUN chmod +x /var/www/html/start_up.sh # Define the entry point and expose port 80, 3306 ENTRYPOINT ["/bin/sh", "/var/www/html/start_up.sh"] EXPOSE 80 3306 ################################################################################ # Update snappy config to fix issues with wkhtmltopdf ################################################################################ COPY snappy.php /var/www/html/config/snappy.php