DONE: fix error where image not showing on digital card, generate letter not working on prod
This commit is contained in:
@@ -46,6 +46,19 @@ COPY --from=composer:2 /usr/bin/composer /usr/local/bin/composer
|
||||
RUN composer install --no-dev --optimize-autoloader --no-interaction --no-progress --prefer-dist --no-scripts \
|
||||
&& rm -rf bootstrap/cache/services.php bootstrap/cache/packages.php
|
||||
|
||||
# Stage 1b: Node + Puppeteer for Browsershot PDF generation
|
||||
FROM node:22-bookworm-slim AS node-deps
|
||||
|
||||
WORKDIR /var/www
|
||||
|
||||
COPY be/package.json be/package-lock.json ./
|
||||
|
||||
RUN npm ci --omit=dev
|
||||
|
||||
ENV PUPPETEER_CACHE_DIR=/var/www/.cache/puppeteer
|
||||
|
||||
RUN npx puppeteer browsers install chrome-headless-shell
|
||||
|
||||
# Stage 2: Unified production image with PHP-FPM + Nginx
|
||||
FROM php:8.4-fpm AS base
|
||||
|
||||
@@ -79,6 +92,37 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
&& docker-php-ext-enable redis \
|
||||
&& apt-get autoremove -y && apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
||||
|
||||
# Chromium runtime libraries for Puppeteer (Browsershot PDF generation)
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
ca-certificates \
|
||||
fonts-liberation \
|
||||
libasound2 \
|
||||
libatk-bridge2.0-0 \
|
||||
libatk1.0-0 \
|
||||
libcairo2 \
|
||||
libcups2 \
|
||||
libdbus-1-3 \
|
||||
libdrm2 \
|
||||
libexpat1 \
|
||||
libfontconfig1 \
|
||||
libgbm1 \
|
||||
libglib2.0-0 \
|
||||
libnspr4 \
|
||||
libnss3 \
|
||||
libpango-1.0-0 \
|
||||
libpangocairo-1.0-0 \
|
||||
libx11-6 \
|
||||
libx11-xcb1 \
|
||||
libxcb1 \
|
||||
libxcomposite1 \
|
||||
libxdamage1 \
|
||||
libxext6 \
|
||||
libxfixes3 \
|
||||
libxkbcommon0 \
|
||||
libxrandr2 \
|
||||
libxrender1 \
|
||||
&& apt-get autoremove -y && apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
||||
|
||||
# Download and install php-fpm health check script
|
||||
RUN curl -o /usr/local/bin/php-fpm-healthcheck \
|
||||
https://raw.githubusercontent.com/renatomefi/php-fpm-healthcheck/master/php-fpm-healthcheck \
|
||||
@@ -120,11 +164,20 @@ RUN echo '[www]' > /usr/local/etc/php-fpm.d/zzz-status.conf && \
|
||||
# Copy the application code and dependencies from the build stage first
|
||||
COPY --from=builder /var/www /var/www
|
||||
|
||||
# Node runtime + Puppeteer for Browsershot (letter PDF generation)
|
||||
COPY --from=node-deps /usr/local/bin/node /usr/local/bin/node
|
||||
COPY --from=node-deps /var/www/node_modules /var/www/node_modules
|
||||
COPY --from=node-deps /var/www/.cache/puppeteer /var/www/.cache/puppeteer
|
||||
|
||||
ENV PUPPETEER_CACHE_DIR=/var/www/.cache/puppeteer \
|
||||
BROWSERSHOT_NO_SANDBOX=true \
|
||||
BROWSERSHOT_NODE_BINARY=/usr/local/bin/node
|
||||
|
||||
# Set working directory
|
||||
WORKDIR /var/www
|
||||
|
||||
# Ensure correct permissions
|
||||
RUN chown -R www-data:www-data /var/www
|
||||
RUN chown -R www-data:www-data /var/www /var/www/.cache/puppeteer
|
||||
|
||||
# Create Nginx log directory
|
||||
RUN mkdir -p /var/log/nginx && chown -R www-data:www-data /var/log/nginx
|
||||
|
||||
Reference in New Issue
Block a user