Compare commits
No commits in common. "7b14aa240ce2e086ed7976ffb4865b4e744997ff" and "b048aca93b4cb26db493f60d8c4029fdfb1a4db5" have entirely different histories.
7b14aa240c
...
b048aca93b
2 changed files with 23 additions and 30 deletions
|
|
@ -1,34 +1,26 @@
|
||||||
# Development Dockerfile with FrankenPHP
|
# Development Dockerfile with FrankenPHP
|
||||||
#
|
FROM dunglas/frankenphp:latest-php8.3-alpine
|
||||||
# Debian rather than Alpine so Playwright can run its own Chromium: it treats
|
|
||||||
# debian12 as an officially supported platform and has no musl build at all.
|
|
||||||
FROM dunglas/frankenphp:latest-php8.3-bookworm
|
|
||||||
|
|
||||||
# Install system dependencies + development tools. Node comes from NodeSource
|
# Install system dependencies + development tools
|
||||||
# rather than apt: bookworm ships Node 18, below what Vite 6 targets.
|
RUN apk add --no-cache \
|
||||||
RUN apt-get update \
|
nodejs \
|
||||||
&& apt-get install -y --no-install-recommends \
|
npm \
|
||||||
ca-certificates \
|
|
||||||
curl \
|
|
||||||
gnupg \
|
|
||||||
git \
|
git \
|
||||||
default-mysql-client \
|
mysql-client \
|
||||||
vim \
|
vim \
|
||||||
nano \
|
|
||||||
bash \
|
bash \
|
||||||
unzip \
|
nano \
|
||||||
&& curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \
|
chromium \
|
||||||
&& apt-get install -y --no-install-recommends nodejs \
|
nss \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
freetype \
|
||||||
|
harfbuzz \
|
||||||
|
ttf-freefont \
|
||||||
|
font-noto-emoji
|
||||||
|
|
||||||
# Playwright's browser lives outside the bind-mounted /app so a host node_modules
|
# Playwright ships glibc-linked browser builds that do not run on Alpine (musl),
|
||||||
# never shadows it; --with-deps pulls the shared libraries Chromium needs.
|
# so drive Alpine's own Chromium instead of downloading one.
|
||||||
ENV PLAYWRIGHT_BROWSERS_PATH=/opt/playwright
|
ENV PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1 \
|
||||||
COPY package.json package-lock.json /tmp/pw/
|
PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH=/usr/bin/chromium-browser
|
||||||
RUN cd /tmp/pw \
|
|
||||||
&& npm ci --no-audit --no-fund \
|
|
||||||
&& ./node_modules/.bin/playwright install --with-deps chromium \
|
|
||||||
&& rm -rf /tmp/pw
|
|
||||||
|
|
||||||
# Install PHP extensions including xdebug for development
|
# Install PHP extensions including xdebug for development
|
||||||
RUN install-php-extensions \
|
RUN install-php-extensions \
|
||||||
|
|
|
||||||
|
|
@ -41,8 +41,9 @@ services:
|
||||||
# Vite
|
# Vite
|
||||||
VITE_HOST: "0.0.0.0"
|
VITE_HOST: "0.0.0.0"
|
||||||
|
|
||||||
# Chromium is baked into the image outside /app; see Dockerfile.dev
|
# Playwright drives Alpine's system Chromium (musl); see Dockerfile.dev
|
||||||
PLAYWRIGHT_BROWSERS_PATH: "/opt/playwright"
|
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: "1"
|
||||||
|
PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH: "/usr/bin/chromium-browser"
|
||||||
volumes:
|
volumes:
|
||||||
# Mount entire project for hot reload with SELinux context
|
# Mount entire project for hot reload with SELinux context
|
||||||
- ../..:/app:Z
|
- ../..:/app:Z
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue