php:8.3.20-fpm-bullseye + nginx
FROM php:8.3.20-fpm-bullseye
RUN apt-get update && apt-get install -y libpq-dev
RUN docker-php-ext-install pdo pdo_pgsql
COPY . /app
WORKDIR /app
COPY ./docker/fpm/www.conf /usr/local/etc/php-fpm.d/www.conf
# karna php-fpm running pakai user www-data
RUN chown -R www-data:www-data /app/storage
CMD [ "php-fpm" ]
default.conf (nginx)
server {
listen 80;
server_name localhost;
access_log off;
root /app/public;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
fastcgi_pass php:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $document_root;
include fastcgi_params;
}
}
www.conf
[www]
access.log = /dev/null
user = www-data
group = www-data
listen = 0.0.0.0:9000
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3