-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile.dev
More file actions
61 lines (49 loc) · 2.21 KB
/
Copy pathDockerfile.dev
File metadata and controls
61 lines (49 loc) · 2.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# Cbox Development Template
# Includes Xdebug, SPX profiler, Node.js, and development tools
FROM ghcr.io/cboxdk/php-baseimages/php-fpm-nginx:8.4-bookworm
# Install development tools
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
autoconf \
nodejs \
npm \
git \
vim \
nano \
bash-completion \
&& rm -rf /var/lib/apt/lists/*
# Install Xdebug
RUN pecl install xdebug-3.4.0 && \
docker-php-ext-enable xdebug
# Configure Xdebug for step debugging
RUN echo "xdebug.mode=debug,develop,coverage" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini && \
echo "xdebug.client_host=host.docker.internal" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini && \
echo "xdebug.client_port=9003" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini && \
echo "xdebug.start_with_request=yes" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini && \
echo "xdebug.log=/tmp/xdebug.log" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
# Install SPX Profiler for performance profiling
RUN git clone https://github.com/NoiseByNorthwest/php-spx.git /tmp/php-spx && \
cd /tmp/php-spx && \
phpize && \
./configure && \
make && \
make install && \
docker-php-ext-enable spx && \
rm -rf /tmp/php-spx
# Configure SPX
RUN echo "spx.http_enabled=1" >> /usr/local/etc/php/conf.d/docker-php-ext-spx.ini && \
echo "spx.http_key=dev" >> /usr/local/etc/php/conf.d/docker-php-ext-spx.ini && \
echo "spx.http_ip_whitelist=*" >> /usr/local/etc/php/conf.d/docker-php-ext-spx.ini
# Development PHP settings
RUN echo "display_errors=On" >> /usr/local/etc/php/conf.d/99-dev.ini && \
echo "display_startup_errors=On" >> /usr/local/etc/php/conf.d/99-dev.ini && \
echo "error_reporting=E_ALL" >> /usr/local/etc/php/conf.d/99-dev.ini && \
echo "memory_limit=512M" >> /usr/local/etc/php/conf.d/99-dev.ini
# Install Composer globally (already included in base, but ensure latest)
RUN composer self-update
WORKDIR /var/www/html
# Expose Vite dev server port
EXPOSE 5173
# Expose SPX profiler UI port (accessible via ?SPX_KEY=dev&SPX_UI_URI=/)
# Access at: http://localhost/?SPX_KEY=dev&SPX_UI_URI=/
ENV XDEBUG_MODE=debug,develop,coverage