This commit is contained in:
32
docker/nginx/nginx.conf
Normal file
32
docker/nginx/nginx.conf
Normal file
@ -0,0 +1,32 @@
|
||||
server {
|
||||
listen 80 default;
|
||||
|
||||
server_name localhost;
|
||||
|
||||
client_max_body_size 128M;
|
||||
|
||||
access_log /var/log/nginx/application.access.log;
|
||||
|
||||
root /var/www/html;
|
||||
|
||||
index index.php index.html;
|
||||
|
||||
location / {
|
||||
try_files $uri $uri/ /index.php?$args;
|
||||
}
|
||||
|
||||
location ~ ^.+.php {
|
||||
fastcgi_pass php-fpm:9000;
|
||||
fastcgi_split_path_info ^(.+?.php)(/.*)$;
|
||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||
fastcgi_param PHP_VALUE "error_log=/var/log/nginx/application_php_errors.log";
|
||||
fastcgi_buffers 16 16k;
|
||||
fastcgi_buffer_size 32k;
|
||||
fastcgi_index index.php;
|
||||
include fastcgi_params;
|
||||
}
|
||||
|
||||
location ~ /\.ht {
|
||||
deny all;
|
||||
}
|
||||
}
|
29
docker/php-fpm/Dockerfile
Normal file
29
docker/php-fpm/Dockerfile
Normal file
@ -0,0 +1,29 @@
|
||||
FROM php:8.4-fpm
|
||||
|
||||
WORKDIR "/var/www/html"
|
||||
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y --no-install-recommends \
|
||||
git \
|
||||
zip \
|
||||
unzip \
|
||||
&& curl -sSL https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions -o - | sh -s \
|
||||
curl gd intl ldap mbstring mysqli odbc pdo pdo_mysql soap sockets xml zip xdebug exif sqlite3 gettext bcmath csv event imap inotify redis \
|
||||
&& docker-php-ext-enable xdebug \
|
||||
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
|
||||
&& curl -sLS https://deb.nodesource.com/setup_18.x | bash - \
|
||||
&& apt-get install -y nodejs \
|
||||
&& npm install -g npm \
|
||||
&& apt-get install -q -y ssmtp mailutils \
|
||||
&& echo "hostname=localhost.localdomain" > /etc/ssmtp/ssmtp.conf \
|
||||
&& echo "root=root@example.org" >> /etc/ssmtp/ssmtp.conf \
|
||||
&& echo "mailhub=mailpit:1025" >> /etc/ssmtp/ssmtp.conf \
|
||||
&& echo "sendmail_path=/usr/sbin/ssmtp -t" >> /usr/local/etc/php/conf.d/php-sendmail.ini \
|
||||
&& echo "alias ll=\"ls -al\"" >> /root/.bashrc \
|
||||
&& echo "export XDEBUG_TRIGGER=1" >> /root/.bashrc \
|
||||
&& echo "export PHP_IDE_CONFIG=\"serverName=host.docker.internal\"" >> /root/.bashrc \
|
||||
&& apt-get -y autoremove \
|
||||
&& apt-get clean \
|
||||
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
||||
|
||||
CMD ["bash", "docker/php-fpm/start-container"]
|
17
docker/php-fpm/php-ini-overrides.ini
Normal file
17
docker/php-fpm/php-ini-overrides.ini
Normal file
@ -0,0 +1,17 @@
|
||||
; Allow file uploads for up to 100MB
|
||||
|
||||
upload_max_filesize = 100M
|
||||
|
||||
; Allow processing up to 100MB
|
||||
|
||||
post_max_size = 100M
|
||||
|
||||
; Add support for XDebug connections
|
||||
|
||||
xdebug.mode = debug
|
||||
xdebug.client_host = host.docker.internal
|
||||
xdebug.log_level = 0
|
||||
|
||||
; Hide the deprecation messages by default
|
||||
|
||||
error_reporting = E_ALL & ~E_DEPRECATED
|
19
docker/php-fpm/start-container
Normal file
19
docker/php-fpm/start-container
Normal file
@ -0,0 +1,19 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo "➜ Ignore Permission Changes"
|
||||
git config core.fileMode false
|
||||
|
||||
echo "➜ Set Correct Permissions"
|
||||
chmod -R 777 storage
|
||||
|
||||
echo "➜ Install Composer Dependencies"
|
||||
[[ -d vendor ]] || composer install
|
||||
|
||||
echo "➜ Install NPM Dependencies"
|
||||
[[ -d node_modules ]] || npm install
|
||||
|
||||
echo "➜ Build Project Assets"
|
||||
[[ -d assets/vendor ]] || npx gulp compile
|
||||
|
||||
echo "➜ Listen To Incoming Requests"
|
||||
php-fpm
|
Reference in New Issue
Block a user