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